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를 설정할 수도 있다.