当前位置: 首页 > 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.hskmm.com/?act=detail&tid=13384

相关文章:

  • Linux开机启动进入紧急模式emergency mode的解决方法 - 规格严格
  • Arduino ide 软件 不建议大家使用 缺点多多
  • 视频融合平台EasyCVR国标GB28181视频诊断功能详解与实践
  • Refit Consul
  • 故障处理:Oracle 19.20未知BUG导致oraagent进程内存泄漏的案例处理
  • 麒麟服务器操作系统查询可用的内核版本以及安装和降级命令
  • esp32 stm32 ros2 三者区别
  • 20250406_信安一把梭_测试篇
  • 前端 10 个 JS 神 API,开箱即用
  • 故障处理:清除 DBA_DATAPUMP_JOBS 视图中的异常数据泵作业
  • Web自动化测试智能体详解
  • Queue 配合Thread使用
  • MyEMS 进阶应用:从单厂能耗管理到集团跨区域能源数据协同分析
  • Playwright自动化测试框架与AI智能体应用
  • 以下内容在if判定的时候会被判定为 假
  • Python __init__.py文件
  • 20250330_信安一把梭_考试篇
  • VS Code配置Conda环境完整指南
  • 不同Windows系统中支持的最新.Net Framework/.NET版本
  • avalonia android TextBox多行模式下回车会关闭输入法问题
  • 每周读书与学习-初识JMeter 元件(二)
  • client-go限速之QPS、Burst 和 RateLimiter
  • 三度蝉联Gartner SASE领导者:唯一厂商的技术实力解析
  • 基础命令
  • 水水水 || CSP-S 2025 初赛
  • python实现网站登录会话脚本 - wanghongwei
  • HCM 性能优化函数
  • Nginx配置里alias和root的区别
  • 国产DevOps生态崛起:Gitee如何赋能企业数字化转型
  • 【OpenCV】10 图像滤波