2018 Jun 18 2:58 PM
Hello Experts,
When there are simultaneous IDOC processing for IDOC_INPUT_MBGMCR to post GR based on Purchase Order, the Reservation Number gets locked. This causes other IDOCs to fail to post GR. All the materials used in the Purchase Order for posting GR belong to one Production Order and hence will have same Reservation Number.
IDOC Data Sample: While the IDOC1 is still processing, IDOC2 and IDOC3 will fail.
Below is a screenshot from SM12 for one IDOC.
I thought of using DO * TIMES and Check for RKPF Lock using ENQUEUE_READ. However, this might not work in all cases.
Only other way that we can overcome this is via Serialization. I have gone through the SAP Note "752194 - Serialization of IDoc processing". However, couldn't understand how to achieve this.
Please let me know your thoughts.
Thanks,
Kiran Kerudi
2018 Jun 18 3:52 PM
2018 Jun 19 3:28 AM
Hi Raymond, Thanks for confirming.
But, how can we avoid this locking issue in code?
Kiran
2018 Jun 19 6:18 AM
Why are the 3 goods receipt for 3 different POs are done simultaneously?
Is there anything which collects the Idocs before they are processed?
If they arrive by chance at the same time and 3 different users would enter it manually in MIGO at the same time then I expect you will have exact the same trouble.
2018 Jun 19 7:34 AM
Hi Jürgen,
EI layer collects all the POs (Based on Delivery Note Scan) and triggers IDOC per PO simultaneously. The same issue persists whilst MIGO posting also.
I think we need to change the setting from 'Trigger Immediately' to 'Trigger by Background Program' and schedule RBDAPP01 every 10 mins.
What would you suggest?
Kiran
2018 Jun 19 8:48 AM
2018 Jul 06 8:07 AM
This issue was resolved by scheduling RBDAPP01 in background every 10 mins and this picks IDOCs and post them in Serialized Manner.
If there is any better approach please share the same.