SAP 테이블 오브젝트 Dictionary 테이블 (DD03L 등)

SAP에서는 도메인, 엘리먼트, 테이블 필드 정보, 테이블 세팅 정보 등 각종 오브젝트 정보 역시 딕셔너리 테이블로 관리하고 있습니다.

테이블을 구성하는 오브젝트 요소를 관리하는 DDIC 테이블 중, 테이블, 테이블 포함 필드, 외래키, 테크니컬 세팅 정보 등 자주 사용되는 내역을 정리해 보았습니다.

 

테이블 정보를 위한 DDIC 테이블

테이블 정보를 관리 – DD02L

Table : DD02L

쉽게 정리하면, 테이블 에 대한 header 정보를 담고 있습니다. 주요 필드 몇 가지를 살펴보겠습니다.

DD02L-TABCLASS : Transparent Table임을 나타내고 있습니다.

DD02L TABCLASS

DD02L-CONTFLAG : Application Table임을 나타내고 있습니다.

DD02L CONTFLAG

DD02L-EXCLASS : 캐릭터 타입 및 숫자 타입의 필드로 Enhancement가 가능함을 나타내고 있습니다.

DD02L EXCLASS

아래의 구문은 Z로 시작하는 테이블의 리스트를 가져온 후, 조회된 테이블의 필드 정보를 조회하는 쿼리 구문입니다.

  SELECT *    
    FROM DD02L    
    INTO CORRESPONDING FIELDS OF TABLE GT_DD02L    
    WHERE TABNAME LIKE 'Z%'    
    AND AS4LOCAL = 'A'    
    AND TABCLASS IN ('INTTAB', 'TRANSP', 'VIEW')    
    AND AS4USER = SYUNAME    
    AND AS4DATE >= SYDATE.    
    
  CHECK GT_DD02L[] IS NOT INITIAL.    
    
  SELECT *    
    FROM DD03VT    
    INTO CORRESPONDING FIELDS OF TABLE GT_DD03L    
    FOR ALL ENTRIES IN GT_DD02L    
    WHERE TABNAME = GT_DD02L-TABNAME    
    AND AS4LOCAL = 'A'    
    AND DDLANGUAGE = SY-LANGU.

테이블의 텍스트를 관리 – DD02T

Table 마스터 테이블의 텍스트를 관리합니다.

Table : DD02T

DD02T

ABAP 코드에서는 아래와 같이 LAUNGUAGE 값으로 필터링 할 수 있습니다.

...
WHERE DDLANGUAGE = SY-LANGU
…

Table에 속해있는 Field 정보 Dictionary 테이블 – DD03L, DD03VT

이 테이블의 경우에는, 해당 테이블에 속한 필드의 속성을 알 수 있기 때문에 자주 사용되는 테이블입니다.

Table : DD03L

테이블이 담고 있는 필드의 속성의 주요 내용은 다음과 같습니다.

  • 필드의 Domain
  • 필드가 참조하는 Check Table
  • 필드가 참조하는 Curr/Quan 테이블/필드
  • 필드의 Data Type

아래의 경우 FIELNAME과 POSITION을 가져와서 활용하는 ABAP 코드입니다.

SELECT FIELDNAME POSITION    
    FROM DD03L    
    INTO CORRESPONDING FIELDS OF TABLE GT_DD03L    
    WHERE TABNAME = P_TABLE    
    AND  AS4LOCAL = 'A'.

다음은 CHECK TABLE에 대한 정보를 나타냅니다.

DD03L CHECK TABLE

필드의 텍스트는 엘리먼트의 text를 따라 갑니다. 따라서 text 필드는 DD04T에서 조회할 수 있으며 , DD03L의 ROLLNAME 필드와 Join을 걸게 되면 Field Text를 가져 올 수 있습니다.

그러므로 BSEG-SGTXT의 예를 본다면, 다음 결과 중에서 언어키(DDLANGUAGE)에 물려 조회가 될 것 입니다.

dd04t

테이블 및 관련 필드를 참조하고자 할 때에는 DD03VT 뷰 테이블 역시 많이 사용됩니다.

Table : DD03VT
SELECT *    
      FROM    DD03VT    
      INTO CORRESPONDING FIELDS OF TABLE LT_DD03VT    
      WHERE TABNAME = I_STRUCT    
      AND DDLANGUAGE = SY-LANGU    
      AND AS4LOCAL = 'A'.
        

테이블 Foreign key Dictionary 테이블

헤더 테이블 – DD08L

테이블에 정의되어 있는 외래키 정보를 담고 있는 헤더 테이블입니다.

Table : DD08L

DD08L

라인 아이템 테이블 – DD05S

외래키로 구성되어 있는 필드 라인 아이템 정보를 담고 있습니다.

Table : DD05S

테이블에 속한 필드에 정의된 Foreign key Relation 필드 리스트 정보를 담고 있습니다.

DD05S

해당 필드가 Check table의 어떤 필드들과 관계를 맺고 있는지, 쉽게 이야기 하면 Foreign key 정보의 Line item 정보를 담고 있는 테이블입니다.

외래키 텍스트 테이블 – DD08T

외래키 정보에 대한 텍스트는 아래의 테이블에서 관리되고 있습니다.

Table : DD08T

DD08T

테이블 Tehcnical Setting 정의 Dictionary 테이블 – DD09L

테이블에 대한 Table space(=data class)와 Size Category 등 Technial Setting에 대한 값을 가지고 있습니다.

Table : DD09L

DD09L


이상으로 자주 사용되는 테이블 오브젝트 관련 Dictinary 테이블을 알아보았습니다.

함께 보면 좋은 글

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

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

SAP ABAP REPLACE 문자열 예제 정리