cancel
Showing results for 
Search instead for 
Did you mean: 

Idoc to XI to JDBC (oracle) - duplicated inserts

jacob_ellsworth
Explorer
0 Kudos

All,

I have a scenario, in which an IDoc is passed to XI and then the fields are mapped and passed to a JDBC receiver (Oracle). The data is all inserted corectly on the first call, but then the scenario goes into a restart status and insert the data 3 more times, every 5 finutes (this coincides with the retry settings on the communication channel). The problem is I don't understand why the scenario errors out.

In the communication channel monitoring, everything is a success until I see this error:

Success - MP: processing local module localejbs/com.sap.aii.messaging.adapter.ModuleXMB2DB

Error - MP: exception caught with cause com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of com.sap.aii.messaging.adapter.ModuleXMB2DB.

Error - Exception caught by adapter framework: Object not found in lookup of com.sap.aii.messaging.adapter.ModuleXMB2DB.

Error - Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Object not found in lookup of com.sap.aii.messaging.adapter.ModuleXMB2DB.: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of com.sap.aii.messaging.adapter.ModuleXMB2DB..

The only other thing I notice is in SXMB_MONI, where things look successful, but there are 4 lines for Acknowledgement Not Possible (1 line is the original run, the other 3 are the retries).

Everywhere but the above erorrs makes it look like everything is successfully handled. The IDoc is mapped successfully, and the Oracle table is inserted to successfully (everytime the scenario retries).

Does anyone have any suggestions as to what may be the problem or what I can look at to fix this? I have reviewed numerous blogs, SAP notes, SAP help, etc. Points will gladly be rewarded.

jake

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Strange strange issue

Which SP are you on?

1. Is there some adapter module in the module tab of the JDBC adapter?

2. Is it a synch or an asynh call?

Regards

Bhavesh

jacob_ellsworth
Explorer
0 Kudos

We are XI 3.0 SP 19

This scenario is an Asynchronous scenario.

The only adapter modules being used are(in this order):

1 CallSapAdapter Local Enterprise Bean 0

2 com.sap.aii.messaging.adapter.ModuleXMB2DB Local Enterprise Bean 1

If any other clarifications are needed, please let me know.

Thanks for your help on this

Jake

prateek
Active Contributor
0 Kudos

Recheck the configuration parameters of the JDBC adapter

http://help.sap.com/saphelp_nw2004s/helpdata/en/b0/676b3c255b1475e10000000a114084/content.htm

Provide ur details if possible.

Regards,

Prateek

jacob_ellsworth
Explorer
0 Kudos

Are you talking about the configuration in the ID or are you talking about the configuration in the Visual Admin?

Former Member
0 Kudos

Hi Jacob !

Are you using any special mode in the JDBC Adapter (XMB2DB, XMB2DB_XML or XMB2DB_RAWSQL) ?

Inside the exactly-once handing, in conflict resolution, do you have REDO ? if yes, try to set it to ERROR and see if the adapter triggers an error that give us a clue of the problem.

Have you tried using the log sql statement as stated in

to check if the SQL statement has something strange?

Have you tried with the IDX_NOALE report to supress IDOC acks? See SAP Note Number: 777175

Regards,

Matias.

Message was edited by:

Matias Denker

bhavesh_kantilal
Active Contributor
0 Kudos

Why do you need the module <b>com.sap.aii.messaging.adapter.ModuleXMB2DB Local Enterprise Bean 1</b>

It is this module that is causing the issue. Does it do anything special?

Also this module is after the SAP shipped module which is rather strange, custom modules are always before the standard modules.

Regards

Bhavesh

jacob_ellsworth
Explorer
0 Kudos

Ok, I have tried some more things and no luck so far.

My JDBC receiver has these settings and I also tried the others mentioned by Matias. I have Message Protocol of XML SQL Format. I have tried the XML Schema Interpreter with Key Tags Mandatory as on and off. For Exactly Once Handling I have tried with Persistence = Local and Conflict Resolution as both Redo and Error. Everything else left as the defaults.

I tried moving the ModuleXMB2DB to first in the list instead of second, and then nothing gets to Oracle. I have used this before in a test scenario as the second piece and that scenario was fine (as far as I know). I also have IDX_NOALE turned on, and the scenario still tried itself the 3 times, but didn't leave any message about Acknowledgements.

When I tried with the logSQLstatement = True, I didn't find any extra verbage in the communication channel monitoring. Besides the already mentioned ModuleXM2DB error, I also see this

Error Category = XI_J2EE_ADAPTER_ENGINE

Error Code = GENERAL_ERROR

but no other info about an error.

Any thoughts on this?

Jake

Former Member
0 Kudos

Hi Jacob !

What I meant, was to turn off ack via IDX_NOALE report (or via IDXNOALE table). To see if the ack is really the problem.

Try to disable the acks and try again to see if it still retries 3 times.

Regards,

Matias

Answers (1)

Answers (1)

jacob_ellsworth
Explorer
0 Kudos

I figured out the answer.

I just removed the ModuleXMB2DB. It stopped erroring out, and thus the scenario quit retrying itself. It seems like I had seen this module mentioned somewhere before I did this scenario as being needed, but it must have been for a special situation.

Thanks for everyone's help.

Jake