zoukankan      html  css  js  c++  java
  • ABAP语言中Check、Stop、Exit、Continue、Return、Reject的用法和区别

    在SAP ABAP开发中经常会使用到CHECK、STOP、EXIT、continue、return、reject,这些语句的作用、用法以及相互的区别是什么呢,现在简单汇总如下:

    1, stop

    使用该命令的程序位置
    INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中
    处理说明:
    1)当在INITIALIZATION事件执行该命令,系统将直接触发应用服务器和客户端屏幕元素的发送;
    2)在其他事件中将直接触发END-OF-SELECTION事件的执行,如果不想执行END-OF-SELECTION,请使用RETURN或者 EXIT.

    2, exit

    使用该命令的程序位置
    用于循环和程序模块中:DO和其他处理模块中(event block, dialog module, procedure (function module, method, subroutine))…ENDDO,WHILE…ENDWHILE,LOOP…ENDLOOP,SELECT…ENDSELECT
    处理说明
    1、 循环处理中,EXIT只跳出当前的循环;
    2、 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,将直接触发List输出,将不执行END-OF-SELECTION事件;如果没有List输出,系统将直接返回选择屏幕;
    3、 对于procedure系统返回调用处;
    注意事项
    SAP推荐EXIT只是用于循环处理,对于处理模块请使用Return。

    3, 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不同。

    4, check

    使用该命令的程序位置
    用于循环和程序模块中:DO和其他处理模块中(event block, dialog module, procedure (function module, method, subroutine))…ENDDO,WHILE…ENDWHILE,LOOP…ENDLOOP,SELECT…ENDSELECT
    处理说明
    1、 循环处理中,CHECK只是不执行本次循环的后续处理,继续调到下一次循环;
    2、 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中断本事件内的后续代码的执行 ,不影响其他后续模块的处理,这和EXIT,RETURN是不同的;
    3、 对于没有循环procedure系统返回调用处;
    4、 对逻辑数据库的GET事件,系统退出本次纪录和子节点的读取处理,将继续下一条纪录的处理;
    注意事项
    Sap推荐CHECK只是用于循环处理,对于处理模块请使用Return。
    区别:在LOOP 中 check 只是不执行本次循环的后续处理,继续调到下一次循环;
    EXIT只跳出当前的循环继续执行loop外的语句。
    return 跳出form了
    在form 中 三种效果一样都跳到下个PERFORM frm_test
    在事件中 CHECK  在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中断本事件内的后续代码的执行 ,不影响其他后续模块的处理
    在事件中, exit,return 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,将直接触发List输出,将不执行END-OF-SELECTION事件;如果没有List输出,系统将直接返回选择屏幕。

    5, continue

    使用在loop,do,while等循环语句中,含义是结束当前循环,进入到下一次循环。

    也可以用check来代替,符合check条件,接着执行本次循环,不符合check的,结束当前循环进入到下次循环。

    6, reject

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

    以上。

  • 相关阅读:
    win7环境下一次浅谈栈溢出
    字符约束条件的SQL注入攻击
    较有意思的Apple XSS(CVE-2016-7762)漏洞
    metasploit下Windows下多种提权方式
    NTFS ADS带来的web安全问题
    某安全团队内部渗透比赛
    MySQL注射绕过技巧(三)
    MySQL注射绕过技巧(二)
    MySQL注射绕过技巧
    centos7 zabbix3.4.6显示中文乱码问题
  • 原文地址:https://www.cnblogs.com/lvdong18847870057/p/12553090.html
Copyright © 2011-2022 走看看