Ranges 테이블 타입이란 LOW, HIGH, OPTION, SIGN 필드를 갖고 있는 범위 범주 데이터 타입을 이야기합니다.
이번 포스팅은 ABAP Range Table Type 생성하는 방법에 대해서 정리해 보았습니다.
Range Table Type 이란
ABAP Range Table Type은 데이터의 값을 범위로 표현하거나, 여러 값을 그룹핑하여 다루고자 할 때 사용합니다. 특정 범위 사이의 숫자, 혹은 일정 범위의 날짜 등등, 테이블에서 값을 조회시에 여러 항목을 선택하고자 할 때 사용합니다.
Range 타입은 다음의 구조를 가진 Table Type 입니다.
- LOW : 하한값
- HIGH : 상한값
- OPTION: EQ(Equal), BT(Between), CP(Contain Pattern) 등
- SIGN: I(Include), E(Exclude)
일반적으로 소스상에서는 다음과 같은 형태로 Range Type이 결정된다.
리포트 스크린 정의
스크린에서 범위를 선택할 때 사용이 됩니다.
SELECT-OPTIONS : SO_RACCT FOR BSEG-HKONT.
소스 DATA Variable 선언
ABAP 소스에서는 RANGES나 TYPE RANGE OF 키워드로 사용이 됩니다.
RANGES : LR_RACCT FOR BSEG-HKONT.
DATA : LR_KOSTL TYPE RANGE OF KOSTL.
DATA : LR_KSTAR TYPE TABLE OF SELOPT.
SE11에서 Range Table Type Dicitonary 생성
RANGES TABLE TYPE은 SE11에서 생성할 수 있습니다.
SE11에서 Data type 항목에서 ZRANGE_T – Create 예시를 작성해 보았습니다.
Table Type을 선택하여 생성한 후, 메뉴-Edit 에서 Range Type으로 변경하여 줍니다.
LOW/HIGH 값의 DATA TYPE으로 사용될 ELEMENT를 기술하고 Structure 이름을 입력한 후 Create 버튼을 클릭하여 생성합니다.
Structured Row type : ZRANGE_S
Ranges table type : ZRANGES_T
소스에는 예를 들면, 다음과 같이 적용될 수 있습니다.
이상으로 ABAP 범위 타입인 Range Table Type 생성하는 방법에 대해서 알아보았습니다.
ABAP에서 제공하는 RANGE TYPE에 대해서 좀 더 자세한 사항은 아래의 SAP 공식 문서를 참조해 보시기 바랍니다.
함께 보면 좋은 글
SAP ABAP SY 시스템 변수 정리, SY-SUBRC 등
SAP Predefined ABAP Type 고정 길이 자주 쓰는 형 정리
SAP ABAP FIND 사용법 String 패턴 검색 예제 모음