当前位置: 首页 > news >正文

SAP-ABAP中STOP,EXIT,CHECK,RETURN,CONTINUE,LEAVE,REJECT的区别

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命令
REJECT是用在逻辑数据库GET event blocks中,与EXIT和CHECK不一样的是(EXIT和CHECK如果是在循环中时,只是退出循环;如果是在FORM中,则只是退出当前FORM),REJECT可以从循环或者一个FORM中直接跳出所在的GET事件块

REJECT [<dbtab>].

终结逻辑数据库当前节点数据行的处理

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

LEAVE

LEAVE PROGRAM. 退出整个程序

LEAVE TO TRANSACTION ta

LEAVE LIST-PROCESSING.          从list processor回到dialog processor

LEAVE TO LIST-PROCESSING    控制权从dialog processor转交给list processor

LEAVE { SCREEN | {TO SCREEN dynnr} }

http://www.rkmt.cn/news/9562.html

相关文章:

  • Arduino ide 软件 不建议大家使用 缺点多多
  • Refit Consul
  • 麒麟服务器操作系统查询可用的内核版本以及安装和降级命令
  • 20250406_信安一把梭_测试篇
  • 3123004806软件工程查重项目
  • DeepSeek大模型混合专家模型,DeepSeekMoE 重构 MoE 训练逻辑 - 教程
  • Queue 配合Thread使用
  • 以下内容在if判定的时候会被判定为 假
  • 不同Windows系统中支持的最新.Net Framework/.NET版本
  • 每周读书与学习-初识JMeter 元件(二)
  • 深入解析:【Spring 全家桶】Spring MVC 快速入门,开始web 更好上手(下篇) , 万字解析, 建议收藏 ! ! !
  • 实用指南:ThinkPHP 6框架常见错误:htmlentities()函数参数类型问题解决
  • 完整教程:深入剖析 Chrome PartitionAlloc 内存池源码原理与性能调优实践
  • 如何构建embeding 的就是pytorch 中
  • C# 第 17天 028 029接口,依赖反转,单元测试
  • 群晖安装套件,套件版本与群晖版本不兼容;
  • 中间件专题:Redis
  • 负载排查和分析四
  • lookup-mehtod和replace-method标签的作用
  • 2025.9.21+7 [未完]
  • Ansible自动化运维实战 - 详解
  • Windows 离线环境下使用 VS Code 连接容器 Python 环境完整指南(亲测可用)
  • Macos 安装kali报错
  • 负载排查和分析二
  • 深入解析:老树发新芽:六西格玛培训为石油机械制造注入持久活力
  • YC大佬分享的 10 个 vibe coding技巧,看完收获巨大
  • 负载排查和优化
  • 挑战骑行距离新记录:46公里
  • arc206 总结
  • 数据结构-单链表基础2