Day4

개발/ABAP 2018. 11. 30. 09:46

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(항공사 고객 마스터)

'개발 > ABAP' 카테고리의 다른 글

Day 6  (0) 2018.12.04
Day5  (0) 2018.12.03
Day3  (0) 2018.11.29
Day2  (0) 2018.11.28
Day 1  (0) 2018.11.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기