쌓고 쌓다
[ABAP] SELECT-OPTIONS 본문
SELECT_OPTIONS

입력 필드의 값을 복잡한 조건을 지정하여
SELECT의 WHERE절에 사용할 수 있다.
입력 값의 범위내를 검색한다던지, 제외하여 검색한다던지 할 수 있다.

기본 구분은 위와 같다. 변수 선언시 사용하는 TYPE이 아닌
FOR을 사용해야함을 유의하자.
name : 입력 필드의 이름
data object : 데이터 오브젝트의 필드 (데이터 타입이 아님을 유의)
예제
예약 날짜를 이용해 DB 테이블에서 데이터를 조회하는 프로그램을 만들어보자.

SBOOK의 Structure 타입을 가지고 GS_BOOKING이라는 Object를 생성한다.
SELECT-OPTIONS를 구문을 이용해
SO(SELECT OPTIONS)_DATE를 선언한다.
SELECT-OPTIONS에 TYPE이 아닌 FOR이 오는것을 유의하자.
FOR 뒤에는 날짜 필드인 FLDATE를 적어준다.

SELECT-OPTION로 선언한 변수는
SELECT문의 조건절 WHERE에 '='이 아닌 IN이 온다.

SELECT-OPTIONS의 초기값을 설정하고 싶다면
INITIALIZATION 블럭안에 작성하면 된다.
SELECT-OPTIONS 변수들은 Internal Table이 된다.
이 테이블 타입의 필드에는 다음 4가지 필드를 갖게 된다.
SIGN : I(포함), E(제외) 값을 넣어줄 수 있다.
OPTION : BT(between), ET(Equal) 등등의 값이 올 수 있다.
LOW : 최소값
HIGH : 최대값

입력 필드를 더블클릭하여 I, E를 설정할 수도 있다.
SELECT-OPTIONS 변수는 Internal Table이라고 했다.
이 Internal Table에 어떠한 값도 들어가 있지 않는다면
조건과 무관하게 모든 결과가 조회된다.
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] WRITE 기본 문법, SELECTION-OPTIONS (2) | 2025.01.21 |
|---|---|
| [ABAP] Subscreen, Tabstrip (0) | 2025.01.18 |
| [ABAP] WITH HEADER LINE (0) | 2025.01.16 |
| [ABAP] SELECT, INTO CORRESPONDING FIELDS OF (0) | 2025.01.15 |
| [ABAP] Status Icon (4) | 2025.01.14 |