IT干货网

ABAP-关于 LUW

xmjava 2022年03月09日 SAP 145 0

转载:IT虾米网

假设MAIN PROGRAM(调用程序)为MAIN,其所在的为SAP LUW 1。

使用CALL FUNCTION 'AAA'的时候,MAIN被打断,在同一个internal session执行FM 'AAA',当FM执行完毕之后,继续执行MAIN。因此整个过程是在同一个SAP LUW内进行的。

使用SUBMIT AAA AND RETURN或者CALL TRANSACTION TCODE的时候,MAIN被打断,新开一个internal session(SAP LUW 2),AAA或者TCODE在新的internal session中执行,执行完之后,

新开的internal session终止,MAIN继续执行,因此整个过程有两个SAP LUW。

当使用CALL TRANSACTION <tcode>的时候,有点特别的东西要注意.如果MAIN程序和调用的TCODE程序中都含有POC或者CFIUT,因为它们分属不同的 SAP LUW,因此在两个程序中都必须有

各自的COMMIT WORK.该情况也适用于SUBMIT <program> AND RETURN。

使用SUBMIT AAA的时候,MAIN终止,SAP LUW 1结束,但是还是在同一个internal session,AAA被加载,新的SAP LUW 2产生。

使用LEAVE TO TRANSACTION TCODE的时候,效果跟使用SUBMIT AAA看起来差不多,但是是有本质区别的。当前external session所在的所有的internal session先被删除,再产生一个新的

internal session,TCODE加载到新的internal session中执行。所以虽然都是两个SAP LUW,但是过程不太一样。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

ABAP-关于COMMIT WORK 和COMMIT WORK AND WAIT