ABAP Ranges Table Type 생성 방법(SE11)

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.

스크린에서 SELECT-OPTIONS

소스 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 예시를 작성해 보았습니다.

SE11 TABLE CREATE

Table Type을 선택하여 생성한 후, 메뉴-Edit 에서 Range Type으로 변경하여 줍니다.

DEFINE AS RANGES TABLE TYPE

LOW/HIGH 값의 DATA TYPE으로 사용될 ELEMENT를 기술하고 Structure 이름을 입력한 후 Create 버튼을 클릭하여 생성합니다.

Structured Row type : ZRANGE_S
Ranges table type : ZRANGES_T

RANGE 엘리먼트 지정

소스에는 예를 들면, 다음과 같이 적용될 수 있습니다.

소스코드 상에서의 RANGES TYPE 활용

이상으로 ABAP 범위 타입인 Range Table Type 생성하는 방법에 대해서 알아보았습니다.

ABAP에서 제공하는 RANGE TYPE에 대해서 좀 더 자세한 사항은 아래의 SAP 공식 문서를 참조해 보시기 바랍니다.

Ranges Table Types

함께 보면 좋은 글

SAP ABAP SY 시스템 변수 정리, SY-SUBRC 등

SAP Predefined ABAP Type 고정 길이 자주 쓰는 형 정리

SAP ABAP FIND 사용법 String 패턴 검색 예제 모음