ME_PROCESS_PO_CUST POST/CLOSE, XM06 EXIT_SAPMM06E_013, & ME_UPDATE_DOC
If I have to coordinate cutom data updates with SAP updates, I always want to do so from a BAdI method that fires from within an SAP update task, not a dialog task. That way, I catch a ride on any SAP rollback during a blow-off of its own update and I so long as I do my updates in a function called in update task, everything coordinates as nicely as is possible.
But the POST method of the ME_PROCESS_PO_CUST BAdI actually fires BEFORE XM06 EXIT_SAPMM06E_013 and before ME_UPDATE_DOCUMENT is actually called in the update task. That means that the POST method of the BAdI is firing in the dialog task, NOT the update task.
To get what I want, I'm therefore using the CLOSE method of the BAdI (and yes, I have checked that this is fired even during BAPI PO create/chages.)
But again, WTF ????
Why EVER would SAP make the POST method of the BAdI fire during the dialog task instead of the update task?
And if this is where SAP chooses to fire it, what's the advantage over firing custom updates out of this POST method, rather than out of XM06U44 (the include for EXIT_SAPMM06E_013 ????
PLEASE - someone tell me what I ain't seeing here, because it looks like a colossal blunder to me ...