SAP(ABAP):STOP,EXIT,CHECK,RETURN,REJECT,CONTINUE
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。
この命令が実行されるとループが強制終了され、ループ構造の終わりを表す命令 (ENDDO、ENDWHILE、ENDLOOP、ENDSELECT) の後ろから処理が再開されます。ネストしたループの中では、現在のループのみが強制終了されます。
DO 4 TIMES.
IF sy-index = 3.
EXIT.
ENDIF.
WRITE sy-index.
ENDDO.
一覧出力は以下のとおりです。
3 番目のループパスにおいて、WRITE 命令が処理される前にループは強制終了されます。
CHECK命令
使用该命令的程序位置
用于循环和程序模块中:...ENDDO,...ENDWHILE,...ENDLOOP,...ENDSELECT
处理说明
1、 循环处理中,CHECK只是不执行本次循环的后续处理,继续调到下一次循环;
2、 在START-OF-SELECTION, GET, END-OF-SELECTION事件中,只是中断本事件内的后续代码的执行,不影响其他后续模块的处理,这和EXIT,RETURN是不同的;
3、 对于没有循环procedure系统返回调用处;
4、 对逻辑数据库的GET事件,系统退出本次纪录和子节点的读取处理,将继续下一条纪录的处理;
注意事项
Sap推荐CHECK只是用于循环处理,对于处理模块请使用Return。
条件が真である場合には、現在の命令ブロックの中で CHECK 命令の後ろに命令が残っているとしても無視され、次のループパスが開始されます。condition として任意の論理式を使用することができます。
DO 4 TIMES.
CHECK sy-index BETWEEN 2 and 3.
WRITE sy-index.
ENDDO.
一覧出力は以下のとおりです。
1 回目と 4 回目のループパスは強制終了され WRITE 命令は処理されません。なぜなら sy-index が 2 と 3 の間にないからです。
REJECT命令
使用该命令的程序位置
用于逻辑数据库的GET处理事件中
处理说明
REJECT的处理类似CHECK,但和CHECK不同的是:REJECT如果在循环内也同样退出本次的处理,而CHECK只是退出循环,不退出处理
CONTINUE命令
現在の命令ブロックの中でこの命令の後ろに命令が残っているとしても無視され、次のループパスが開始されます。
DO 4 TIMES.
IF sy-index = 2.
CONTINUE.
ENDIF.
WRITE sy-index.
ENDDO.
一覧出力は以下のとおりです。
2 番目のループパスは強制終了され、WRITE 命令は処理されません。
SAP(ABAP):STOP,EXIT,CHECK,RETURN,REJECT,CONTINUE的更多相关文章
- Oracle循环中的EXIT、RETURN、CONTINUE解密
有时候编写Oracle中用游标等信息去循环处理逻辑的时候,对EXIT.RETURN.CONTINUE很容易搞混淆,网上搜了资料也不是很清楚,所以本人自己写了一小段代码测试了这三种用法.案例代码如下: ...
- Oracle中exit,return,continue
记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN EXIT; END IF; end loop; return跳出 ...
- [SAP ABAP开发技术总结]RETURN、STOP、EXIT、CHECK、LEAVE、REJECT
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- php exit、return、break、continue之间的差别,具体介绍
相信大家在php开发中有几个经常使用的停止程序和循环的keyword的误区( exit.return.break.continue) exit 退出全部脚本,是个函数 return 语言结构的使用方法 ...
- 【Linux】循环控制及状态返回值break、continue、exit、return
一.break.continue.exit.return的区别和对比 break n :如果省略n,则表示跳出整个循环,n表示跳出循环的层数 continue n:如果省略n,则表示跳过本次循 ...
- break、continue、exit、return的区别和对比
break.continue.exit.return的区别和对比 一:说明 break.continue在条件循环语句及循环语句(for.while.if等)中用于控制程序的走向:而exit则用于种植 ...
- ABAP开发顾问必备:SAP ABAP开发技术总结
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ABAP开发顾问必备:SAP ABAP开发技术总结[转载]
转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. ...
- 【ABAP系列】SAP ABAP 的替代和校验
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 的替代和校验 ...
随机推荐
- iphone 微信下浏览器中数字去除下划线
在开发iphone应用程序的时候,safari下手机号码默认是有下划线的,通过下面的方法就可以去掉: <meta name="format-detection" conten ...
- April 11 2017 Week 15 Tuesday
Love is hard to get into, but harder to get out of. 相爱不易,相忘更难. The past are hurt, but I think we can ...
- Selenium入门8 js调用
execute_script 可以执行js和jquery脚本 示例如下:修改百度首页的按钮字体颜色,按钮隐藏,按钮显示 #coding=utf-8 # 调用js jquery from seleniu ...
- vue.js--基础 v-bind绑定属性使用
背景:因为10月要休产假了,8月的时间我工作很少,因为最开始做平台我一直做的是后端,前端很少接触,所以现在有时间,就学习前端基础,前端使用的vue.js+element,因为没有基础,所以下了一个视频 ...
- jemter实战
业务流梳理,需要实现的内容,含jdbc和正则表达式,和取值 1. 登录用户 2. 获取一个未分配的订单,判断是否是未分配 3. 获取配货单号 4. 分配配货单 5. 查询已分配的配货单 6. 查询包裹 ...
- 遍历ResultSet,行列要从1开始
为什么遍历ResultSet,行列要从1开始. 因为Resultset的第一行的第一列都是空的,要用rs.next()到第一行才能进行读取. Statement stmt=null; ResultS ...
- HttpServletRequest request 获取form参数的两种方式
@RequestMapping(value="/pay",method = RequestMethod.POST) public String buildRequest(HttpS ...
- 【转】Spring 整合 Quartz 实现动态定时任务
http://blog.csdn.net/u014723529/article/details/51291289 最近项目中需要用到定时任务的功能,虽然spring 也自带了一个轻量级的定时任务实现, ...
- Linux内存管理 —— 内核态和用户态的内存分配方式
1. 使用buddy系统管理ZONE我的这两篇文章buddy系统和slab分配器已经分析过buddy和slab的原理和源码,因此一些细节不再赘述.所有zone都是通过buddy系统管理的,buddy ...
- B1954 The xor-longest Path
爆炸入口 给定一颗带权值的,节点数为n的树,求树上路径最大异或和. solution: 先dfs将所有点到根的异或和算出来.然后放进tire树中贪心. #include<cstdio> # ...