Skip to main content

Error Cannot create a record in Purchase orders in axapta 2012

If you are facing this troubleshooting in ax 2012

You may face  the below error while creating new Purchase order in AX 2012.

If This error is coming in only one company and you are not able to create PO in same company.
...

Cannot create a record in Purchase orders (PurchTable). Purchase order: COM-0000XX, COM-00XXXX.

The record already exists.


 Microsoft.Dynamics.Ax.Xpp.DuplicateKeyException: Exception of type 'Microsoft.Dynamics.Ax.Xpp.DuplicateKeyException' was thrown.  
 at Microsoft.Dynamics.Ax.MSIL.Interop.throwException(Int32 ExceptionValue)  
 at Microsoft.Dynamics.Ax.MSIL.cqlCursorIL.insert(IntPtr table)  
 at Microsoft.Dynamics.Ax.Xpp.Common.doInsert()  
 at Dynamics.Ax.Application.PurchTableType.Insert(Boolean _interCompanySilent, Date _accountingDate, Boolean , Boolean ) in PurchTableType.insert.xpp:line 21  
 at Dynamics.Ax.Application.PurchTable.Insert(Boolean _interCompanySilent, Date _accountingDate, Boolean , Boolean ) in PurchTable.insert.xpp:line 7  
 at Dynamics.Ax.Application.PurchTable.@Insert(Boolean _interCompanySilent, Boolean )  
 at Dynamics.Ax.Application.PurchTable.Insert(Boolean _interCompanySilent)  
 at Dynamics.Ax.Application.PurchCreateOrderForm.writeOnServer(Object[] _params) in PurchCreateOrderForm.writeOnServer.xpp:line 25  
 at PurchCreateOrderForm::writeOnServer(Object[] )  
 at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)  
 at Dynamics.Ax.Application.SysDictClass.invokeStaticMethod(Object[] _params) in SysDictClass.invokeStaticMethod.xpp:line 26  
 at SysDictClass::invokeStaticMethod(Object[] )  
 at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)  
 at Microsoft.Dynamics.Ax.Xpp.PredefinedFunctions.runAsInvoke(String className, String staticMethodName, Object[] parms, Object[]& exportInfolog)  


Hints:

1. Try changed number sequence format and also try another code to create PO check whether new code working or not. Check There isn't any duplicate record in tables.

2. It looks to me as a duplicate record error in PurchTable.
You do not specify if the application you are working with has got any code customizations.
One thing that could be wrong is that some code customization is doing something wrong.
Also you write
that there are no duplicates in the table.
How about a purchTable record WITH NO (blank) PurchId ?
If such a record is present delete that, and then attempt to find the source of the record being created with no primary key value (PurchId).


3.Your need to examine the customizations in more detail. Unless the web services you mention are directly connected to the process of manually creating a PO as a user I do not think the error has anything to do with web services.
But obviously the error occurs when CIL-code is running so it is something that happens server side.

Popular posts from this blog

How to set up parent project in project accounting in ax 2012

create simple project and then go to the project hierarchy fast tab and there you must define sub-project ID format "-#" and then your sub-project will be enabled. For resource assigning in Project first you need to configure the HR module, in that you need to maintain the calendar for those employees and then you need to define the cost of that particular employee (for expense) and for Revenue you need to define the sales price of that particular employee. In the project accounting module you need to mention the calendar in scheduling fast tab and then you need to define WBS, in WBS activity you can be able to assign resources.

ERD Account Payable and Account Receivable in ax 2012