关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)
Stop 命令
使用該命令的程序位置
INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中
處理說明
1、?當在INITIALIZATION事件執行該命令,系統將直接觸發應用服務器和客戶端屏幕元素的發送;
2、?在其他事件中將直接觸發END-OF-SELECTION事件的執行,如果不想執行END-OF-SELECTION,請使用RETURN或者 EXIT.
注意事項
EXIT命令
使用該命令的程序位置
用于循環和程序模塊中:DO和其他處理模塊中(event block, dialog module, procedure (function module, method, subroutine))…ENDDO,WHILE…ENDWHILE,LOOP…ENDLOOP,SELECT…ENDSELECT
處理說明
1、?循環處理中,EXIT只跳出當前的循環;
2、?在START-OF-SELECTION, GET, END-OF-SELECTION事件中,將直接觸發List輸出,將不執行END-OF-SELECTION事件;如果沒有List輸出,系統將直接返回選擇屏幕;
3、?對于procedure系統返回調用處;
注意事項
SAP推薦EXIT只是用于循環處理,對于處理模塊請使用Return。
RETURN命令
使用該命令的程序位置
用于處理模塊中(event block, dialog module, procedure (function module, method, subroutine))
處理說明
1、?對于procedure ,RETURN將無條件退出當前的處理模塊,不影響后續模塊的執行;
2、?對于START-OF-SELECTION, GET, END-OF-SELECTION事件中,將直接觸發List輸出,將不執行END-OF-SELECTION事件;如果沒有List輸出,系統將直接返回選擇屏幕;
注意事項
RETURN不管存在多少層次的循環,將直接退出當前處理模塊,這一點和EXIT不同。
CHECK命令
使用該命令的程序位置
用于循環和程序模塊中:DO和其他處理模塊中(event block, dialog module, procedure (function module, method, subroutine))…ENDDO,WHILE…ENDWHILE,LOOP…ENDLOOP,SELECT…ENDSELECT
處理說明
1、?循環處理中,CHECK只是不執行本次循環的后續處理,繼續調到下一次循環;
2、?在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中斷本事件內的后續代碼的執行 ,不影響其他后續模塊的處理,這和EXIT,RETURN是不同的;
3、?對于沒有循環procedure系統返回調用處;
4、?對邏輯數據庫的GET事件,系統退出本次紀錄和子節點的讀取處理,將繼續下一條紀錄的處理;
注意事項
Sap推薦CHECK只是用于循環處理,對于處理模塊請使用Return。
區別:在LOOP 中 check 只是不執行本次循環的后續處理,繼續調到下一次循環;
EXIT只跳出當前的循環繼續執行loop外的語句。
return 跳出form了
在form 中 三種效果一樣都跳到下個PERFORM frm_test
在事件中 CHECK??在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中斷本事件內的后續代碼的執行 ,不影響其他后續模塊的處理
在事件中, exit,return 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,將直接觸發List輸出,將不執行END-OF-SELECTION事件;如果沒有List輸出,系統將直接返回選擇屏幕。
REJECT命令
使用該命令的程序位置
用于邏輯數據庫的GET處理事件中
處理說明
REJECT的處理類似CHECK,但和CHECK不同的是:REJECT如果在循環內也同樣退出本次的處理,而CHECK只是退出循環,不退出處理。
總結
以上是生活随笔為你收集整理的关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP--关于重复行的处理
- 下一篇: 用SAP Authority Objec