SELECT-OPTIONS ❓
SELECT-OPTIONS이란 ABAP에서 입력 변수 중 하나이다.
PARAMETER와 다르게 SELECT-OPTIONS을 사용하게 되면 모양이 아래와 같다.
전달한 변수와 동일한 형태의 입력필드를 만들어서 사용자에게 검색조건에 대한 정보를 입력받는다.
테이블에서 다수를 가져오고 싶을 때 범위를 통해 데이터를 가져올 수 있다.
SELECT-OPTIONS는 헤더라인을 가진 Internal Table이어서 같은 이름을 가진 Structure를 가지고 있다.
I : Include -> 설정한 값 포함
E : Exclude -> 설정한 값 제외
EQ (같다) , NE (같지 않다) , BT (Between) 등 연산자이다.
연산자는 아래 링크를 통해 더 자세하게 알아볼 수 있습니다.
ABAP 연산자
LOW - 시작점
HIGH - 끝나는 점
10일부터 20일 사이에 해당되는 항공사를 포함시켜라 라고 한다면
SELECT-OPTIONS so_ex FOR sflight-fldate.
* Select Option 초기값
so_ex-sign = 'I'.
so_ex-option = 'BT'.
so_ex-low = 10.
so_ex-high = 20.
APPEND so_ex.
이렇게 옵션을 추가해주면 된다.
또 SELECT-OPTIONS에서 중요한 점은 TYPE 대신 FOR를 쓴다는 점이다.
SELECT-OPTIONS so_ex FOR sflight-fldate.
이렇게 사용을 하는데 FOR 뒤에 오는 건 TYPE이 아니라 변수여야 한다.
그리고 WHERE절을 사용할 때 꼭 IN을 사용해야 한다.
검색조건이 들어있는 internal table을 대상으로 할 때, 그 안에 있는 조건을 사용하기 위해 IN을 사용
EQ를 쓰면 internal table과 똑같은 값을 찾겠다.
IN을 쓰면 intetnal table안에 있는 조건으로 값을 찾겠다라는 뜻