일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- abap #wildcard #와일드카드 #sql #select #where조건
- abap #abap_move
- sap #cts #abap #release #merge cts #request no
- sap #abap #data exists #read table #xsdbool #line exists
- grave #abap #sap #backquote
- abap #sap #hotspotclick #do_sum
- open sql #sap #abap #where exists #where not exists
- abap #sap #color #row #layout
- abap #sap #se16h #data #tcode
- abap #initial #null #abap inital vs null
- sap #abap #cl_gui_alv_grid #function code #alv
- abap #정규표현식 #regular expression
- abap #sap #conversion #currency #cfield #waers
- #apostrophe
- abap #sap #free #alv #clear #refresh
- abap #sap #search hlep #f4 #f4if_int_table_value_request #change column name
- abap #sql #sap #query 실행 순서 #query 작성 순서
- abap move corresponding #abap data이동 #abap correspond mapping
- abap #동적 where #동적 select
- abap #se39 #srepo #sap #development #compare code
- abap #sap #conversion #currency #conversion_currency
- abap #sap #sy-index #sy-tabix #syst
- sap #abap #화폐단위 #sap conversion #inr conversion
- abap #sap #layout #layout 설정
- abap #sap #sy-datlo #sy-datum #syst #system variable # 시스템변수
- Today
- Total
0v0__DEV
[14] ABAP CORRESPONDING , Mapping 본문
코딩을 하다 보면 데이터를 다른 인터널 테이블이나 스트럭쳐로 옮겨 담아야 할 때가 많다!
CORRESPONDING 의 유용한 쓰임, 자주 사용하는 옵션, 주의점 등 에 대해 알아보자!
1. CORRESPONDING은 기존 데이터를 무시한다!
LT_1 의 데이터를 데이터가 존재하는 LT_2에 옮기려, MOVE CORRESPONDING을 아무 옵션 없이 사용하면
LT_AA에는 2건의 데이터가, LT_UA에는 1건의 데이터가 존재한다
MOVE-CORRESPONDIG LT_UA TO LT_AA 하면 옮긴 데이터 1건만 들어온다
( NEW SYNTAX인 CORRESPONDING #도 동일)
MOVE-CORRESPONDING LT_UA TO LT_AA KEEPING TARGET LINES. 하면
옮긴 데이터 1건 + 기존 데이터 = 3건 들어옴
( NEW SYNTAX 인 CORRESPONDING BASE도 동일 )
결과 | |
LT_AA = CORRESPONDING #( LT_UA ) . MOVE-CORRESPONDING LT_UA TO LT_AA . |
LT_AA의 기존 데이터 무시, MOVE 한 데이터만 존재 |
MOVE-CORRESPONDING LT_UA TO LT_AA KEEPING TARGET LINES. LT_AA = CORRESPONDING #( BASE ( LT_AA ) LT_UA ) . |
LT_AA의 기존 데이터와 MOVE한 데이터 모두 존재 |
ITAB: 필드 명이 다를 경우
LT_DATA와 LT_MOVE는 'TEXT1'만 필드명이 동일함
이 경우 결과는
필드명이 동일한 'TEXT1' 에 대해서만 값이 들어가고, 나머지 필드들은 없어짐!
만약, TEXT1,2,3 필드의 데이터를 각각 TEXT1, CHAR2, CHAR3 필드로 옮기고 싶다면
CORRESPONDING / MAPPING 옵션을 사용!
+ 번외1 )
LT_MOVE = VALUE #( FOR LS_DATA1 IN LT_DATA ( TEXT1 = LS_DATA1-TEXT1
CHAR2 = 'VALUE' ) ).
LT_DATA의 데이터를 LT_MOVE에 넣는데,
LT_DATA에 저장된 데이터와, 하드코딩하는 값을 동시에 넣을 수 있음
+ 번외 2)
corresponding mapping default : 값을 copy 하면서 default 값을 지정해줄 수 있음
결과 ::
'SAP BASIC' 카테고리의 다른 글
[15] ABAP INITIAL & NULL (0) | 2025.02.27 |
---|---|
[13] ABAP SQL Select - 여러 변수에 값 동시에 담기~ (0) | 2024.08.30 |
[12]SAP(abap) - ALV Layout (0) | 2024.08.26 |
[11] ABAP OPEN SQL - WHERE EXISTS, WHERE NOT EXISTS (1) | 2024.08.23 |
[10] ABAP LINE_EXISTS (0) | 2024.08.22 |