SAP/ABAP

[ABAP] MOVE-CORRESPONDING, KEEPING TARGET LINES

jipgagosipda 2024. 8. 1. 10:28

MOVE-CORRESPONDING: 인터널 테이블 데이터 값을 옮겨주는 구문

MOVE-CORRESPONDING ITAB TO ITAB.
MOVE-CORRESPONDING WA TO WA.

 


<구문 예시>

*1
MOVE-CORRESPONDING ls_sflight TO gs_data.

*2
gs_data-carrid    = ls_sflight-carrid.
gs_data-connid    = ls_sflight-connid.
gs_data-fldate    = sy-datum.
gs_data-price     = ls_sflight-price.
gs_data-planetype = ls_sflight-planetype.

위 코드 1, 2는 ls_sflight에서 gs_data로  데이터를 옮겨주는 구문으로, 같은 결과값을 가진다.

MOVE-CORRESPONDING 구문을 사용하면 두 ITAB/WA의 일치하는 필드를 자동으로 찾아서 데이터를 옮긴다.

 

 

MOVE-CORRESPONDING은

두 ITAB/WA의 필드가 모두 일치하지 않거나 순서가 같지 않아도 서로 같은 필드만을 자동으로 찾아 데이터를 넣어준다.

 


 

KEEPING TARGET LINES: 이전 데이터를 보존하면서 MOVE-CORRESPONDING 

MOVE-CORRESPONDING ls_sflight TO gs_data.
MOVE-CORRESPONDING ls_sflight TO gs_main.

MOVE-CORRESPONDING은

위 코드처럼 같은 ITAB/WA에 또 다른 데이터 값을 넣으면 이전 값이 모두 사라지고 새로운 값으로 엎어치게 된다.

 

MOVE-CORRESPONDING ls_sflight TO gs_data.
MOVE-CORRESPONDING ls_sflight TO gs_main KEEPING TARGET LINES. "이전 데이터 보존.

엎어치지 않으려면 'KEEPING TARGET LINES'를 붙이자

그러면 값을 엎어치지 않고 이전 데이터 위에 새로운 데이터가 쌓이게 된다.

'SAP > ABAP' 카테고리의 다른 글

[ABAP] RFC  (0) 2024.08.09
[ABAP] FIELD-SYMBOL 필드 심볼  (0) 2024.08.05
[ABAP] 날짜 관련 함수  (0) 2024.08.01
[ABAP] FOR ALL ENTRIES IN 인터널 테이블과의 조인  (0) 2024.07.30