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

posted @ 2022-02-17 21:45  追寻者2019  阅读(259)  评论(0编辑  收藏  举报