cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC DB2 UPDATE_INSERT Delay

Former Member
0 Kudos

Hello everybody,

I have the following asynchronous scenario

SAP ECC IDOC -> SAP PI 7.11 - > JDBC DB2 Database

now, I receive ARTMAS Idoc's from ECC and do mapping to create XML Query statements, now mapping is working correclty and UPDATE_INSERT statements also, the problem is that the Adapter Engine sends the statements, the database recieves them and process them in milliseconds each, and when the database finished ,PI keeps waiting for something for 2 minutes and 6 seconds each message, I already did the following:

1.- Tried Idoc packaging in development in Mapping to send as much statements as I can considering bandwith, but the problem remains.

2.- I tried sending only one stamente and takes the same time.

3.- I already disabled in SAP PI the acknowledge for the Idocs and times are the same.

4.- I already tried the option "Disconnect from database after each message" with this checkbox activated and deactivated, and the times still the same.

5.- Already tried the Isolation level with all different options and times still the same.

6.- Pool waiting advanced parameter not defined so it should take the default that is 5 seconds, but I'm not sure that parameter can control that, do you think?

The readl problem after monitoring both PI and the database is that the database finishes really fast but PI still waits for something I don't know what for more than two minutes for each message, this creates queueing of messages in the Adapter Engine for this interface, cause each message takes this time.

I thank in advance your attention and recomendations.

Regards,

Julio

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi Rodrigo, thanks for your answer,

the scenario is a asynchronoues scenario, so no response from databse is required even if it delivers it by default, but anywway I'll try to create a synchronous scenario just to validate if requesting an answer to the databse forces is to come back to the adapter engine as son as the updates or inserts are processed.

Regards,

Julio

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

action=UPDATE_INSERT

The statement has the same format as for the UPDATE action. Initially, the same action is executed as for UPDATE. If no update to the database table can be made for this action (the condition does not apply to any table entry), values of the table described in the <access> element are inserted in accordance with the description of the action INSERT. <key> elements are ignored in this case.

The response document has the following format; one of the two values is 0 because either an UPDATE or an INSERT action is always executed:

<update_count>count</update_count>

<insert_count>count</insert_count>

is a syncscenario

Edited by: Rodrigo Alejandro Pertierra on Sep 24, 2010 2:32 PM

Former Member
0 Kudos

Hi PI Expert, thanks for your answer,

indexing is already done.

Regards,

Julio

Former Member
0 Kudos

Hi PI Expert, thanks for your answer,

indexing is already done.

Regards,

Julio

Former Member
0 Kudos

Hi Netweaver Expert, thanks for your answer,

I asked our Basis guys and according to them as this is an DB2 Database running on AS400 the db statistics run automatically.

The delay is in AE.

Regards,

Julio

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

PI should be waiting back the response with the count of recordsinserted or updated. and this delay corresponde with the time that DB take to insert or update the fields i think

see this. i took it from help sap.

did you configured the response mapping?

action=UPDATE_INSERT

The statement has the same format as for the UPDATE action. Initially, the same action is executed as for UPDATE. If no update to the database table can be made for this action (the condition does not apply to any table entry), values of the table described in the <access> element are inserted in accordance with the description of the action INSERT. <key> elements are ignored in this case.

The response document has the following format; one of the two values is always 0 because either an UPDATE or an INSERT action is always executed:

<update_count>count</update_count>

<insert_count>count</insert_count>

Former Member
0 Kudos

Check if indexing has been done on the DB table.

Former Member
0 Kudos

is this behaviour with IDOC scenario or with all interfaces,

first run DBSTATISTICS on PI it will resolve the issue,

if not give analytics that where it is taking time, AE,IE ?