ABAP-关于 LUW
轉載:https://www.cnblogs.com/liaojunbo/archive/2011/07/12/2103554.html
假設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,但是過程不太一樣。
總結
以上是生活随笔為你收集整理的ABAP-关于 LUW的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中字符串的内置方法
- 下一篇: 解决掉你心中 js function与F