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
都可以用来实现退出当前执行的语句块(process
ing
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
输出,系统将直接返回选
择屏幕;