Old방식 - Header 포함 Internal Table

DATA: BEGIN OF itab01 OCCURS 0,
        surname LIKE zemployees-surname,
        dob     LIKE zemployees-dob,
      END OF itab01.

- Data : Begin of ... Occurs 0, .... end of.

=> 예전 방식, Internal Table선언할 때 사용

=> Occurs 0은 초기에 0행으로 시작, 나중에 데이터 추가하면 늘어난다.

- surname , dob = 각각의 필드 외부 zemployees의 필드를 참조해 타입을 결정함

- HeaderLine이라는 개념을 자동포함하여 itab01만 써도 현재 라인을 의미

=> 이 표현 방식은 구식이다.

 

 

New 방식 - Structure타입정의 

TYPES: BEGIN OF line01_typ,
         surname LIKE zemployees-surname,
         dob     LIKE zemployees-dob,
       END OF line01_typ.

- Types: 새로운 데이터 구조를 정의할 때 사용함

- line01_typ는 하나의 레코드를 정의한 구조

 

✅ 14~15: Internal Table 타입 정의 (Standard Table)

TYPES itab02_typ TYPE STANDARD TABLE OF line01_typ.

- itab02_typ는 line01_typ 구조를 여러 줄 가진 테이블 형식

- Standard Table은 일반적인 Internal table로, 순서 유지되고 인덱스로 접근이 가능하다.

 

✅ 16~17: Sorted Table 타입 정의

TYPES itab02_sorted_typ TYPE SORTED TABLE OF line01_typ
                         WITH UNIQUE KEY surname dob.

- sorted table: 항상 정렬된 상태로 유지되는 테이블

- with unique key : surname과 dob의 조합이 중복되지 않도록 보장한다.

=> 정렬되어 있어서 Read Table 등 조회성능이 높다.

 

✅ 20: Internal Table 선언 (New 방식)

DATA itab02 TYPE itab02_typ.

- itab02_type이라는 테이블 타입 기반으로 실제 internal table선언.

 

✅ 22: Work Area 선언

DATA wa TYPE line01_typ.  " work area (1줄 구조)

- itab02  한줄과 같은 work area선언

데이터 조작시에는 wa_itab02를 통해 데이터 작성후 append, read, modify등에 사용한다.

 

 

+ Recent posts