CS Student’s SAP&Tech Journey✨

[SAP] 조건문 IF, ELSE / 조건 연산자 IS INITIAL, BETWEEN, CA 본문

SAP/ABAP 문법 | Open SQL

[SAP] 조건문 IF, ELSE / 조건 연산자 IS INITIAL, BETWEEN, CA

인포마틱 2025. 1. 30. 21:43

ABAP에서 조건문과 논리 연산자는 프로그램의 흐름을 제어하는 중요한 요소입니다. 이번 포스팅에서는 IF, ELSEIF, ELSE의 기본 문법과 IS NOT INITIAL과 <>의 차이BETWEEN, CA 등의 조건 연산자 활용법을 다루겠습니다.

 


 

📌 IF, ELSEIF, ELSE 기본 문법 

ABAP의 조건문은 다음과 같은 구조로 작성됩니다.

IF 조건.
    " 조건이 참일 경우 실행되는 코드
ELSEIF 다른_조건.
    " 첫 번째 조건이 거짓이고, 두 번째 조건이 참일 경우 실행되는 코드
ELSE.
    " 위의 모든 조건이 거짓일 경우 실행되는 코드
ENDIF.

예제) 숫자의 음수, 양수, 0 판단하기

DATA lv_number TYPE i VALUE 10.

IF lv_number > 0.
    WRITE: '양수입니다.'.
ELSEIF lv_number < 0.
    WRITE: '음수입니다.'.
ELSE.
    WRITE: '0입니다.'.
ENDIF.

 

📌 IS NOT INITIAL과 <> (다름)의 차이

ABAP에서는 특정 변수가 초기화되지 않았는지를 확인할 때 IS NOT INITIAL을 사용합니다. <>는 값이 서로 다른지를 비교할 때 사용됩니다.

- IS INITIAL

변수가 초기 상태(비어 있음)인지 확인할 때 사용합니다.

- < >

두 값이 다른지를 비교할 때 사용합니다.

DATA lv_text TYPE string.

IF lv_text IS INITIAL.
    WRITE: '변수 lv_text가 초기 상태입니다.'.
ENDIF.

lv_text = 'ABAP'.

IF lv_text IS NOT INITIAL.
    WRITE: '변수 lv_text에 값이 들어 있습니다.'.
ENDIF.

IF lv_text <> 'SAP'.
    WRITE: '변수 값이 SAP가 아닙니다.'.
ENDIF.

 

📌 BETWEEN, CA 등의 조건 연산자 활용법

- BETWEEN (범위 비교)

BETWEEN을 사용하면 특정 값이 지정된 범위 안에 있는지를 확인할 수 있습니다.

DATA lv_num TYPE i VALUE 50.

IF lv_num BETWEEN 10 AND 100.
    WRITE: '10과 100 사이의 값입니다.'.
ELSE.
    WRITE: '범위를 벗어난 값입니다.'.
ENDIF.

- CA (포함 여부 확인)

CA는 특정 문자가 문자열 내에 포함되어 있는지를 검사할 때 사용됩니다.

DATA lv_word TYPE string VALUE 'ABAP'.

IF lv_word CA 'BP'.
WRITE: 'B 또는 P 문자가 포함되어 있습니다.'.
ELSE.
WRITE: 'B 또는 P 문자가 포함되지 않았습니다.'.
ENDIF.