RETURN、STOP、EXIT、CHECK、LEAVE、REJECT
1、return
return用来退出当前执行的程序块,例如一个form、method、报表事件块,不管是否出现在(LOOP)中,return都会退出当前执行的程序块,而不仅仅是退出循环(如果是在form、method中,只会退出form、method,不会退出form、method被调用所在的报表事件块,即退出form、method后继续向被调用点的后面执行)。
2、stop
(1)INITIALIZATION中的stop会导致跳转到at selection-screen output事件块。
(2)如果stop在at selection-screen output块里,则只是退出当前块(stop后面的语句不执行而已),紧接着显示选择屏幕。
(3)at selection-screen [on] …选择屏幕中的事件块中的stop 也只是退出当前事件块,继续后面的事件块。
(4)另外,即使stop在循环中,还是在form、method中,也是直接从被调用点退出当前所在的事件块,而不仅仅只退出当前循环、from、method,这与直接在事件块中的效果是一样的。
3、exit
(1)initialization中的exit会导致跳转到at selection-screen output事件块,
(2)如果exit在at selecetion-screen 处理块中,则只是退出当前块(exit后面的语句不执行而已),紧接着显示选择屏幕。
(3)at selection-screen [on]…选择屏幕中的事件块中的exit也只是退出当前的事件块,继续后面的事件块。
(4)如果是在form、method中,而非循环中,则退出当前的form、method,其作用和return相类似。
(5)另外,如果exit在循环中(loop、do、while),只是跳出当前的循环。
4、check
check跳转的前提是(条件)为假
(1)check只是跳出当前的事件块,继续下一个事件块的处理,相当于return。
(2)另外,如果check在循环中(loop、do、while),只是跳出当前循环而已。
5、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 }
6、reject
reject 是用在逻辑数据库get event block中,与exit和check不同的是(exit和check 如果是在循环中时,只是退出当前循环,如果是在form中,则只是退出当前form),reject可以从循环或者一个form中直接跳出所在的get事件块。
引自:https://www.cnblogs.com/zhaorp/p/6932157.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现