ABAP:区别CALL SCREEN/SET SCREEN/LEAVE TO SCREEN
生活随笔
收集整理的這篇文章主要介紹了
ABAP:区别CALL SCREEN/SET SCREEN/LEAVE TO SCREEN
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,CALL SCREEN XXXX將在Screen調用棧(CALL STACK)上面添加一層調用(進棧),調用XXXX的PBO和PAI,如果XXXX的Next Screen不為0,那么將繼續其Next Screen的PBO和PAI,如此繼續~~~當最后碰到Next Screen為0時,該層調用將從調用棧中退出(出棧),然后系統將繼續執行CALL SCREEN XXXX之后的語句。 2,SET SCREEN XXXX,設置調用棧當前層次的Next Screen為XXXX,它并不影響調用棧的層數,除非XXXX為0,那將導致調用棧退掉一層(出棧)。要注意的是,PAI中SET SCREEN XXXX后的語句,系統將照樣執行。只有執行完畢該PAI整個邏輯后,才考慮Next Screen的PBO和PAI。 3,LEAVE TO SCREEN與SET SCREEN比較類似,所不同的是,LEAVE TO SCREEN XXXX將強行中斷當前SCREEN的PAI,直接執行XXXX的PBO和PAI。換言之,PAI中LEAVE TO SCREEN XXXX后的語句,系統將不會執行到。 在ABAP中,CALL TRANSACTION和SUBMIT report_name AND RETURN語句,也都是在調用棧上添加一層調用,與CALL SCREEN有點類似。而LEAVE TO TRANSACTION以及SUBMIT report_name則是在調用棧當前層次的一個跳轉,與LEAVE TO SCREEN類似。
總結
以上是生活随笔為你收集整理的ABAP:区别CALL SCREEN/SET SCREEN/LEAVE TO SCREEN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这是神马意思?
- 下一篇: 消息转为文本函数('MESSAGE_TE