Сергей Королев написал:
Делайте batch-input в режиме UPDATE 'L', тогда обновление (и сброс блокировок) будет происходить в той же задаче, и после выхода из транзакции у вас гарантированно данные будут уже в базе, а блокировки будут сняты.
Очень спорная техника. Особенно для использования в чужих больших транзакциях. Вот что пишет хелп:
This statement specifies that the high-priority update function modules - registered during the current SAP LUW using CALL FUNCTION ... IN UPDATE TASK - are registered in the ABAP memory instead of the VBLOG database table. In addition, it specifies that the current work process and not the update work process run these modules during the current database LUW, when the COMMIT WORK statement is executed. This statement has no effect on low-priority update function modules.
Я бы выделил здесь два "скользких" момента:
1. This statement has no effect on low-priority update function modules.
2. ... and not the update work process run these modules during the
current database LUW, when the COMMIT WORK statement is executed.
Так что, видимо, не все модули обновления, вызываемые в транзакции, могут быть запущены в том же рабочем процессе.