본문 바로가기

ABAP 프로그래밍 개념/ABAP Data Dictioanry

3.3 Table Types

테이블 유형은  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