CS Student’s SAP&Tech Journey✨
[SAP] 조건문 IF, ELSE / 조건 연산자 IS INITIAL, BETWEEN, CA 본문
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.
'SAP > ABAP 문법 | Open SQL' 카테고리의 다른 글
[SAP] SELECT * / SELECT SINGLE 필드 / SELECT SINGLE * 총정리 (0) | 2025.02.08 |
---|---|
[SAP] SELECT SINGLE과 SELECT의 차이 / 변수 접두사 정의하기 (0) | 2025.01.31 |
[SAP] 시스템 변수 SY-XXXX 한눈에 정리하기 (0) | 2025.01.30 |
[SAP] 반복문 DO, WHILE (0) | 2025.01.30 |
[SAP] 코드 저장 및 실행하기 / WRITE 와 PARAMETERS (0) | 2025.01.24 |