on 05-30-2008 6:39 AM
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
please check the polling interval!!!!!!!!!
give it as 10 sec
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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 ?
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
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?
how about SELECT FOR UPDATE
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
24 | |
11 | |
9 | |
7 | |
5 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.