cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP to IDocs Scenario...IDocs getting locked at SAP

phanikumar_akella
Participant
0 Kudos

Dear Experts

We are sending measuring point details to SAP system from 3rd Party. Scenario is working fine for small amount of load. If more number of messages triggered (say 100) IDocs at SAP are getting stuck u201CMeasPoint 10000211 currently locked -> document processing not possibleu201D.

I tried configuring Sender SOAP adapter as EOIO and specified the Queue name as Test Queue. Still IDocs are getting stuck at SAP ECC. Now one more issues messages are getting stuck in queue SMQ2. We can control the flow by using BPM in PI. I donu2019t want to use BPM for this. Can we control this from SAP or using Trigger by background program in Partner profiles?

Please suggest. Thank You.

SAP Error Details:-MeasPoint 10000211 currently locked -> document processing not possible

Message no. IR007

Diagnosis

The object you want to access is locked, either

u2022 By yourself in another session, or

u2022 By another user

u2022 or by the system, which is still processing data for this object

System Response

The system cannot access the object.

Procedure

u2022 If you are locking the object yourself in another session, exit processing in the other session and continue processing in this session.

u2022 If the object is locked by another user, you can

o contact the other user

o wait until the other user has finished processing the object

u2022 If the object is locked because the system is still processing its data, wait a while, and then call up the object again.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

1. Create a new process code "Z" and check the enque state of the objects before passing back to standard processing modules. Id also change to process immediate as part of this change

or

2. I think assuming RBDAPP01 is still used you may be able to make use of an exit there to do the same thing .. check and wait before processing.

or

3. In message mapping place a UDF that has some kind of wait timer in it (this is random and wont always work cause you wont know when the lock is dropped) but should work.

or

4. Dont use IDOC's create an abap proxy to do the work as a sync process. Processing will need to finish in the proxy and return to the PI stack before the next message is processed in the EOIO queue - this would be the prefered option as far as im concerned, it guarenteed to work and as long as your proxy sticks to the standard rouintes it should be upgrade friendly.

or

5. Use a proxy as above but dont do any processing, just use the proxy to build the IDOC and post it - then check the status of the locks until you are ready then rinse and repeat ..... but like scratching your right ear with your left hand .. but it will work.

Former Member
0 Kudos

Hi Phani,

One trick you can try here is to spilt this into two interface from ( SOAP to IDoc ) to (SOAP to File ) and then ( File to IDoc)

1) for each message from 3rd party create a intermediate file. (SOAP to File)

2) then using a (File to IDoc) scenario and by keeping some appropriate polling interval for the Sender file channel you can try controlling number of IDocs created at a time.

hope this helps.

Regards,

Aravind