ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)
ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)
這里總結一下幾個常用的退出操作:
CHECK.(SAP官方推薦只在循環中使用)
1)CHECK 后面要跟一個表達式,當表達式值為假(false)時,CHECK發生作用,退出循環(LOOP)或處理程序(Processing Block)。
2)如果CHECK出現在循環中,則發生作用時,退出的是當前一次循環操作,程序會繼續執行下一次循環操作,其作用類似于Continue (Java 或C++中continue也是如此).
3)如果CHECK出現在循環以外,則發生作用時,退出的是當前執行的程序塊(processing block),例如一個FORM,METHOD,或EVENT。
EXIT.
1) EXIT如果出現在循環中,退出的是整個循環操作,.程序會從循環結束處開始繼續執行,其作用相當于Java與C++中的break。
2)EXIT如果出現在循環之外,退出的是當前執行的程序塊(processing block),例如一個FORM,METHOD,或EVENT,其作用與RETURN類似。
RETURN.
RETURN用來退出當前執行的程序塊(processing block),例如一個FORM,METHOD,或EVENT,不管是否出現在循環(LOOP)中,RETURN都會退出當前執行的程序塊,而不僅僅是退出循環。
雖然ABAP中EXIT 和RETURN都可以用來實現退出當前執行的語句塊(processing block),但SAP的幫助文件建議只在循環中使用EXIT ,其他情況下要退出當前執行進程,使用RETURN 。
LEAVE PROGRAM.
LEAVE PROGRAM會直接退出主程序,類似C++中的exit。
在事件中 CHECK?? 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中斷本事件內的后續代碼的執行 ,不影響其他后續模塊的處理
START- CHECK SS <> WRITE / END-WRITE /
?? 結果: end of selection??????
?????? 在事件中 exit return 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,將直接觸發List輸出,將不執行END-OF-SELECTION事件;如果沒有List輸出,系統將直接返回選擇屏幕;
總結
以上是生活随笔為你收集整理的ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MRP例外消息
- 下一篇: co11n——生产订单确认的BAPI