SAP/ABAP
[ABAP] SELECT-OPTIONS
승민아
2025. 1. 18. 16:42
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를 설정할 수도 있다.