I have some practical knowledge of BDocs, but this one has me stumped.
We have the following CRM Grants scenario:
1. In CRM, a Claim X (on Agreement Y) is approved
2. This approval causes a Claim X BDoc to be sent to ERP, to post a billing doc
3. This approval also causes an Agreement Y BDoc to be sent to ERP a few seconds later, for an unknown reason.
4. The Claim X BDoc processes without errors
5. The Agreement Y BDoc is also green, but the returning validation BDoc says that the 'object is locked' (by the BDoc processing user in ERP)
My conclusion is that both Claim and the Agreement are trying to lock the same object in ERP (ie the contract object that corresponds to the Agreement). The Claim BDoc gets there first, so it wins the race.
My questions: How to avoid this? Is this a common issue? If the approval of a claim causes two BDocs to be generated (for the Claim and Agreement), wouldn't there always be a locking issue on the ERP side?
Any hints or suggestions would be greatly appreciated.