ABAP 프로그래밍에서 LOOP 문은 내부 테이블의 데이터를 순차적으로 처리하는 데 사용되는 중요한 제어 구조입니다. 테이블의 각 행에 접근하여 처리할 수 있게 해줍니다.
LOOP AT itab INTO wa.
" 처리 로직
ENDLOOP.
LOOP AT itab INTO wa WHERE field1 = 'VALUE'.
" 조건에 맞는 행만 처리
ENDLOOP.
LOOP AT itab INTO wa FROM 3 TO 8.
" 3번째부터 8번째 행까지만 처리
ENDLOOP.
LOOP AT itab INTO wa.
sy-tabix. " 현재 처리 중인 행의 인덱스
ENDLOOP.
LOOP AT itab ASSIGNING <fs>.
" 필드 심볼을 사용하여 직접 테이블 항목 수정 가능
ENDLOOP.
LOOP AT itab INTO wa.
IF wa-field = 'EXIT'.
EXIT. " 루프를 완전히 종료
ENDIF.
IF wa-field = 'CONTINUE'.
CONTINUE. " 현재 반복을 건너뛰고 다음 행으로
ENDIF.
ENDLOOP.
DATA: itab TYPE TABLE OF scarr,
wa_scarr TYPE scarr.
SELECT * FROM scarr INTO TABLE itab.
LOOP AT itab INTO wa_scarr.
WRITE: / wa_scarr-carrid, wa_scarr-carrname.
ENDLOOP.
LOOP AT itab INTO wa.
IF wa-amount < 0.
wa-status = 'ERROR'.
MODIFY itab FROM wa.
ENDIF.
ENDLOOP.
FIELD-SYMBOLS: <fs> TYPE any.
LOOP AT itab ASSIGNING <fs>.
<fs>-field = 'NEW VALUE'. " 직접 테이블 값 수정
ENDLOOP.