✅ EXIT 문 요약

항목 설명
📌 역할 현재 반복문을 즉시 종료
🎯 차이점 CONTINUE는 다음 루프로 넘어감, EXIT은 반복문 전체 탈출
🔄 사용 위치 반복문 안 (DO, WHILE, SELECT 등)
또는 서브루틴 안에서도 사용 가능
🧨 반복문 밖에서 쓰면? 해당 블록이나 프로그램 전체 종료할 수 있음

💡 코드 예시: 반복문 안에서 EXIT

DATA: a TYPE i.

DO 10 TIMES.
  a = a + 1.
  IF sy-index = 3.
    EXIT.
  ENDIF.
  WRITE: / 'Loop iteration:', a.
ENDDO.

WRITE: / 'Loop finished!'.
 

🔎 실행 결과:

Loop iteration: 1
Loop iteration: 2
Loop finished!
  • sy-index = 3일 때 EXIT 실행 → 루프 전체 종료
  • 아래 루프 바깥의 WRITE는 실행됨

🚫 반복문 밖에서 사용하면?

 
DATA: a TYPE i VALUE 0.

EXIT.

WRITE: / 'This will not be shown'.
  • EXIT에 도달하면 프로그램 종료
  • 아래 코드 실행 안 됨

⛓️ 중첩 루프에서는?

  • EXIT은 현재 루프만 종료
  • 바깥 루프는 계속 진행
DO 3 TIMES. " Outer loop
  DO 5 TIMES. " Inner loop
    IF sy-index = 2.
      EXIT. " 탈출하는 건 inner loop!
    ENDIF.
    WRITE: / '  Inner:', sy-index.
  ENDDO.
  WRITE: / 'Outer:', sy-index.
ENDDO.

 


📝 정리

  • EXIT → 전체 루프를 탈출
  • CONTINUE → 현재 루프 한 번만 건너뛰기
  • CHECK → 조건 맞을 때만 아래 코드 실행

+ Recent posts