How to reprocess the Bdocs with “object locked” errors
Normally, when multiple users update a same object at the same time, there will be such kinds of Bdoc errors, for instance, “Business Partner XXX is currently being processed by XXX” or “Object requested is currently locked by user XXX”. Since the object is being edit and already locked by the current queue, other queues try to edit the same object fails and result in lock error in the Bdoc.
In order to resolve these kind of Bdoc errors (caused by locked object), it is possible to schedule a job to reprocess them in bulk via T-code SMW20. The report RSMWAPP01 is also the same. You could schedule this report to run periodically in the background. Using this report, you can specify Bdocs based on Bdoc type and Bdoc state as the input parameters.
In addition, there are some other middleware parameters can help resolving this kind of error.
You can maintain the following parameters in table SMOFPARSFA via T-code SM30 for cases where the Bdoc is only temporarily blocked.
1. As mentioned in note 785046:
Parameter Name: WAIT_FOR_ENQUEUE
Parameter Value: X
Parameter Value 2: <a whole number indicating the WAIT time in seconds>
2. As mentioned in note 722854:
Parameter Name: WAIT FOR UPDATE
Parameter Name 2: <R3 adapter object>
Parameter Value: X
3. As mentioned in note 705650:
Parameter Name: UPDATE_QUEUES_RESTART
Parameter Name 2: <queue name>
Parameter Value: < seconds for queue time until the restart>
Parameter Value 2: <number of restart attempts>
Comment: RETRY TO PROCESS TEMPOARY LOCKED BDOCS-MSG
In “parameter name 2” field, you can specify the queue name and the “*” can be used in the queue name.
After the parameters added, you can clear the current queues and retest with newly created queues.
Thanks for this Julin
This document has been changed to wiki page:
How to reprocess the Bdocs with “object locked” errors - CRM - SCN Wiki