🔁 DO 반복문(Loop)이란?


ABAP에서 특정 코드를 여러 번 반복 실행하고 싶을 때 사용하는 반복문.

✅ 기본 구조

 
 
DO. 
	"반복 실행할 코드" .
ENDDO.
 

⚠️ 주의!
조건을 넣지 않으면 무한 반복이 돼서 프로그램이 멈출 수 있음 -> overflow!


🧨 무한 루프 예시

DO. 
	WRITE: / 'HELLO'. 
ENDDO.
  • 이 코드는 "HELLO"를 끝없이 출력해서 멈출 수 없다.
  • 실행하면 ABAP 프로그램이 멈추고 수동으로 종료해야 함

✅ 안전한 반복: DO n TIMES

DO 15 TIMES. 
	WRITE: / 'HELLO'. 
ENDDO.
  • HELLO를 정확히 15번만 출력
  • n TIMES는 반복 횟수를 명확하게 지정하는 방법

🧮 카운터 예제 (변수 + 시스템 변수)

DATA a TYPE i.
a = 0.

DO 15 TIMES.
  a = a + 1.
  WRITE: / 'My counter:', a, 'SY-INDEX:', sy-index.
ENDDO.
=> 1부터 15출력!
 
 
🔎 여기에 나오는 포인트

요소 설명
a 사용자가 선언한 변수. 직접 1씩 증가시킴
sy-index 시스템에서 제공하는 루프 횟수 자동 추적 변수
WRITE 현재 루프에서 두 변수의 값을 출력
  • sy-index는 loop 시작할 때마다 자동으로 1 증가
  • a는 수동으로 a = a + 1 해줘야 함
  • 둘 다 출력해서 비교 가능

🔚 정리

기능설명
DO ... ENDDO 기본 반복문. 무조건 반복 (조건 없음)
DO n TIMES n번만 반복. 안전하고 추천되는 방식
sy-index 시스템 내장 루프 카운터 (자동 증가)
a = a + 1 직접 만든 카운터 (수동 증가)

📌 실전 팁!

  • 무조건 DO 10 TIMES.처럼 횟수 제한을 두고 사용해야함 
  • sy-index를 활용하면 디버깅하거나, 반복 횟수를 확인할 때 유용⭐️

+ Recent posts