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.
|
▼ 실행 결과
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^