现在的位置: 首页 > 综合 > 正文

ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM…)

2013年03月06日 ⁄ 综合 ⁄ 共 1129字 ⁄ 字号 评论关闭

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

输出,系统将直接返回选

择屏幕;

抱歉!评论已关闭.