쌓고 쌓다
[ABAP] Fixed Value(Value Range) 값 JOIN으로 가져오기 (DD07T) 본문
기존에 Fixed Value(Value Range)의 값을 읽어오는 방법에 대해 검색을 해보면
'GET_DOMAIN_VALUES' 메소드로 Fixed Value에 값들을 읽고
LOOP문으로 테이블 데이터를 돌며 READ로 값을 채워주는 방식이다.
그런데 SELECT로 데이터를 가져올때
JOIN문을 사용해서 Fixed Value(Range Value)를 채워줄 수 있는 방법이 있다!
1. DD07T 테이블

Fixed Value(Range Value)의 값들은 모두 DD07T라는 DB에 저장되어 있기 때문에
JOIN문을 가지고 텍스트 값을 가져올 수 있다.
간단하게 흡연, 비흡연자를 구분하는 Fixed Value(Value Range)를 예제를 들어보겠다.
먼저 사람 테이블에 흡연 여부를 구분하는 필드 SMOKE가 있다고 하자.
SMOKE 필드의 Domain에 아래와 같이 Fixed Value(Value Range)가 설정되어 있다.

(사람 테이블의 흡연 필드에 DOMAIN 설정된 사진)
Fixed Value(Value Range)에 값을 설정하면
Fixed Value(Value Range) 값들을 관리하는 DD07T라는 DB 테이블에 값이 들어간다.
*빈값(공백)을 넣어줘야한다. 빈 값을 넣을때 발생하는 에러를 방지할 수 있다.

DD07T의 내용이다.
DOMNAME : 도메인명
DOMVALUE_L : Fixed Value(Value Range) 값
DDTEXT : Fixed Value(Value Range) 텍스트
2. SELECT 쿼리
먼저, 흡연 여부 텍스트를 저장하여 보여줄 컬럼을 추가한 타입은 다음과 같다.

(SMOKE_TEXT 컬럼을 추가한 구분)

위의 사진처럼 데이터가 존재한다.
SELECT 하나의 쿼리로 위의 Fixed Value를 읽어와 값을 넣는 쿼리는 다음과 같다.

위의 쿼리 하나로 기존의 LOOP를 돌며 READ하여 값들을 넣어주는 동작들을 생략할 수 있다!

쿼리 결과
전체 코드
*&---------------------------------------------------------------------*
*& Report ZS4H086_TEST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZS4H086_TEST.
INCLUDE ZS4H086TESTTOP.
INCLUDE ZS4H086TESTO01.
INCLUDE ZS4H086TESTI01.
INCLUDE ZS4H086TESTF01.
TYPES : BEGIN OF TY_PERSON,
NAME TYPE ZS4H086T06-NAME,
SMOKE TYPE ZS4H086T06-SMOKE, " 흡연 여부
SMOKE_TEXT TYPE DD07V-DDTEXT, " 흡연 여부 텍스트
END OF TY_PERSON.
DATA : GT_PERSON TYPE TABLE OF TY_PERSON.
START-OF-SELECTION.
SELECT A~NAME, A~SMOKE, B~DDTEXT AS SMOKE_TEXT
INTO CORRESPONDING FIELDS OF TABLE @GT_PERSON
FROM ZS4H086T06 AS A " PERSON DB테이블
LEFT OUTER JOIN DD07T AS B " Fixed Value 테이블
ON B~DOMVALUE_L = A~SMOKE " 흡연 여부
AND B~DOMNAME = 'ZD_SMOKE' " 도메인명
AND B~DDLANGUAGE = @SY-LANGU. " 흡연 텍스트
CL_DEMO_OUTPUT=>DISPLAY( GT_PERSON ).
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] 메일에 Internal Table을 Excel로 첨부하기 (2) | 2025.10.17 |
|---|---|
| [ABAP] HTML 이메일 전송, String으로 Excel 파일 첨부, 한글 깨짐 문제 (0) | 2025.10.16 |
| [ABAP] Selection Texts의 DDIC Reference (6) | 2025.10.10 |
| [ABAP] 동적 ALV Field Catalog (0) | 2025.09.16 |
| [ABAP] 엑셀 업로드와 BDC 프로그램 (0) | 2025.09.15 |