기존 Source
LOOP AT lt_base INTO ls_base.
MOVE-CORRESPONDING ls_base TO ls_data.
READ TABLE lt_f4 INTO ls_f4 WITH KEY field1 = ls_data-field1
MOVE ls_f4-field2 TO ls_data-field2
APPEND ls_data TO lt_data
ENDLOOP.
New syntax 사용
- lookup table 은 sorted, hashed Table 이면서 Key 가 있어야함.
- BASE 사용 불가
- Lookup Table 에 있으면 값이 변경 되고 없으면 기존값 유지
- Lookup Table 에 있어도 전달할 Table 에 필드가 없으면 전달 불가
- Lookup Table 이랑 Mapping, Exact 사용 가능
lt_data = CORRESPONDING #( lt_base FROM lt_f4 USING field1 = field1 )
활용 예제
BEGIN OF line,
carrid TYPE sflight-carrid,
currency TYPE sflight-currency"
text TYPE char100,
END OF line
DATA : It sflight TYPE STANDARD TABLE OF line WITH EMPTY KEY,
It scarr TYPE HASHED TABLE OE line WITH UNIQUE KEY carrid.
SELECT carrid,
currcode AS currency,
'ABC' AS text
FROM scarr
WHERE carrid IN ( 'AA', 'AZ' )
INTO CORRESPONDING FIELDS OF TABLE It scarr.
SELECT carrid
FROM sflight
ORDER BY carrid, connid, fldate
INTO CORRESPONDING FIELDS OF TABLE @lt sflight.
It sflight = CORRESPONDING #( lt_sflight FROM It _scarr USING carrid = carrid )
'ABAP' 카테고리의 다른 글
SAP ABAP | AMDP Class (0) | 2024.10.30 |
---|---|
SAP ABAP | Text 를 50 자리로 나눠 담아 출력 (0) | 2024.10.17 |
ABAP | Value #( ) 에서 Base Corresponding #( ) 활용 (0) | 2024.10.04 |
ABAP | 날짜 관련 테이블 ( SCAL ) (0) | 2024.10.04 |
SAP ABAP | Droplist (0) | 2024.06.23 |