(转)流程处理命令(STOP,EXIT,RETURN,CHECK,REJECT)的说明

STOP

 

在以下事件中使用:

INITIALIZATION,

AT SELECTION-SCREEN,

START-OF-SELECTION,

GET,

1、当在INITIALIZATION事件执行该命令,系统将直接触发应用服务器和客户端屏幕元素的发送;
2
、在其他事件中将直接触发END-OF-SELECTION事件的执行,如果不想执行END-OF-SELECTION,请使用RETURN或者 EXIT.


EXIT
 

 

用于循环将直接跳出循环体,

DO...ENDDO

WHILE...ENDWHILE

LOOP...ENDLOOP

SELECT...ENDSELECT

 

用于其他处理模块中

Event block

Dialog module

Procedure (Function Module, Method, Subroutine)
1
、在START-OF-SELECTION, GET, END-OF-SELECTION事件中,将直接触发LIST输出,将不执行END-OF-SELECTION事件;如果没有LIST输出,系统将直接返回选择屏幕;
2
、对于procedure系统返回调用处;
注意事项

SAP推荐EXIT只是用于循环处理,对于处理模块请使用RETURN


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不同

 

CHECK

 

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

DO...ENDDO,

WHILE...ENDWHILE,

LOOP...ENDLOOP,

SELECT...ENDSELECT,

用于其他处理模块中

Event block,

Dialog module,

Procedure (Function Module, Method, Subroutine),
1
START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中断本事件内的后续代码的执行 ,不影响其他后续模块的处理,这和EXITRETURN是不同的;
2
对于没有循环procedure系统返回调用处;
3
对逻辑数据库的GET事件,系统退出本次纪录和子节点的读取处理,将继续下一条纪录的处理;
注意事项
SAP
推荐CHECK只是用于循环处理,对于处理模块请使用RETURN


REJECT


用于逻辑数据库的GET处理事件中。
REJECT
的处理类似CHECK,但和CHECK不同的是:REJECT如果在循环内也同样退出本次的处理,而CHECK只是退出循环,不退出处理。

猜你喜欢

转载自skewen.iteye.com/blog/1114736