ABAP에서 WHILE 반복문(WHILE~ENDWHILE) 사용 방법


ABAP에서 사용하는 반복문 중에 WHILE ~ ENDWHILE 구문이 있습니다.

WHILE문은 Logical Expression의 결과 값이 참(True)인 동안 계속해서 반복문을 수행하게 됩니다.

Logical Expression의 결과 값이 거짓(False)이 되어 반복문이 종료할 수 있도록 WHILE문 안에서 조건 값을 변경하는 로직이 반드시 있어야 합니다. 그렇지 않을 경우 무한 Loop에 빠지게 됩니다.

이번 글에서는 ABAP에서 WHILE 반복문(WHILE~ENDWHILE) 사용 방법에 대해 알아보겠습니다.

WHILE문의 기본 구문 형식

※ WHILE문의 구문 형식은 아래와 같습니다.

WHILE log_exp.

  [statement_block]

ENDWHILE.

ABAP에서 WHILE 반복문을 사용하는 방법 예제

아래 WHILE문는 구구단을 출력하는 간단한 예제입니다.

구구단을 표현하기 위해 WHILE문을 중첩해서 사용하였습니다.

※ 중요 : WHILE의 log_exp에 해당하는 조건값은 WHILE문 안에서 변경해 주어야 합니다. 예제에서 CNT1 = CNT1 + 1. 를 해준것 처럼 조건값을 변경해주는 로직이 없으면 WHILE문은 무한 반복하게 됩니다.

WHILE 반복문에서 EXIT 문을 만나면 WHILE문이 강제로 종료되고 WHILE문을 벗어납니다.

PROGRAM YMM0001.
 
DATA: CNT1 TYPE I,
      CNT2 TYPE I,
      RESULT TYPE I.
 
CNT1 = 2.
WHILE CNT1 < 10.
 
  CNT2 = 1.
  WHILE CNT2 < 10.
 
    RESULT = CNT1 * CNT2.
 
    WRITE: / CNT1, ‘*’, CNT2, ‘=’, RESULT.
 
    CNT2 = CNT2 + 1.
  ENDWHILE.
 
  SKIP.
  CNT1 = CNT1 + 1.
 
ENDWHILE.
 

▼ 실행 결과

ABAP에서 WHILE 반복문(WHILE~ENDWHILE) 사용 방법





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기