1,无条件循环:即在执行内部语句前不需要任何逻辑判断,在ABAP中用DO实现。
DO [n TIMES].
<statement block>.
ENDDO.
“Times"对循环次数施加了限制,这由“n"表示(控制循环次数,它可以是文字或变量)。 “n"的值不应为负或零。 如果它为零或为负,则不执行循环中的语句。
简单实例:输出Hello十五次。
Report YH_SEP_15.
Do 15 TIMES.
Write: / 'Hello'.
ENDDO.
2,条件循环:即在执行内部语句前需要进行真假逻辑判断,条件为真执行后面语句块,如不再为真或执行到循环终止语句,就跳出循环。
WHILE <condition>.
<statement block>
ENDWHILE.
实例:
REPORT ZOP05.
DATA: len TYPE i,
string TYPE c VALUE 'BeiJing 2018'.
WHILE string NE space.
len = sy-index.
SHIFT string.
ENDWHILE.
WRITE: / 'length of string:', len.