cancel
Showing results for 
Search instead for 
Did you mean: 

com.sap.engine.interfaces.messaging.api.exception.DuplicateMessageException

Former Member
0 Kudos

Hi All,

PI 7.1 is sending the following error:

2009-12-10 15:55:00 Information Trying to put the message into the send queue.

2009-12-10 15:55:00 Error Putting message into send queue failed, due to: com.sap.engine.interfaces.messaging.api.exception.DuplicateMessageException: Message Id ee6b5d0d-25a6-4aec-0fec-f1099b5335ce(OUTBOUND) already exists in duplicate check table: com.sap.sql.DuplicateKeyException: DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;SAPPIDDB.BC_MSG_DUP_CHECK.

2009-12-10 15:55:00 Error Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.DuplicateMessageException: Message Id ee6b5d0d-25a6-4aec-0fec-f1099b5335ce(OUTBOUND) already exists in duplicate check table: com.sap.sql.DuplicateKeyException: DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;SAPPIDDB.BC_MSG_DUP_CHECK

2009-12-10 15:55:00 Error MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.DuplicateMessageException: Message Id ee6b5d0d-25a6-4aec-0fec-f1099b5335ce(OUTBOUND) already exists in duplicate check table: com.sap.sql.DuplicateKeyException: DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;SAPPIDDB.BC_MSG_DUP_CHECK

I didn't find anything into OSS... =( Does anybody can help me?

I really appreciate your help

Regards,

Gilberto Martínez

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

whats the solution implemented?

Former Member
0 Kudos

You need to create UNIQUE INDEX for the table with 'IGNORE_DUP_KEY' option. For instance, if the table name is TEST and its primary key is id, then following statement may be executed using Query analyzer tool. CREATE UNIQUE INDEX TEST_INDEX ON TEST(id) WITH IGNORE_DUP_KEY After executing the above command, please re-run the scenario.

Former Member
0 Kudos

May be the following text can help

The DuplicateMessageException is thrown if one and the same message is to be processed a second time. Duplicate message detection is based on the message ID. This exception is thrown if either the application tries to send the same message twice or the same message is receive a second time.

Former Member
0 Kudos

Marco,

The problem is that every time that we try to execute the interface again with a new set of data. It is as if the Id for the new message already existed into the data base of PI, and the duplicate exception is raised.

I believe that I have 2 options:

1.- move forward the counter

2.- delete the Id from the data base

I don't know if it is possible to do that

GM

Former Member
0 Kudos

Hi, can you explain a little more your scenario, please?

Regards.

MS.

Former Member
0 Kudos

Hi,

The scenario is very simple. I'm reading by a "select instruction" records from a oracle data base, after the info is read and the mapping process is done, PI launch an Abap Proxy to deliver the info into a SAP application. The application is F&R (Forecast & Replenishment).

The error is raised after the adapter read the information from the oracle data base

Thank you

GM

Former Member
0 Kudos

Can you execute the SQL, alone on your Data Base using TOAD or other tool, we need to discard the SQL consistency.

Regards

MS.

Former Member
0 Kudos

Hi Marco,

Yes, I can execute SQL with TOAD without any kind of problems

Regards,

GM

Former Member