前提是这几个BAPI产生的结果互不影响,可以同步提交,下面是理论,还需要实例测试!
由于对表直接MODIFY 、insert、update等都触发隐士提交,建议写在后面。
DO循环里面成功 则EXIT跳出DO循环。进入LOOP下一层。
LOOP
DO 5 TIMES.
CALL A
if sy-subrc eq 0
CALL B
IF SY-SUBRC EQ 0.
CALL C
IF SY-SUBRC EQ 0
modify db.
1.如 果 是 commit work还是BAPI 那个异步提交,异步提交,则按顺序 则有4个更新进程需要去提交,这时判断 commit work 返回sy-subrc 只是 modify db结果,前面成功与否需要查看实际数据情况。
2.如果是同步提交,则 判断 返回的 sy-subrc 如果成功 则整体提交成功 并EXIT当前DO循环,失败 则 ROLLBACK ,则全部失败。
ENDIF.
ENDIF.
endif.
ENDO.
ENDLOOP.
由于对表直接MODIFY 、insert、update等都触发隐士提交,建议写在后面。
DO循环里面成功 则EXIT跳出DO循环。进入LOOP下一层。
LOOP
DO 5 TIMES.
CALL A
if sy-subrc eq 0
CALL B
IF SY-SUBRC EQ 0.
CALL C
IF SY-SUBRC EQ 0
modify db.
1.如 果 是 commit work还是BAPI 那个异步提交,异步提交,则按顺序 则有4个更新进程需要去提交,这时判断 commit work 返回sy-subrc 只是 modify db结果,前面成功与否需要查看实际数据情况。
2.如果是同步提交,则 判断 返回的 sy-subrc 如果成功 则整体提交成功 并EXIT当前DO循环,失败 则 ROLLBACK ,则全部失败。
ENDIF.
ENDIF.
endif.
ENDO.
ENDLOOP.



伊拉