Some vexation power asserted me to ask this question in the forum, for I am now stuck! 😔
I am doing Process Order confirmation (final confirmation) using the following BAPIs in my custom inbound IDOC: -
BAPI_PROCORDCONF_GET_HDR_PROP : Proposes data for final order confirmation
BAPI_PROCORDCONF_CREATE_HDR: Does the final order confirmation
but when I am committing the confirmation, I am getting an error message - BM 312
*** Commit the confirmation
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
wait = 'X'.
IF sy-msgty EQ 'E' OR
sy-msgty EQ 'A'.
Strange enough, this error BM 312 is coming sometimes only.
A pattern noticed: Mostly it occurs only after first execution of IDOC to confirm the process order. After this error if i reprocess, status is OK.
So what did I try ?
1) I tried putting sufficient WAIT
2) Debugged the V2 updates
3) Searched for SAP notes
4) Put an extra commit too (stupid though, i understand).
5) Checked in T006 table and tcode CUNI for measurement units. Believe me, everything is just fine 😭
All attempts in vain !!! 😔
Somewhere in some SAP note, I read that if the confirmation is not properly saved then it does happen. But in my case, I am doing the simple Final Order Confirmation without doing the the automatic Goods Movements.
I have doing goods movement separately for other reasons and while doing so removing extra entries from COGI as well.
What bewilders me is: - What is going wrong and how do I check it ? (Ironically, when I debug, mostly it is working fine 😔).
If someone has had this weird error before, please suggest some way.
Thanks so much in advance!