메뉴 건너뛰기

SAP 한국 커뮤니티

Internal Table 알아보기

양키 2010.12.20 15:41 조회 수 : 8000

아침부터 작성해서 올리려고했던 자료가 이제서야 올라갑니다.(나름 Busy)


좀더 체계적으로 Example 위주로 작성하려고 했으나
이 소스를 보시는 많은분들이 테스트하시면서 스킬업 하시라고..잘못된 문장은 댓글 달아주시라고 문법만 올립니다.


 


Internal table은 물리 테이블형태의 가상 메모리 영역으로 유사한 형태의 데이터를
복수건으로 저장하는 공간이다.
Internal table을 선언하는 형태는 아래와 같이 요약해볼수있다.


 


 

*&---------------------------------------------------------------------*
*& Report  Z_TYPE_YANKEE
*& 변수의 형태를 알아보자
*&---------------------------------------------------------------------*
*& Authority by yankee
*&
*&---------------------------------------------------------------------*

REPORT  Z_TYPE_YANKEE.

* [변수선언 : 기본형 ]
* DATA 구문을 사용하며 Default Type은 Character형
* 예약어는 변수로 사용할 수 없으며, 변수명은 알파벳 최대 30자까지 가능하다.
* 변수의 데이타 Size는 변수뒤에 아래와 같이 (20)   표기한다.
DATA var01var01var01var01var01var01(20).

* [변수선언 : Structure 1형]
* Structure 형태는 변수의 집합체라고 표현할수있으며
* 하나의 구조체는 하나의 아이템을 가진다.
DATA BEGIN OF str_01,
            var01 TYPE C,
            var02 LIKE mara-matnr,
            var03(10) TYPE C,
        END OF str_01.

* [변수선언 : Structure 2형]
* TYPE문으로 선언한경우 테이블형태를 지닌 Internal table 혹은 물리테이블을 참조할수있다.
DATA itab01 TYPE mara.
DATA itab02 LIKE itab01.

*[Internal Table 1형]
* With Header Line구문을 사용할 경우 Header Line을 가지는 Internal table
* Header Line 구문을 사용시  반드시 TABLE OF 구문을 넣는다.
* Header Line을 가질경우 레코드의 건수를 지정할수있다.
DATA: itab03 TYPE TABLE OF mara INITIAL SIZE 10.
DATA: itab04 LIKE TABLE OF mara WITH HEADER LINE.

*[Internal Table 2형]
*Range형은 Table의 형태는 Standard 형태를 따르며 Range라는 특수한 형태를 가진다.
*구성 형태가 정해진 것이며 구성필드의 명칭만 변경할 수 있다.
* SIGN, OPTION, LOW, HIGH 형태
DATA itab05 TYPE RANGE OF tline INITIAL SIZE 10.
DATA itab06 LIKE RANGE OF tline WITH HEADER LINE.

*[Internal Table 3형]
* 레코드를 가질수 있는 건수는 n개임을 의미한다.
DATA itab07 TYPE tline OCCURS 3.

*[Internal Table 4형]
*Standard형의 Internal table이며 기본적으로 Header Line을 가진다.
*사용자의 입맛에 맞게 Internal Table의 공간을 설정할수있다.
DATA BEGIN OF itab08 OCCURS 0,
              f1 TYPE mard-werks,
              f2 LIKE mara-matnr,
              f3(10) TYPE C,
           END OF itab08.

*[Inter Table 5형]
* Internal Table에 Structure형태를 Include 할수있다.
DATA BEGIN OF itab09 OCCURS 0.
              INCLUDE STRUCTURE str_01.
              DATA : icon(4),  "icon
              mark,    "mark
          END OF itab09.