부제 : 아밥 반복문, 조건문, 퍼폼, 이벤트 블럭 나가는 방법 정리
안녕하세요, D 입니다.
오늘은 반복문, 조건문, 퍼폼, 이벤트 블럭을 종료할 수 있는
EXIT, CANCEL, STOP, CHECK 구문 비교 분석하여 정리해보았습니다.
EXIT, CANCEL, STOP, CHECK 는 어느 상황에 쓰이느냐에 따라 조금씩 활용이 다릅니다
CHECK 구문은 조건과 함께 쓰이죠.
예로 CHECK gt_data IS INITAIL. 혹은 CHECK sy-subrc = 0. 등 조건과 함께 사용합니다.
다른 구문들은 바로 코드를 빠져나가지만, CHECK 구문은 조건에 부합하지 않으면 코드를 종료합니다.
CHECK 의 경우
PERFORM 에 사용한다면 퍼폼을 빠져나오고
IF 에 사용해도 해당 퍼폼을 빠져나오지만
LOOP 안에 사용한다면 해당 루프도 퍼폼도 빠져나오지 못합니다.
다만, LOOP 안의 다음 구문은 읽지 않고 다음 인터널테이블 라인을 읽습니다.
EXIT 구문은 EXIT. 단독으로 사용하며
EXIT을 만나는 즉시 실행됩니다.
EXIT을
PERFORM 에 사용한다면 퍼폼을 빠져나오고
IF 에 사용해도 해당 퍼폼을 종료하지만
LOOP 안에 사용하면 해당 루프는 종료하되, 퍼폼의 다음 구문은 실행합니다.
CANCEL 구문도 CANCEL. 단독으로 사용하며
CANCEL 을 만나는 즉시 실행됩니다.
CANCEL 을
PERFORM 에 사용한다면 퍼폼을 빠져나오고
IF 에 사용해도 해당 퍼폼을 빠져나오고
LOOP 안에 사용해도 루프를 나오는 동시에 해당 퍼폼도 빠져나옵니다.
해당 퍼폼 안의 다른 구문들을 읽지 않으니 주의할 필요가 있습니다.
STOP 구문은 단순합니다.
STOP. 단독으로 사용하며 만나는 즉시 실행됩니다.
PERFORM, IF, LOOP 어느 곳에 사용하든 퍼폼도 나오고 다음 이벤트 블럭으로 이동합니다.
퍼폼 뒤에 다른 퍼폼이 있어도 전부 빠져나와 다음 EVENT BLOCK 으로 이동하기에
꼭 필요한 순간이 아니라면 조심히 사용해야할 명령어입니다.
코드를 종료하는 다양한 방법이 있으니
상황에 맞는 적절한 구문을 활용하면 깔끔하고 논리적인 코딩을 할 수 있겠습니다.
조금 더 쉬운 정리를 원하시면 블로그 방문을 추천드립니다.
https://blog.naver.com/dailysap/223202794585
감사합니다.
'SAP > ABAP' 카테고리의 다른 글
handle_data_changed vs handle_data_changed_finished 차이, mc_evt_modified vs mc_evt_enter 차이점 (0) | 2023.09.12 |
---|---|
SAP ABAP Dictionary Table Currency/Quantity Fields 탭 (0) | 2023.07.04 |