cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC Sender - Strange problem

Former Member
0 Kudos

Hi All

We are having an Oracle to SAP R/3 interface.

The jdbc sender adapter polls for records from the Orcale database the interface sends each row in the resultset as IDOC to the SAP R/3 via the IDOC adapter.

Our Oracle database in the sender side is having heavy load and quite an exceeding overhead, as it is accessed by numerous other transactions and also due to the number of records. So executing a SELECTquery takes enough time .

We are doing a SELECT query in the jdbc sender adapter as :

' Select * from tablename where processed = "N". ' and in the update column we have an update statement to update all the processd ones like:

' update tablename Set processed = "Y" where processed = "N" '

But right now even if there are certain records that are not picked up , l an update on those IDOCS happen . The most interesting thing is that when we checked for logs in SXMB_MONI or message monitoring for such messages(only the UPDATE) there aren't any .

So the reason which we presume for the UPDATE to take place (not the SELECT) and for it to not get logged is that ; as the database is quite heavy, after several attempts to do a SELECT query the query might have failed (timed out) and then the UPDATE was triggered thus updating unwatned records.

Is there any way to increase the time out of the jdbc sender adapter?

Or does it happen this way, even if the select query gets timed out will an update query get triggered . Or is there a way to say that the UPDATE should get executed only if the SELECT executes properly.

Any sort of suggestion or info is highly appreciated.

Thanks & Regards,

Rahul

Accepted Solutions (0)

Answers (3)

Answers (3)

GabrielSagaya
Active Contributor
0 Kudos

please check the polling interval!!!!!!!!!

give it as 10 sec

Former Member
0 Kudos

What difference does it make if i give 10 secs in the polling .

When ever the 'Select' query fails to give an output and gets 'timed out ' the 'Update' query gets triggered and it updates the unselected records.

What we are doing now is that , we have given a retry interval for 5 secs , so that even when the 'Select' query fails it retries after 5 secs again .

But again the problem is , how many times will the adapter retry . If the 'Select' query fails again and again will the adapter retry each time after the ' retry interval ' specified .

How does the 'retry interval' in the adapter work ?

GabrielSagaya
Active Contributor
0 Kudos

Retry Interval (secs) : Specify the number of seconds that the adapter is to wait before a file processed with errors is processed again.

If the value is set to null, then the adapter is canceled if an error occurs, even if a value greater than null is specified for Poll Interval (secs).

for numberRetries parameter check : Visual Admin->server->services-> SAP XI Adapter: XI

Retry interval has already been set as

xiadapter.inbound.numberRetries.default -- 3

xiadapter.outbound.retryInterval.default -- 300000

in visual admin of both PCK and XI.

and here change/add the value

Former Member
0 Kudos

So if the Retry Interval is set as '0' then the number of retiries = 3 ( by default ) is not valid?

Former Member
0 Kudos

When i was going through a SAP note i found that there is a parameter where i can change the time out property of the adapter. But i also found that these parameters hold true only for synchronous messaging.

Is there any other property value which tells the sender JDBC adapter to time out after a specified time interval if it fails to return a resultset?

Former Member
0 Kudos

how about SELECT FOR UPDATE

Former Member
0 Kudos

It won't work. I was wondering if i can increase the time out property of the jdbc sender adapter .

Former Member
0 Kudos

Hi,

JDBC to JDBC

https://wiki.sdn.sap.com/wiki/display/XI/JDBCTOJDBC

Regards