1. 로컬 타입
TYPES: BEGIN OF ts_airline,
A,
B,
C
END OF ts_airline.
DATA: xyz TYPE ts_airline.
vs.
DATA: BEGIN OF xyz,
A,
B,
C
END OF xyz.
2. MOVE-CORRESPONDING <str 1> TO <str 2>. "컬럼 이름이 identical한 요소
3. Internal Table (프로그램 안에 존재하는 논리적 테이블)
목적: 동일한 형태의 데이터 여러 건을 관리하기 위해서 (=> EXCEL Sheet)
구성요소
Line Type (Structure): 모양이 결정
유형: STANDARD, SORTED, HASHED => 사용 목적(접근 방식)에 따라
Key: NON-UNIQUE, UNIQUE => 검색 속도 향상을 위해
선언:
DATA it TYPE TABLE OF scarr. "Transp. 테이블을 통해
DATA wa TYPE scarr.
DATA it LIKE TABLE OF wa. "스트럭쳐 변수를 통해
DATA it TYPE SBC400_T_FLIGHTS. "테이블 타입
DATA it2 LIKE it. "이것도 가능하겠지
Syntax: DATA it TYPE SORTED TABLE OF SCARR
WITH NON-UNIQUE KEY CARRID CONNID.
- With Header Line
특징: internal table과 work area 이름이 동일한 변수가 자동으로 생성
DATA it TYPE scarr with header line. " it라는 이름의 인터널 테이블 + it라는 이름의 work area가 생김
LOOP AT it INTO it. "LOOP AT it도 가능하다. 이름이 같으니까
ENDLOOP.
MODIFY it FROM it. => MODIFY it.
INSERT it FROM it => INSERT it.
4. Internal Table Operation
READ TABLE it INTO wa INDEX 5. ( Index Access )
READ TABLE it INTO wa WITH KEY Col1 = 'A' Col2 = 'B'. ( Key Access )
LOOP AT it INTO wa WHERE Col1. = 'A'. "LOOP AT it INTO wa FROM 5 TO 10.
ENDLOOP
APPEND wa TO it. "it의 맨 아래 추가 =>>>>> SORTED 사용시 주의 정렬 순서가 엉망될 수 있다.
INSERT wa INTO TABLE it. (인터널 테이블 유형을 고려한 삽입 가능)
DELETE it WHERE Col1 = 'A' AND Col2 = 'B'.
LOOP AT it INTO wa.
wa-name = 'Smith'.
MODIFY it FROM wa ( INDEX sy-tabix ). "생략되어짐. 넣어도 O
ENDLOOP.
CLEAR it. = REFRESH it.
FREE it. ( <============= Body 영역 메모리 반납 )
SORT it BY Col1 ( ASCENDING )
Col2 DESCENDING.
5. 교육용 테이블 5개
SCARR(항공사 마스터),
SPFLI(항공편),
SFLIGHT(항공스케쥴),
SBOOK(항공 예약),
SCUSTOM(항공사 고객 마스터)
최근댓글