在循环中:
CONTINUE:
结束当前循环进行下一次循环
CHECK:
判断条件,不符合时结束当前循环进入下一次循环
EXIT:
结束整个循环,继续向下运行
RETURN:
退出当前的程序块
例如:
主表GT_ITAB1 数据为:
A 1
B 2
C 3
执行以下语句:
LOOP AT gt_itab1.
IF gt_itab1-f1 = 'B'.
CONTINUE.
ENDIF.
APPEND gt_itab1 TO gt_itab2.
ENDLOOP.
执行之后GT_ITAB2 内容为:
A 1
C 3
LOOP AT gt_itab1.
CHECK gt_itab1-f1 <> 'B'.
APPEND gt_itab1 TO gt_itab2.
ENDLOOP.
执行之后GT_ITAB2 内容为:
A 1
C 3
LOOP AT gt_itab1.
IF gt_itab1-f1 = 'B'.
EXIT.
ENDIF.
APPEND gt_itab1 TO gt_itab2.
ENDLOOP.
执行之后GT_ITAB2 内容为:
A 1
PERFORM frm_set_data.
gt_itab1-f1 = 'F'.
gt_itab1-f3 = '5'.
APPEND gt_itab1 TO gt_itab2.
*&---------------------------------------------------------------------*
*& Form FRM_SET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM frm_set_data .
LOOP AT gt_itab1.
IF gt_itab1-f1 = 'B'.
RETURN.
ENDIF.
APPEND gt_itab1 TO gt_itab2.
ENDLOOP.
gt_itab1-f1 = 'D'.
gt_itab1-f3 = '4'.
APPEND gt_itab1 TO gt_itab2.
ENDFORM.
执行之后GT_ITAB2 内容为:
A 1
F 5