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