
어떤 특정한 부분을 반복하여 처리하고자 할 떄 사용
DO (N) TIMES. "N번 반복 (숫자 혹은 변수 가능 / 횟수 지정하지않으면 무한 LOOP)
PROCESSING. "현재 순환 횟수는 시스템변수 SY-INDEX에 저장
ENDDO.
DATA : LV_NUM TYPE I.
DATA : LV_SUM TYPE I.
LV_NUM = 5.
DO LV_NUM TIMES.
ADD SY-INDEX TO LV_SUM.
WRITE :/ SY-INDEX. " 1 2 3 4 5 순차 출력
ENDDO.
WRITE :/ 'INDEX합계 : ', LV_SUM. " INDEX합계 : 15 출력
EXIT. "반복문 나가기
STOP. "프로그램 종료
CONTINUE. "그 순서의 반복문만 빠져나가기
CHECK (논리연산자). "CHECK 뒤의 논리연산자가 참일 경우에만 그 반복문 수행
DO명령문과 동일하게 어떤 특정한 부분을 반복하여 처리하고자 할때 사용
DO는 무조건 반복을 했다면 WHILE은 Logical Expression을 사용하여 그 결과값이 참인 동안에만 계속 반복
WHILE LogicalExpression.
PROCESSING.
ENDWHILE.
DATA : GV_NUM TYPE I.
DATA : GV_CHECK TYPE C.
GV_NUM = 5.
WHILE GV_NUM = 5.
GV_CHECK = 'X'. "무한루프 (EXIT. 필수)
ENDWHILE.
IF GV_CHECK = 'X'.
WRITE :/ '출력되었습니다.'.
ENDIF.