Monday 15 July 2019

Duplicate key error in EDOPROCSPINTDET during NetWeaver upgrade

Tags

ISSUE:

While performing an upgrade using the Software Update Manager (SUM) there is an error in the phase MAIN_NEWBAS/TABIM_UPG or in MAIN_SHDIMP/SUBMOD_SHDIMP/SHADOW_IMPORT_INC

The error message is with regard to duplicate key error during insert in table EDOPROCSPINTDET

In some cases, the insert fails for table EDOPROCSPINTDET~ in phase SHADOW_IMPORT_INC.
You will see the error similar to: Checks after phase MAIN_SHDIMP/SUBMOD_SHDIMP/SHADOW_IMPORT_INC were negative!

*ERROR* : Detected the following errors:
# /usr/sap//SUM/abap/log/SAPKH61712.
: 4 ETW000 0 d / 0 i / 0 u / 3 = 100% ucf EDOPROCSPINTDET~ 
4ETW000 3 entries for EDOPROCSPINTDET~ merged (___SVNCINV 0001REQ_SENDSVN_CINV SD_INVOICE); as part of view EDOPROCSPINTDETV.
4 ETW000 client 000: 1 4 ETW000 client 001: 1
4 ETW000 client 910: 1 2EETW000 1 duplicate key error during insert into table EDOPROCSPINTDET~ occured 
4 ETW000 0 d / 0 i / 0 u / 0 = 0% ucf EDOPROCSPINTDET~
4 ETW000 0 entries for EDOPROCSPINTDET~ merged (___SVNCINV 0001SENDEDOCSVN_CINV FI_INVOICE); as part of view EDOPROCSPINTDETV.
2EETW000 1 duplicate key error during insert into table EDOPROCSPINTDET~ occured

Solution:

During upgrade:

1. Directly delete the index named EDOPROCSPINTDET~00 on the database for the shadow    table  EDOPROCSPINTDET~.
2. This issue is database engine independent.
3. Contact your database administrator for the database engine specific SQL commands. In most of the databases, the command will look like this: drop index ""."EDOPROCSPINTDET~00";.
If this syntax gives error, adapt it according to the database.
When it is possible on SAP side, you could use function module DB_DROP_INDEX in test mode for index named EDOPROCSPINTDET~001.
The major concern here is to just get rid of the index but without triggering any Dictionary activation or similar SAP-side activity - thus intending to limit interference with upgrade processing.
4. Repeat the phase in SUM.

Post-upgrade:

Check the indexes for the table EDOPROCSPINTDET in SE11.

If the index 001 is existing there, delete the index.

Save the table and activate.


EmoticonEmoticon

Note: only a member of this blog may post a comment.