Solution : https://service.sap.com/sap/support/notes/394058 (SAP Service marketplace login required)
Summary :
SAP Note clarifies that BAPIs like BAPI_REQUISITION_DELETE, BAPI_REQUISITION_CREATE, and BAPI_REQUISITION_CHANGE should not trigger a COMMIT WORK as per general design guidelines, yet they do. This cannot be altered due to compatibility issues. To manage transactions properly, users have two options: either comment out calls to TRANSACTION_BEGIN, TRANSACTION_ABORT, and TRANSACTION_END, essentially customizing the transaction control, or manage transaction controls externally before and after BAPIs execution. Proper handling ensures data integrity by completing BAPI operations with a COMMIT WORK only when documents are correct, using the illustrated approach of manual transaction controls.
Key words :
call function 'transaction_begin' importing transaction_id = transaction_id exceptions, call function 'transaction_end' importing transaction_id = transaction_id exceptions, calling function modules transaction_begin, function modules transaction_begin, transaction_begin function module, call function 'bapi_requisition_xxx', terms function module, purchase requisition bapis, upward compability reasons, purchase requisition object
Related Notes :
967440 | BAPI_REQUISITION_RELEASE(_GEN) with COMMIT WORK |
804039 | No data update in MEMASSRQ after you implement Note 394058 |