SAP 鎖

假設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,但是過程不太一樣。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章