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