SAP ABAP 데이터 사전(SE11)
⚡ 스마트 요약
SAP ABAP 데이터 사전(SE11)은 ABAP에서 사용되는 모든 메타데이터 정의를 중앙 집중화합니다. SAP 애플리케이션. 이 페이지에서는 도메인, 데이터 요소, 테이블의 세 가지 재사용 가능한 수준과 뷰, 검색 도움말, 잠금 객체와 같은 집계 객체에 대해 설명합니다.
데이터 사전이란 무엇입니까?
데이터 사전은 정보 관리 시스템의 데이터에 대한 정보의 중앙 소스입니다. 주요 기능은 데이터 정의(또는 "메타데이터")의 생성 및 관리를 지원하는 것입니다.
In SAP이 중앙 저장소를 ABAP 딕셔너리라고 하며, 트랜잭션 SE11을 사용하여 관리합니다. ABAP 프로그램에서 사용하는 모든 테이블, 필드, 뷰 및 잠금은 여기에 한 번만 정의되어 모든 곳에서 재사용되므로 개별 프로그램 내에서 정의를 반복할 필요가 없습니다.
위 화면은 SE11의 초기 화면으로, 각 딕셔너리 객체 유형은 표시되거나 변경되기 전에 선택해야 합니다. 이러한 객체 유형을 살펴보기 전에, 그 이유를 이해하는 것이 도움이 됩니다. SAP 이 메타데이터는 이를 사용하는 프로그램 외부에 보관됩니다.
ABAP 사전이 중요한 이유
ABAP 사전이 존재하는 이유는 다음과 같습니다. SAP 데이터 설명과 데이터를 처리하는 프로그램을 분리합니다. 구매 문서 번호와 같은 필드는 정확히 한 번만 설명되며, 해당 필드를 필요로 하는 모든 보고서, 화면 및 기능 모듈은 그 단일 설명을 참조합니다.
이 핵심 정의는 네 가지 실질적인 이점을 제공합니다. 첫째, 도메인에 대한 변경 사항이 데이터 요소를 통해 해당 도메인을 참조하는 모든 필드에 즉시 반영되므로 일관성이 보장됩니다. 둘째, 개발자가 새로운 정의를 만드는 대신 기존 정의를 재사용하므로 중복이 사라집니다. Integrity 값 범위, 검사 테이블 및 외래 키는 애플리케이션 코드가 아닌 사전에서 유효성을 검사하므로 보호됩니다. 또한 사전은 데이터베이스에 독립적이므로 SE11에서 정의된 테이블은 기본 데이터베이스에 올바른 기본 유형으로 자동으로 생성됩니다.
이 사전은 런타임에도 활성화됩니다. 화면은 필드 레이블, 도움말 텍스트 및 값 범위를 사전에서 직접 읽어오므로 F1 도움말이나 F4 값 목록이 추가 코드 한 줄 없이 표시되는 것입니다. 아래의 세 가지 수준을 이해하면 이러한 재사용이 어떻게 구성되는지 알 수 있습니다.
ABAP 사전 3레벨
ABAP 사전의 개체는 재사용성을 지원하는 세 가지 수준에 있습니다. 이러한 수준은 다음과 같습니다.
- 도메인
- 데이터 요소
- 테이블 및 구조
각 단계는 이전 단계를 기반으로 합니다. 도메인은 기술적 속성을 제공하고, 데이터 요소는 이러한 속성에 비즈니스 의미를 부여하며, 테이블 또는 구조는 데이터 요소들을 그룹화하여 레코드를 구성합니다. 이제 이러한 요소들을 자세히 살펴보겠습니다.
도메인
- 테이블 필드의 기술적 특성을 설명합니다.
- 필드에 허용되는 데이터 값을 설명하는 값 범위를 지정합니다.
- 동일한 도메인을 참조하는 필드(할당된 데이터 요소를 통해)는 도메인이 변경되면 변경됩니다.
- 일관성 보장
전. 구매 문서 번호(EBELN)
위의 도메인 화면은 데이터 유형과 길이만 정의합니다. 해당 값의 비즈니스적 의미는 다음 단계인 데이터 요소에서 제공됩니다.
데이터 요소
- 기술적 맥락에서 필드가 수행하는 역할을 설명합니다.
- 의미론적 의미가 동일한 필드는 동일한 데이터 요소를 참조할 수 있습니다.
- 필드 정보가 포함되어 있습니다.
전. 구매 문서 번호(EBELN)
데이터 요소 화면에는 사용자가 화면에서 볼 수 있는 필드 레이블과 설명이 표시됩니다. 그런 다음 데이터 요소들이 결합되어 테이블이 생성됩니다.
테이블
- 데이터가 실제로 상주하는 데이터베이스 테이블을 나타냅니다.
- 테이블은 ABAP 사전의 데이터베이스와 독립적으로 정의될 수 있습니다.
- 테이블의 필드는 해당 (데이터베이스 독립적)으로 정의됩니다. SAP ABAP 데이터 유형 및 길이.
구조
- 데이터베이스 테이블에 해당하지 않는 레코드 선언입니다.
- 사용자 정의 데이터 유형과 같습니다.
- 테이블처럼 정의된 다음 ABAP 프로그램에서 주소를 지정할 수 있습니다.
- 구조에는 프로그램이 실행되는 동안에만 데이터가 포함됩니다.
아래 표는 세 가지 수준을 한눈에 비교할 수 있도록 정리되어 있습니다.
| 레벨 | 그것이 정의하는 것 | 데이터를 저장하나요? | 전형적인 예 |
|---|---|---|---|
| 도메인 | 기술적 속성: 데이터 유형, 길이, 값 범위 | 아니 | EBELN (CHAR 10) |
| 데이터 요소 | 의미론적 의미: 필드 레이블, 문서, F1 도움말 | 아니 | EBELN — 구매 문서 번호 |
| 작업대 | 데이터베이스에 생성된 필드 기록 | 네, 꾸준히요. | EKKO — 구매 문서 헤더 |
| Structure | 프로그램 내부에서만 사용되는 필드 목록 | 예, 실행 시에만 가능합니다. | 작업 공간 내부 테이블 |
ABAP 사전의 집계된 개체
집계된 수단은 여러 구성 요소로 구성됩니다. ABAP 사전에서 집계된 개체는 여러 다른 투명 테이블에서 나온 개체입니다.
- 조회수
- 검색 도움말
- 잠금 개체
자세히 살펴 보겠습니다.
조회수
- 의 조회수 SAP ABAP는 여러 테이블에 분산된 데이터를 요약하는 데 사용됩니다.
- 뷰의 데이터는 실제로 물리적으로 저장되지 않습니다. 대신 뷰의 데이터는 하나 이상의 다른 테이블에서 파생됩니다.
- 특정 응용 프로그램의 요구 사항에 맞게 조정되었습니다.
검색 도움말
- 검색 도움말은 시스템에서 데이터 기록을 검색하는 데 도움이 되는 도구입니다.
- 효율적이고 사용자 친화적인 검색은 레코드의 키를 알 수 없는 사용자를 지원합니다.
잠금 개체
- 동일한 데이터 레코드에 두 사용자가 동시에 액세스하는 경우 SAP 시스템은 잠금 장치에 의해 동기화됩니다.
- 잠금은 특정 기능 모듈을 호출하여 설정 및 해제됩니다. 이러한 기능 모듈은 ABAP/4 사전의 잠금 개체 정의에서 자동으로 생성됩니다.
기능 모듈 : 대기열_ – 테이블 dequeue_를 잠그려면 – 잠금을 해제하려면
⚠️ 경고: ENQUEUE 함수로 설정되고 DEQUEUE 함수로 해제되지 않은 잠금은 사용자 세션이 종료될 때까지 활성 상태로 유지됩니다. 프로그램의 오류 경로를 포함하여 항상 DEQUEUE 모듈을 호출해야 합니다.
객체 유형을 이해했으므로 다음 섹션에서는 SE11에서 투명 테이블을 생성하여 이를 적용합니다.
SE11에서 투명 테이블을 만드는 방법
투명 테이블은 데이터베이스의 물리적 테이블과 일대일 관계를 가지므로 가장 일반적인 딕셔너리 객체입니다. 아래 단계는 투명 테이블을 처음부터 생성하는 방법입니다.
- SE11을 엽니다: 트랜잭션 SE11을 입력하고 선택하십시오. 데이터베이스 테이블 라디오 버튼을 클릭하고 고객 네임스페이스(Z 또는 Y로 시작)에 맞는 이름을 입력한 후 선택하세요. 만들기.
- 간단한 설명과 배송 유형을 입력하세요: 에 Attributes 탭을 클릭하고 간단한 텍스트를 추가한 다음 배송 클래스를 설정하세요. 그러면 다음과 같은 내용이 표시됩니다. SAP 클라이언트 복사 또는 업그레이드 중에 데이터가 어떻게 동작하는지 설명합니다. 전달 클래스 A는 애플리케이션 데이터에 사용되고, C는 사용자 정의 데이터에 사용됩니다.
- 유지 관리 속성을 설정하세요: 왼쪽 메뉴에서 전시/유지보수 허용 그러면 나중에 SE55 또는 SM30을 사용하여 유지 관리 뷰를 생성할 수 있습니다.
- 필드를 정의하세요: 에 Fields 탭에서 MANDT를 첫 번째 키 필드로 데이터 요소 MANDT와 함께 추가한 다음 비즈니스 키 필드를 추가합니다. 모든 필드는 데이터 요소로 유형이 지정되며, 이 데이터 요소는 도메인을 참조하므로 앞서 설명한 세 가지 레벨이 재정의되지 않고 재사용됩니다.
- 기술 설정을 유지 관리합니다. 기술 설정 (트랜잭션 SE13)에서 데이터 클래스(예: 마스터 데이터의 경우 APPL0)와 예상 크기 범주를 설정합니다. 이러한 값은 테이블스페이스와 데이터베이스의 초기 크기를 결정합니다.
- 활성화 : PR 기사 활성화활성화 과정을 통해 데이터베이스에 실제 테이블이 생성되고, 해당 정의를 ABAP 프로그램에서 사용할 수 있게 됩니다.
💡 팁: 검증 테이블과 비교하여 유효성을 검사해야 하는 모든 필드에 대해 외래 키를 생성합니다. 그러면 딕셔너리가 자동으로 관계를 적용하므로 프로그램 내부에 유효성 검사 코드를 작성할 필요가 없습니다.
테이블이 활성화되면 ABAP 프로그램에서 직접 접근할 수 있습니다. SQL 열기아래 예시는 표준 사전 테이블 SCARR를 내부 테이블로 읽어들이고 그 내용을 나열합니다.
REPORT zdemo_ddic_read. * Internal table typed directly from the dictionary table SCARR DATA: lt_scarr TYPE STANDARD TABLE OF scarr, ls_scarr TYPE scarr. SELECT carrid carrname currcode FROM scarr INTO TABLE lt_scarr. LOOP AT lt_scarr INTO ls_scarr. WRITE: / ls_scarr-carrid, ls_scarr-carrname, ls_scarr-currcode. ENDLOOP.
내부 테이블은 `TYPE STANDARD TABLE OF scarr`로 형식이 지정되어 있으므로 모든 필드 길이와 데이터 형식은 사전에서 가져옵니다. 테이블 정의가 변경되면 프로그램은 활성화 후 별도의 편집 없이 변경 사항을 자동으로 반영합니다.
필수 ABAP 사전 트랜잭션 Codes
다음 트랜잭션은 딕셔너리 객체를 정의, 검사 및 유지 관리하는 일상적인 작업을 다룹니다.
| 거래 | 목적 |
|---|---|
| SE11 | 데이터 사전 초기 화면 (SE12 디스플레이 전용) |
| SE13 | ABAP 사전: 기술 설정 |
| SE14 | 데이터베이스 유틸리티 |
| SE15 | 저장소 정보 시스템 |
| SE16 | 데이터 브라우저 |
| SE17 | 일반 테이블 표시 |
| SE55 | 테이블 뷰 유지 관리 |
| SM30 | 테이블 관리 |









