If your program calls another program that itself calls an update function module, you should be aware of the following:
When the new program is called, a new SAP LUW begins, and a new update key is generated. This key is used to identify all update-task operations requested during the called program.
When returning from the program, the LUW of the calling program is restored together with the old update key.
If the called program does not contain its own COMMIT WORK, the database update requests are not processed, and the update function modules are not called. In the following example, F1, F2, and F3 are update function modules:
Here, F1 and F3 are executed in the update task, because the COMMIT WORK for the main program triggers their execution. However, since transaction ZABC contains no COMMIT WORKstatement, the function F2 is never executed by the update task.