Recently client had performed the data copying from PD into PY, but after that they are facing this error of commit failed across system.
Example 1:
A. Commit Fail error in running P4113 - Inventory Transfer
B. In running P4310 - Purchase Order Entry error appears in inserting data into F43199 - Purchase Order Ledger
C. In running P4312 - Purchase Order Receipt leaves error in inserting data into F4111 - Cardex
1252/2996 Wed Jan 21 08:08:09 2009 ODBC_U1.C1124
ODB0000175 - Columns not in cache in Table F41021WF
Column LWUKID
Database Business Data - CRP
1252/2996 Wed Jan 21 08:08:09 2009 JDBODBC.C1515
ODB0000055 - Describe table failed for table F41021WF
1252/2996 Wed Jan 21 08:08:09 2009 jdb_exet.c5224
JDB3400009 - Failed to perform Insert for F41021WF
1252/2996 Wed Jan 21 08:08:09 2009 JDBODBC.C2148
ODB0000183 - SQLExecute failed
1252/2996 Wed Jan 21 08:08:09 2009 JDBODBC.C2148
[IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0803 - Duplicate key value specified. - SQLSTATE: 23000
Example 2:
What might be the cause of this issue?
The cause of this type of Duplicated Key error is that primary key Unique Key ID (Internal) - UKID is not updated properly in copying business data.
So in copying Business Data, copy Control tables along with. For this example, copy control tables (F0002/F00021/F00022) from PRODCTL to CRPCTL/UACTL.
For both examples, the primary key UKID is defined at F00022 - Unique Key File (which can be accessed through P00022) where object name is F41021 Transaction Workfile (F41021WF) and P.O. Detail Ledger File (F43199).
Alternatively, get max value through query tool as below,
1. Get max value from F43199 (e.g., sql> select max(olukid) from crpdta.f43199
2. Set F00022.UKUKID = (max + 1) for the object F43199
At once data for Business Data and Controls Tables are copied rebounce JDE Service to refresh Instances in your logic server.