如果在ST12的trace文件里发现如下的entry, 说明update function module和调用该function module的代码是执行在同一work process里的,即同步执行:
可以写如下的report进行验证:
START-OF-SELECTION.
SET UPDATE TASK LOCAL.
CALL FUNCTION 'ZTIME_SPENT2' IN UPDATE TASK
EXPORTING
iv_time = 2.
COMMIT WORK.
PERFORM main.
WRITE: / 'finish'.
FORM main.
WAIT UP TO 1 SECONDS.
ENDFORM.
打开system debugging:
callstack的入口SAPMSSY0即ST12 trace文件里的最后一列:
line 252 call system call去检查当前是否是local update mode:
state = N 说明是local update,执行系统程序SAPMSSY4中的逻辑:
这里会在当前的work process里执行update function module: