码迷,mamicode.com
首页 > 其他好文 > 详细

[SAP ABAP开发技术总结]RETURN、STOP、EXIT、CHECK、LEAVE、REJECT

时间:2015-02-01 14:44:24      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:

12.21.1.      RETURN

RETURN用来退出当前执行的程序块,例如一个FORMMETHOD报表事件块,不管是否出现在循环(LOOP)中,RETURN都会退出当前执行的程序块,而不仅仅是退出循环(如果是在FormMETHOD中,只会退出FormMETHOD,不会退出FormMETHOD被调用所在的报表事件块,即退FormMETHOD后继续向被调用点后面执行)

12.21.2.      STOP

l  INITIALIZATION中的STOP会导致跳转到AT SELECTION-SCREEN OUTPUT事件块;

l  如果STOPAT SELECTION-SCREEN OUTPUT块里,则只是退出当前块(STOP后面语句不执行而已),仅接着是显示选择屏幕;

l  AT SELECTION-SCREEN [ON]…选择屏幕事件块中的STOP也只是退出当前事件块,继续后面的事件块;

l  另外,即使STOP在循环中,还是在FORMMETHOD,也是直接从被调用的点退出所在事件块,而不仅仅只退出当前循环FORMMETHOD,这与直接在事件块中的效果是一样的;

12.21.3.      EXIT

l  INITIALIZATION中的EXIT会导致跳转到AT SELECTION-SCREEN OUTPUT事件块;

l  如果EXITAT SELECTION-SCREEN OUTPUT块里,则只是退出当前块(EXIT后面语句不执行而已),仅接着是显示选择屏幕;

l  AT SELECTION-SCREEN [ON]…选择屏幕事件块中的EXIT也只是退出当前事件块,继续后面的事件块;

l  START-OF-SELECTION开始往后的事件块,如果出现EXIT,则会开始listprocessor(列表处理),并跳转到相应的List输出界面(前提条件是要在退出前已经向屏幕输出内容了,否则也不会跳转);注:END-OF-SELECTION事件块也会被跳过

l  另外,如果EXIT在循环DOWHILELOOP里,只是跳出当前循环而已

l  如果是在FORMMETHOD中,而非循环中,则退出当前的FORMMETHOD,其作用与RETURN类似

12.21.4.      CHECK

CHECK跳转的前提是<expr>为假时。

l  CHECK只是跳出当前事件块,继续下一个事件块的处理,相当于方法的return

l  另外,如果CHECK在循环DOWHILELOOP里,只是跳出当前循环而已

l  如果CHECK出现在循环以外,退出的是当前执行的程序块(processing block),例如一个FORMMETHOD,或EVENT

12.21.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} }

12.21.5.1.           REJECT

REJECT是用在逻辑数据库GET event blocks中,与EXITCHECK不一样的是(EXITCHECK如果是在循环中时,只是退出循环;如果是在FORM中,则只是退出当前FORM),REJECT可以从循环或者一个FORM中直接跳出所在的GET事件块

技术分享

REJECT [<dbtab>].

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

如果省略选项<dbtab>, 则逻辑数据库会自动读取同一节点的下一行数据,即同一节点的GET事件块会被触发。如果使用了<dbtab>选项,则逻辑数据库会读取节点<dbtab>的下一行数据,此时的<dbtab>节点必须是REJECT所在当前节点的上级节点。

 

[SAP ABAP开发技术总结]RETURN、STOP、EXIT、CHECK、LEAVE、REJECT

标签:

原文地址:http://www.cnblogs.com/jiangzhengjun/p/4265443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!