STOP, RETURN, EXIT, REJECT, CHECK对比

Posted intercalaryland

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STOP, RETURN, EXIT, REJECT, CHECK对比相关的知识,希望对你有一定的参考价值。

Stop 命令

使用该命令的程序位置

INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中

处理说明

1、?当在INITIALIZATION事件执行该命令,系统将直接触发应用服务器和客户端屏幕元素的发送;影响后续模块执行。

2、?在其他事件中将直接触发END-OF-SELECTION事件的执行,如果不想执行END-OF-SELECTION,请使用.

注意事项

? ?

RETURN命令

使用该命令的程序位置

用于处理模块中(event block, dialog module, procedure (function module, method, subroutine))

处理说明

1、?对于procedure ,RETURN将无条件退出当前的处理模块,不影响后续模块的执行

2、?对于START-OF-SELECTION, GET, END-OF-SELECTION事件中,将直接触发List输出,将不执行END-OF-SELECTION事件;如果没有List输出,系统将直接返回选择屏幕;

注意事项

RETURN不管存在多少层次的循环,将直接退出当前处理模块,这一点和EXIT不同

EXIT命令

使用该命令的程序位置

用于循环和程序模块中:...ENDDO,...ENDWHILE,...ENDLOOP,...ENDSELECT

处理说明

1、?循环处理中,EXIT只跳出当前的循环;

2、?在START-OF-SELECTION, GET, END-OF-SELECTION事件中,将直接触发List输出,将不执行END-OF-SELECTION事件;如果没有List输出,系统将直接返回选择屏幕;

3、?对于procedure系统返回调用处;

注意事项

Sap推荐EXIT只是用于循环处理,对于处理模块请使用Return。

CHECK命令

使用该命令的程序位置

用于循环和程序模块中:...ENDDO,...ENDWHILE,...ENDLOOP,...ENDSELECT

处理说明

1、?循环处理中,CHECK只是不执行本次循环的后续处理,继续调到下一次循环;

2、?在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中断本事件内的后续代码的执行 ,不影响其他后续模块的处理,这和EXIT,RETURN是不同的;

3、?对于没有循环procedure系统返回调用处;

4、?对逻辑数据库的GET事件,系统退出本次纪录和子节点的读取处理,将继续下一条纪录的处理;

注意事项

Sap推荐CHECK只是用于循环处理,对于处理模块请使用Return。

REJECT命令

使用该命令的程序位置

用于逻辑数据库的GET处理事件中

处理说明

REJECT的处理类似CHECK,但和CHECK不同的是:REJECT如果在循环内也同样退出本次的处理,而CHECK只是退出循环,不退出处理

注意事项

以上是关于STOP, RETURN, EXIT, REJECT, CHECK对比的主要内容,如果未能解决你的问题,请参考以下文章

关于return和exit

exit与exit,return三者区别(详解)

exit() 与 return() 的区别

c语言exit和return的区别

return exit _exit

return和exit