ABAP 딕셔너리

박재완·2025년 1월 25일

SAP ABAP (1 ~ 8일차)

목록 보기
7/8

ABAP 딕셔너리

ABAP 딕셔너리(SAP Data Dictionary)는 SAP 시스템에서 데이터베이스 정의, 데이터 구조 관리, 데이터 타입 생성 및 데이터 일관성을 유지하기 위한 도구입니다. 딕셔너리는 SAP 시스템과 데이터베이스 간의 인터페이스 역할을 하며, 데이터베이스 객체를 정의하고 관리합니다.


1. Describing the ABAP Dictionary

ABAP 딕셔너리란?
  • SAP 시스템의 데이터 정의 언어(DDL)로, 데이터베이스 테이블, 데이터 요소, 도메인, 뷰, 검색 도움말 등을 정의하고 관리.
  • 물리적 데이터베이스와 연결되어 있으며, 데이터 모델을 설계하고 데이터 무결성을 보장.
ABAP 딕셔너리의 주요 구성 요소
  1. 테이블 (Tables):

    • 투명 테이블(Transparent Tables): 데이터베이스와 직접 연결.
    • 클러스터 테이블(Cluster Tables): 여러 논리적 테이블이 하나의 물리적 테이블에 저장.
    • 풋 테이블(Pooled Tables): 여러 테이블이 하나의 테이블에 그룹화되어 저장.
  2. 데이터 요소 (Data Elements):

    • 필드에 사용될 데이터 타입, 길이, 설명을 정의.
    • 재사용 가능하며, 사용자 정의 가능.
  3. 도메인 (Domains):

    • 필드의 속성(데이터 타입, 길이, 유효 값)을 정의.
    • 데이터 무결성을 보장하고 데이터 요소의 일관성을 유지.
  4. 뷰 (Views):

    • 여러 테이블의 데이터를 논리적으로 통합하여 보여줌.
    • 읽기 전용.
  5. 검색 도움말 (Search Helps):

    • 사용자 입력 필드에서 데이터를 검색할 때 도움을 제공.
ABAP 딕셔너리와 데이터베이스의 관계
  • 일관성 보장: 딕셔너리에서 정의된 모든 객체는 데이터베이스와 동기화되어 유지.
  • 물리적/논리적 분리: 개발자는 논리적 객체만 다루며, 물리적 데이터베이스 작업은 딕셔너리가 관리.

2. Creating Domains and Data Elements

1. 도메인 (Domains)
  • 정의: 필드의 데이터 타입, 길이, 유효 값 범위를 지정.

  • 역할: 데이터 요소를 통해 여러 테이블과 필드에서 재사용 가능.

  • 도메인 생성 절차:

    1. 트랜잭션 코드 SE11 실행.
    2. 도메인 이름 입력 후 "Create" 버튼 클릭.
    3. Data Type, Length, Decimal Places 등 속성 입력.
    4. Value Range 탭에서 유효 값 범위를 설정.
    5. 도메인 활성화(Activate).
  • 예제:
    도메인 ZAGE_DOMAIN 정의

    • 데이터 타입: NUMC.
    • 길이: 3.
    • 유효 값 범위: 0에서 120.
2. 데이터 요소 (Data Elements)
  • 정의: 데이터 필드의 의미, 도메인과 연결된 속성, 설명을 정의.

  • 역할: 테이블 필드, 구조체 필드 등에서 사용 가능.

  • 데이터 요소 생성 절차:

    1. 트랜잭션 코드 SE11 실행.
    2. 데이터 요소 이름 입력 후 "Create" 버튼 클릭.
    3. Domain 필드에 생성한 도메인 이름 입력.
    4. 설명 및 추가 속성 입력 후 활성화.
  • 예제:
    데이터 요소 ZEMP_AGE 정의

    • 도메인: ZAGE_DOMAIN.
    • 설명: "Employee Age".
도메인과 데이터 요소의 관계
  • 도메인: 데이터의 기술적 속성을 정의.
  • 데이터 요소: 도메인을 활용하여 필드의 의미를 부여.

3. Creating Transparent Tables

투명 테이블(Transparent Tables)란?
  • 물리적 데이터베이스 테이블과 1:1로 매핑되는 테이블.
  • 데이터를 직접 저장하며, Open SQL을 통해 읽고 쓸 수 있음.
투명 테이블 생성 절차
  1. 테이블 정의:

    • 트랜잭션 코드 SE11 실행.
    • 테이블 이름 입력 후 "Create" 버튼 클릭.
  2. 필드 정의:

    • 각 필드의 이름, 데이터 요소를 입력.
    • 기본 키(Primary Key) 필드 지정.
  3. 기술 설정 (Technical Settings):

    • 테이블 데이터의 물리적 저장 방법 정의.
    • 데이터 클래스, 크기 카테고리 설정.
    • 로그 활성화 여부 선택.
  4. 외래 키 설정 (Optional):

    • 다른 테이블의 기본 키를 참조하여 데이터 무결성 유지.
  5. 테이블 활성화:

    • 테이블 정의 완료 후 "Activate" 버튼 클릭.
예제: 투명 테이블 ZEMPLOYEE
  • 필드 정의:
    | 필드 이름 | 데이터 요소 | 설명 | 데이터 타입 |
    |-----------|-------------|--------------|-------------|
    | EMP_ID | ZEMP_ID | Employee ID | NUMC(10) |
    | EMP_NAME | ZEMP_NAME | Employee Name| CHAR(50) |
    | EMP_AGE | ZEMP_AGE | Employee Age | NUMC(3) |
SELECT * FROM zemployee INTO TABLE lt_employees.
LOOP AT lt_employees INTO DATA(ls_employee).
  WRITE: / 'ID:', ls_employee-emp_id, 'Name:', ls_employee-emp_name, 'Age:', ls_employee-emp_age.
ENDLOOP.

ABAP 딕셔너리의 추가 개념

1. 뷰(Views)
  • 여러 테이블의 데이터를 조합하여 논리적으로 보여줌.
  • 뷰의 유형:
    • Database Views: 데이터베이스에 물리적으로 존재.
    • Projection Views: 특정 필드만 표시.
    • Help Views: 검색 도움말에 사용.
    • Maintenance Views: 데이터 입력 및 유지보수에 사용.
2. 검색 도움말(Search Helps)
  • 사용자 입력 필드에서 데이터를 검색하고 선택할 수 있도록 지원.
  • 검색 도움말을 테이블 필드와 연결하여 사용.
3. 테이블 유지보수 생성(Maintenance Views)
  • 테이블 데이터를 쉽게 관리할 수 있는 사용자 인터페이스 생성.

요약

  1. ABAP 딕셔너리: 데이터베이스와 SAP 시스템 간 데이터 정의 및 관리 도구.
  2. 도메인과 데이터 요소: 재사용 가능한 데이터 속성 정의 및 필드 의미 부여.
  3. 투명 테이블: 데이터베이스와 직접 연결된 물리적 테이블.
  4. 뷰와 검색 도움말: 데이터 조회 및 사용자 입력 지원.
profile
안녕하세요!

0개의 댓글