ABAP 0803

CinnamonTree·2022년 8월 3일
0

Modify

MODIFY lt_sbook FROM ls_sbook TRANSPORTING class.
  • Transporting: 이후 나오는 필드만 Modify함.
  • LOOP안에서 Modify 구문을 쓸 시 자동으로 현재 work area를 지정하지만, 중간에 READ TABLE같은 구문도 있을 수 있으므로 INDEX는 써주는 것이 좋다.

중복제거

SORT lt_itab2 BY carrid connid fldate.
DELETE ADJACENT DUPLICATES FROM lt_itab2 COMPARING carrid connid fldate.
  1. sort
  2. 필드순서는 반드시 SORT순서와 일치해야 한다.
SORT lt_sbook BY carrid DESCENDING connid fldate. 
  • ascending 생략가능.
    1. carrid 중복을 찾음 -> 2. connid 중복을 찾음 -> ...
DELETE ADJACENT DUPLICATES FROM lt_sbook COMPARING carrid connid fldate.

DELETE ADJACENT DUPLICATES FROM lt_sbook COMPARING ALL FIELDS. "모든 필드가 중복되는것 제거
  • 중복 제거 후 어떤 데이터가 나올지 모름

이진 검색

SORT lt_sbook BY carrid connid.

READ TABLE은 binary search를 하는것이 좋다. binary search를 하려면 sort가 선행되어야 하는데, 왜냐하면 sort를 할 때 index가 생성되기 때문이다. 무조건 sort를 한 순서대로 READ TABLE 구문의 with key를 정의해야 한다.

READ TABLE lt_sbook into ls_sbook WITH KEY carrid = pa_carr connid = 17 BINARY SEARCH. " 모두 AND로 묶임

타입 include

  • TYPE: lty_itab1
TYPES: BEGIN OF lty_itab1,
         carrid    TYPE sflight-carrid,
         connid    TYPE sflight-connid,
         fldate    TYPE sflight-fldate,
         bookid    TYPE sbook-bookid,
         customid  TYPE sbook-customid,
         custtype  TYPE sbook-custtype,
         agencynum TYPE sbook-agencynum,
       END OF lty_itab1.
  • TYPE: lty_itab2
TYPES: BEGIN OF lty_itab2.
         INCLUDE TYPE lty_itab1.
TYPES:
         planetype TYPE sflight-planetype,
         currency  TYPE sflight-currency,
         class     TYPE sbook-class,
       END OF lty_itab2.

0개의 댓글