VALUE #( BASE ~ ) 이용해서 다른 Structure 에 값을 옮기면 첫번째 필드 부터 값이 채워진다.
field 의 순서가 다르지만 같은 field 에 값을 넣고 싶을 때는 어떻게 해야 하는가?
VALUE #( BASE CORRESPOIND #( ~ ) X1 = A1 ) 을 이용하면 Field 명이 동일한 곳에 값이 들어가고, 그 뒤로 Field 끼리 Mapping 시킨 값이 들어가게 된다.
아래 예제의 결과는
struct1 = [ 1,3,5,4,0 ]
struct2 = [ 1,2,3,4,5 ]
REPORT ytest02
DATA : BEGIN OF struct1.
col1 TYPE i,
col2 TYPE i,
col3 TYPE i,
col4 TYPE i,
co15 TYPE i,
END OF struct1.
struct2 LIKE struct1,
BEGIN OF struct3,
col1 TYPE i VALUE '1',
col3 TYPE i VALUE '3',
col5 TYPE i VALUE' 5',
END OF struct3.
struct1 = VALUE #( BASE struct3 col2 = 2 col4 = 4 ). " 1, 3, 5, 4, 0
struct2 = VALUE #( BASE CORRESPONDING #( struct3 ) co12 = 2 co14 = 4 ). " 1, 2, 3, 4, 5
'ABAP' 카테고리의 다른 글
SAP ABAP | Text 를 50 자리로 나눠 담아 출력 (0) | 2024.10.17 |
---|---|
SAP ABAP | Corresponding #( Lookup Table ... Using ... ) (0) | 2024.10.07 |
ABAP | 날짜 관련 테이블 ( SCAL ) (0) | 2024.10.04 |
SAP ABAP | Droplist (0) | 2024.06.23 |
SAP ABAP | Corresponding (0) | 2024.02.21 |