ABAP学习笔记-基础语法-06-流程控制(03)-循环语句的终止

原文链接:https://mp.weixin.qq.com/s/Et4_28Dhcd7XcMfqPS-qTQ

大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。

愿大家的学习,轻松且愉快。

如果大家觉得有用,希望转发关注,谢谢

ABAP学习笔记-基础语法-06-流程控制(03)-循环语句的终止

导读

 

我们经常见到循环中的终止关键字EXIT、CONTINUE以及CHECK。

 

作为业务顾问,以前自己看代码的时候,遇到这两个关键字,经常搞不清楚,导致自己对整个程序的处理逻辑上理解有问题。

 

本篇,我们就这三个关键分别字是什么效果,如何控制循环的,进行简单的分析。

 

正文

 

EXIT 和 CONTINUE的应用和区别

 

EXIT

 

如果循环语句中存在“EXIT”,当执行到EXIT时,将终止之后的所有循环。

 

CONTINUE

 

如果循环语句中存在“CONTINUE”,当执行到CONTINUE时,将执行此次循环,进入之后的循环语句。

 

实例说明

 

接下来,我们通过实例进行更为直观的描述

ABAP学习笔记-基础语法-06-流程控制(03)-循环语句的终止

实例分析:

1.上述语法举例加了循环控制关键字,如果没有循环终止的话,上述语句的输出结果是:成对输出5次循环次数。

 

2.上图中第一部分和第二部分,分别用了EXIT和CONTINUE两个终止关键字,在当循环次数等于3时,对循环语句进行了控制。

 

3.对于EXIT被触发后,很明显,在输出了1个“第3循环”后,程序彻底终止了所有的输出,第4、5次的输出都没有继续进行了。

 

4.对于CONTINUE被触发后,很明显,在输出了1个“第3循环”后,程序只是没有输出第二个“第3循环”,也就是仅终止了本次循环,后续第4、5次循环被正常执行了。

 

我们结合下图,就能比较清楚地理解了。

ABAP学习笔记-基础语法-06-流程控制(03)-循环语句的终止

 

CHECK

 

作为单独判断语句,后面应该接一个条件,如果满足条件,则继续执行循环,如果不满足条件,则跳出当前循环。

 

实例分析

ABAP学习笔记-基础语法-06-流程控制(03)-循环语句的终止

 

1. 在上述实例中,“CHECK SY-INDEX <> 3. ”是指当循环次数不等于3时,再进行之后的循环,所以,在第1、2、4、5次循环时,“循环次数不等于3”这一条件均满足,即,可执行后续的语句,因此,都进行成了成对输出;

2. 在第3次循环时,“循环次数不等于3”这一条件不满足,因此,只输出了在条件判断之前的“第3循环”这一结果。

 

3. 根据输出的结果,我们能看到CHECK加上适当条件,可以实现if+continue的控制效果,也就是当check中的条件不满足时,程序会终止此次循环,继续执行之后的循环,并不会彻底退出循环。

 

最后的总结:

基于上述内容,我们能够比较清楚地了解EXIT,CONTINUE和CHECK的控制原理了。另,我们会经常见到EXIT,CHECK不仅在循环中出现,也会在FORM,METHOD等程序块中出现,一旦触发条件导致需要退出时,此时会退出此程序块,执行之后的程序。这个后续有机会在做分享。

 

 

上一篇:如何写ABAP程序


下一篇:ABAP分享十: 文件的上传 方法一