ABAP에서 논리 연산자는 두 개 이상의 조건을 결합하여 하나의 논리적 결과를 도출하는 데 사용됩니다. 논리 연산자는 주로 IF 문, CASE 문, WHILE 루프 등의 제어 구문에서 활용됩니다.
| 연산자 | 의미 | 사용 예시 |
|---|---|---|
| AND | 논리곱(양쪽 모두 참일 때 참) | IF a > 0 AND b > 0. |
| OR | 논리합(하나라도 참이면 참) | IF a > 0 OR b > 0. |
| NOT | 부정(참이면 거짓, 거짓이면 참) | IF NOT ( a > 0 ). |
ABAP에서 논리 연산자의 우선순위는 다음과 같습니다 (위에서부터 높은 우선순위):
우선순위가 불분명하거나 복잡한 조건의 경우, 괄호 () 를 사용하여 명확하게 표현하는 것이 좋습니다.
* 예시 1: 우선순위에 따른 실행
IF a > 0 AND b > 0 OR c > 0.
" 이 코드는 (a > 0 AND b > 0) OR c > 0 와 같이 실행됩니다
ENDIF.
* 예시 2: 괄호를 사용하여 우선순위 변경
IF a > 0 AND ( b > 0 OR c > 0 ).
" 명시적으로 우선순위 지정
ENDIF.
* 예시 3: NOT 연산자 사용
IF NOT ( a <= 0 OR b <= 0 ).
" 이 코드는 a > 0 AND b > 0 와 같습니다 (드모르간 법칙)
ENDIF.
이러한 논리 연산자를 적절히 활용하면 효율적이고 명확한 ABAP 프로그램을 작성할 수 있습니다.