✅ 1. SELECT-OPTIONS란?
- 사용자에게 여러 값, 범위, 조건을 입력 받을 수 있는 필드를 생성.
- 하나의 필드로 다중 입력, 범위 입력, 제외 조건 등 다양한 입력을 받을 수 있음.
- 기본적으로 내부 테이블 형태로 구성됨.
✅ 2. 내부 구조 (내부 테이블 필드)
SELECT-OPTIONS는 다음 네 가지 필드로 구성된 내부 테이블을 자동으로 생성함:
필드명 | 설명 | 예시 |
SIGN | I(Include) or E(Exclude) | I → 포함 / E → 제외 |
OPTION | 조건 연산자 | EQ, NE, BT, CP 등 |
LOW | 비교 기준 값 (또는 범위의 시작) | ‘19991213’ |
HIGH | 범위 조건의 끝 | ‘20010101’ |
✅ 3. 코드 흐름 요약
- zemployees 테이블에서 모든 레코드를 조회하고,
- DOB(생년월일)이 선택화면에서 사용자가 입력한 조건(my_dob) 에 포함되는지 확인.
- 포함되면 WRITE로 출력.
✅ 4. 예제 시나리오
- 사용자가 선택화면에서 아무 값도 입력하지 않으면 my_dob 테이블은 비어있고, 모든 레코드가 출력됨.
- 사용자가 특정 날짜 (예: 19581202)를 입력하면 SIGN = I, OPTION = EQ, LOW = 19581202 값의 내부 테이블이 생성됨.
- 이 상태에서 zemployees-dob IN my_dob 조건이 만족하면 해당 레코드가 출력됨.
- Multiple Selection 버튼을 통해 다중 입력, 범위 입력, 제외 조건 입력 가능함.
예:
- 포함 조건: EQ 19581202, EQ 19771213
- 제외 조건: BT 19990101~20021220
✅ 5. IN 조건의 마법
IF zemployees-dob IN my_dob.
- 이 한 줄로 모든 조건을 자동으로 평가해줌.
- 내부적으로 SIGN, OPTION, LOW, HIGH를 순회하며 비교함.
- 조건을 일일이 IF문으로 안 써도 되는 큰 장점이 있음.
🔍 결론
- SELECT-OPTIONS는 복잡한 사용자 입력을 간편하게 처리할 수 있는 강력한 도구
- 내부적으로 생성되는 구조를 이해하면, 이후 SELECT 조건이나 조건문 작성이 쉬워짐!.
- IN 구문은 복잡한 필터링 로직을 아주 간단하게 만들어주는 핵심 포인트!
'SAP' 카테고리의 다른 글
SAP ABAP Programming for Beginners - 59 Selection Screens Text Elements (0) | 2025.04.13 |
---|---|
SAP ABAP Programming for Beginners - 58 No-EXTENSION (0) | 2025.04.13 |
SAP ABAP Programming for Beginners - 56 Select Options (0) | 2025.04.13 |
SAP ABAP Programming for Beginners - 55 CheckBox체크박스 (0) | 2025.04.13 |
SAP ABAP Programming for Beginners - 54 Parameters (0) | 2025.04.13 |