2019-02-15——ABAP6回路控制

循环类型

循环类型 说明
while 当给定条件为真时,重复一个语句或一组语句。在执行循环体之前测试条件
do do语句对于将特定任务重复特定次数很有用
nested(嵌套) 可以在任何另一个while或do循环中使用一个或多个循环

while

while <logical expression>
<statement block>.
endwhile
report ys_sep_15.
data: a type i.
a=0.
while a<>8.
  write: / 'this is the line:', a.
  a=a+1.
endwhile.
This is the line: 0 
This is the line: 1 
This is the line: 2 
This is the line: 3 
This is the line: 4 
This is the line: 5 
This is the line: 6 
This is the line: 7

DO

do [n times].
<statement block>.
enddo.
report yh_sep_15.
do 5 times.
write: / 'hello'.
enddo.
Hello 
Hello 
Hello 
Hello 
Hello 

nested(嵌套)

do [n times].
<statement block n>.
  do [m times].
  <statement block m>.
  enddo.
enddo.
report ys_sep_15.
data: a1 type i, b1 type i.
a1 = 0.
b1 = 0.
do 2 times.
a1 = a1 + 1.
write: / 'outer', a1.

do 3 times.
b1 = b1 + 1.
write: / 'inner', b1.
enddo.
enddo.
Outer   1 
Inner   1 
Inner   2 
Inner   3 
Outer   2 
Inner   4
Inner   5 
Inner   6

循环控制语句

控制语句 说明
continue 导致循环跳过其身体的剩余部分,并开始下一个循环传递
check 如果条件为假,则在check之后的剩余语句被忽略,并且系统开始下一循环通过
exit 完全终止循环,并将执行转移到循环后立即执行的语句

continue

report yh_sep_15.
do 5 times.
if sy-index = 3.

continue.

endif.
write / sy-index.
enddo.
1
2
4
5

check

report th_sep_15.
do 5 times.
check sy-index detween 3 and 4.
write / sy-index.
enddo.
3
4

exit

report yh_sep_15.
do 5 times.
if sy-index = 3.
exit.
endif.
write / sy-index.
enddo.
1
2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容