SAP ABAP-내부 테이블 생성

DATA 문은 내부 테이블을 선언하는 데 사용됩니다. 프로그램은 테이블이 시작되고 끝나는 위치를 알려야합니다. 따라서 BEGIN OF 문을 사용한 다음 테이블 이름을 선언하십시오. 그 후에 OCCURS 추가가 사용되고 그 뒤에 숫자 (여기서는 0)가 사용됩니다. OCCURS는 SAP에 내부 테이블이 생성되고 있음을 알리고 0은 초기에 레코드를 포함하지 않음을 나타냅니다. 그런 다음 데이터가 채워지면 확장됩니다.

다음은 구문입니다-

DATA: BEGIN OF <internal_tab> Occurs 0,

새 줄에 필드를 만들어 보겠습니다. 예를 들어 LIKE ZCUSTOMERS1-name으로 선언 된 'name'을 만듭니다. 'dob', LIKE ZCUSTOMERS1-dob라는 다른 필드를 만듭니다. 처음에는 내부 테이블의 필드 이름에 다른 곳에서 만든 다른 필드와 동일한 이름을 지정하는 것이 유용합니다. 마지막으로 "END OF <internal_tab>"을 사용하여 내부 테이블의 끝을 선언합니다. 다음 코드와 같이-

DATA: BEGIN OF itab01 Occurs 0,
   name LIKE ZCUSTOMERS1-name,
   dob LIKE ZCUSTOMERS1-dob, 
END OF itab01.

여기서 'itab01'은 SAP에서 임시 테이블을 만들 때 일반적으로 사용되는 속기입니다. OCCURS 절은 테이블의 필드를 선언하여 내부 테이블의 본문을 정의하는 데 사용됩니다. OCCURS 절이 사용되면 숫자 상수 'n'을 지정하여 필요한 경우 추가 기본 메모리를 판별 할 수 있습니다. OCCUR 0 절에서 사용되는 기본 메모리 크기는 8KB입니다. 이제 내부 테이블의 구조가 생성되고 코드를 작성하여 레코드로 채울 수 있습니다.

헤더 행을 사용하거나 사용하지 않고 내부 테이블을 만들 수 있습니다. 헤더 행이있는 내부 테이블을 작성하려면 내부 테이블 정의에서 OCCURS 절 앞에 BEGIN OF 절을 사용하거나 OCCURS 절 뒤에 WITH HEADER LINE 절을 사용하십시오. 헤더 행없이 내부 테이블을 작성하려면 BEGIN OF 절없이 OCCURS 절을 사용하십시오.

TYPES 문을 사용하여 내부 테이블을 로컬 데이터 유형 (현재 프로그램의 컨텍스트에서만 사용되는 데이터 유형)으로 작성할 수도 있습니다. 이 명령문은 TYPE 또는 LIKE 절을 사용하여 기존 테이블을 참조합니다.

내부 테이블을 로컬 데이터 유형으로 생성하는 구문은 다음과 같습니다.

TYPES <internal_tab> TYPE|LIKE <internal_tab_type> OF 
   <line_type_itab> WITH <key> INITIAL SIZE <size_number>.

여기서 <internal_tab_type>은 내부 테이블 <internal_tab>에 대한 테이블 유형을 지정하고 <line_type_itab>는 내부 테이블의 라인에 대한 유형을 지정합니다. TYPES 문에서 TYPE 절을 사용하여 내부 테이블의 라인 유형을 데이터 유형으로 지정하고 LIKE 절을 사용하여 라인 유형을 데이터 오브젝트로 지정할 수 있습니다. 내부 테이블에 대한 키 지정은 선택 사항이며 사용자가 키를 지정하지 않으면 SAP 시스템은 임의의 키로 테이블 유형을 정의합니다.

INITIAL SIZE <size_number>는 초기 메모리 양을 할당하여 내부 테이블 개체를 만듭니다. 앞의 구문에서 INITIAL SIZE 절은 ​​size_number 테이블 행에 대한 메모리 공간을 예약합니다. 내부 테이블 객체가 선언 될 때마다 테이블의 크기는 테이블의 데이터 유형에 속하지 않습니다.

Note − 내부 테이블이 처음으로 채워질 때 훨씬 적은 메모리가 사용됩니다.

Step 1− SE38 트랜잭션 코드를 실행하여 ABAP 편집기를 엽니 다. ABAP Editor의 초기 화면이 나타납니다.

Step 2 − 초기 화면에서 프로그램 이름을 입력하고 소스 코드 라디오 버튼을 선택한 다음 생성 버튼을 클릭하여 새 프로그램을 생성합니다.

Step 3− 'ABAP : 프로그램 속성'대화 상자에서 제목 필드에 프로그램에 대한 간단한 설명을 입력하고 속성 그룹 상자의 유형 드롭 다운 메뉴에서 '실행 가능 프로그램'옵션을 선택합니다. 저장 버튼을 클릭합니다.

Step 4 − ABAP 편집기에서 다음 코드를 작성합니다.

REPORT ZINTERNAL_DEMO. 
TYPES: BEGIN OF CustomerLine, 
Cust_ID TYPE C, 
Cust_Name(20) TYPE C, 
END OF CustomerLine. 
 
TYPES mytable TYPE SORTED TABLE OF CustomerLine  
WITH UNIQUE KEY Cust_ID. 
WRITE:/'The mytable is an Internal Table'.

Step 5 − 평소와 같이 프로그램을 저장, 활성화 및 실행합니다.

이 예에서 mytable은 내부 테이블이고 고유 키는 Cust_ID 필드에 정의되어 있습니다.

위의 코드는 다음 출력을 생성합니다.

The mytable is an Internal Table.