테이블 유형은 internal table의 구조와 기능적 속성을 설명합니다. 다른 글에서 ABAP Data Dictionary에서 전역 테이블 유형을 생성하는 방법을 배웠지만, 거기서는 기본 옵션(Default Option)으로 빠르게 테이블 유형을 정의하는 것에 대해서만 논의했습니다. 이 글에서는 테이블 유형에 대해 자세히 설명하고 ABAP Data Dictionary에서 테이블 유형을 정의하는 동안 사용할 수 있는 다양한 옵션을 다룰 것입니다.
ABAP Data Dictionary의 Dictionary: Change Table Type 화면의 Line Type 탭(아래 그림 참조)을 통해 테이블 유형의 Line Type을 유지할 수 있습니다. 이 Line Type은 그런 다음 Table Type의 구성 요소를 정의합니다. 이 테이블 유형을 참조하는 Internal Table은 테이블 유형의 Line Type에 따라 행 유형을 갖게 됩니다.
■ Line Type
이 필드에는 data element, structure, table type, table, view 등과 같은 기존에 존재하는 유형을 입력할 수 있습니다. 그런 다음 해당 유형의 속성이 테이블 라인의 속성으로 복사됩니다.
■ Predefined Type
이 옵션을 선택하면 ABAP Data Dictionary 유형, 길이 및 소수점을 수동으로 입력할 수 있습니다.
■ Reference Type
이 옵션을 사용하여 객체 참조( Object Reference : 클래스 또는 인터페이스) 또는 데이터 참조( Data Reference : elementary data type)를 지정할 수 있습니다.
Initialization and Access 탭 에서는 테이블 유형(Table Type) 및 초기 크기(Initial Size)와 같은 속성을 유지할 수 있습니다. 가능한 옵션은 다음과 같습니다.
■ Initial Line Number
이 값은 내부 메모리 관리에 사용되어 테이블의 초기 크기(Initial Size)를 할당합니다. 이는 ABAP 프로그램에서 내부 테이블을 정의할 때 INITIAL SIZE 라는 Addition을 사용하는 것과 유사합니다.
■ Access
Data Object가 테이블 유형을 참조할 때 정의되는 테이블의 종류를 선택할 수 있습니다. 다음 옵션은 액세스 영역에서 찾을 수 있습니다.
▶Standard Table : Standard Internal Table로 정의한다.
▶Sorted Table : Sorted Internal Table을 정의합니다. 키는 Primary Key와 Secondary Key 탭에서 구체화할 수 있습니다.
▶Hashed Table : Hashed Internal Table을 정의합니다. 키는 Primary Key와 Secondary Key 탭에서 구체화할 수 있습니다.
▶Index Table : Standard 및 Sorted Table에 대해 일반적인 테이블 범주를 정의합니다 (인덱스를 가지고 있기 때문에).
▶Not Specified : 모든 테이블 범주에 대해 일반적인 범주를 정의합니다 (모든 테이블 범주)
Generic Type은 ABAP Procedure의 Formal Parameter 또는 Field Symbol과 함께 형식을 일반화하는 데에만 사용할 수 있습니다.
Primary Key 탭을 사용하면 Primary Key를 정의할 수 있습니다. 이 속성은 이 테이블 유형을 참조하는 Internal Table에 설정됩니다. 이 화면에서 사용할 수 있는 옵션은 다음과 같습니다.
■ Key Definition
Key definition 영역에서, Primary Key에 대해 다음 중 하나를 정의할 수 있습니다.
▶ Standard Key : 이는 행의 모든 필드가 속한 Standard Key를 설정합니다.
이 옵션은 테이블 유형의 라인 유형이 테이블 유형 자체가 아니거나 라인 유형에 테이블 유형 구성 요소가 없는 경우에만 선택할 수 있습니다.
▶ Line Type : primary key는 테이블 유형에 사용되는 라인 유형입니다
▶ Key Components : 기본 키 필드는 "구성 요소 선택" 버튼을 클릭하여 수동으로 선택할 수 있습니다
▶ Not Specified : 이것은 키가 정의되지 않은 일반적인 테이블 유형에 사용됩니다.
■ Key Category
Key 카테고리(Key 범주)는 키가 고유한지 또는 비고유한지를 정의합니다. 키 필드가 행을 고유하게 정의하는 경우, 키를 고유하게 설정할 수 있습니다. 그렇지 않으면 키는 비고유하게 설정됩니다. 일반 유형의 경우 "지정되지 않음"을 선택할 수 있습니다.
Primary Key 이외에도 Secondary Key 탭에서 추가적인 Secondary Key를 지정할 수 있습니다. 테이블 유형에 최대 15개의 Secondary Key를 정의할 수 있습니다. 각 Secondary Key는 고유한 이름을 가져야 합니다. Secondary Key의 이름은 PRIMARY_KEY 또는 LOOP_KEY일 수 없습니다.
Secondary Key는 Sorted Key 또는 Hashed Key일 수 있습니다. Sorted Key인 경우 고유하거나 비고유할 수 있으며, Hashed Key는 항상 고유합니다. Secondary Key의 키 정의는 라인 유형이 테이블 유형이 아니거나 테이블 유형을 구성 요소로 포함하지 않는 경우에는 전체 테이블 행에 의해 정의됩니다.
'ABAP 프로그래밍 개념 > ABAP Data Dictioanry' 카테고리의 다른 글
5. Domain (0) | 2023.06.01 |
---|---|
4. Type Group (0) | 2023.06.01 |
3.2 Structure (0) | 2023.05.31 |
3.1 Data Elements (0) | 2023.05.30 |
3. Data Type (0) | 2023.05.30 |