1. MOVE์ MOVE-CORRESPONDING
ABAP/4 ์์๋ ๋ณ์๋ฅผ ์ ์ธํ๊ฑฐ๋ ์ค์ ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋๋ ๊ตฌ๋ฌธ์์ Data Object ์ ๊ฐ์ ํ ๋นํ ์ ์์ต๋๋ค.
๋ณ์๋ฅผ ์ ์ธํ ๋ VALUE ๊ตฌ๋ฌธ์ ํตํ์ฌ ์ด๊น๊ฐ์ ์ ์ํ ์ ์๊ณ , ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ ๊ตฌ๋ฌธ ๋ด์์๋ MOVE ๋๋ WRITE TO ๊ตฌ๋ฌธ์ ์ด์ฉํ์ฌ ๋ถ์ฌ์ ๊ฐ์ ํ ๋นํ๊ฒ ๋ฉ๋๋ค.
<f2> = <f1>.
MOVE <f1> TO <f2>.
MOVE-CORRESPONDING <STRING1> TO <STRING2>.
WRITE <f1> TO <f2> [<option>].
2. MOVE ๋?
MOVE๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ณ์์์ ๋ค๋ฅธ ๋ณ์๋ก ์ง์ ๋ณต์ฌํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ๋ช ๋ น์ด์ ๋๋ค.๋ฐ์ดํฐ๋ฅผ ํ ๋นํ ๋ ๋ฐ์ดํฐ ์ ํ ๋ณํ๊ณผ ๊ธธ์ด ์กฐ์ ์ด ์๋์ผ๋ก ์ด๋ฃจ์ด์ง ์ ์์ต๋๋ค.
ํน์ง
- ๊ฐ๋ณ ๋ณ์ ๊ฐ์ ๊ฐ ๋ณต์ฌ
- MOVE๋ ๋ณ์ ๊ฐ์ ๊ฐ ๋ณต์ฌ์ ์ฌ์ฉ๋๋ฉฐ, ๊ตฌ์กฐ์ฒด๋ ์ธํฐ๋ ํ ์ด๋ธ ๊ฐ์ ๋ณต์ฌ๋ ์ง์ํ์ง ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ํ ๋ณํ
- ๋ฐ์ดํฐ ์ ํ์ด ๋ค๋ฅด๋๋ผ๋ MOVE๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ๋ณํ๋ฉ๋๋ค.
- ์: ์ ์ํ์์ ๋ฌธ์์ดํ์ผ๋ก ๋ณํ ์, ๊ฐ์ด ๋ฌธ์์ด๋ก ๋ณํ๋จ.
- ๋ช
์์ ํ ๋น
- ๋ณต์ฌํ ๋์๊ณผ ์๋ณธ์ ๋ช ์์ ์ผ๋ก ์ง์ ํฉ๋๋ค.
MOVE ์ฌ์ฉ ์์
DATA: source_variable TYPE i, " ์ ์ํ ๋ณ์ ์ ์ธ
destination_variable TYPE i. " ์ ์ํ ๋ณ์ ์ ์ธ
source_variable = 10. " ๊ฐ์ ํ ๋น
MOVE source_variable TO destination_variable. " ๊ฐ ๋ณต์ฌ
WRITE: / 'Source Variable:', source_variable,
/ 'Destination Variable:', destination_variable.
์์ ์ค๋ช
- source_variable ์ด๋ผ๋ ์ ์ํ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ 10์ผ๋ก ์ค์ ํฉ๋๋ค.
- MOVE ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ source_variable ์ ๊ฐ์ destination_variable ๋ก ์ด๋์ํต๋๋ค.
- ์ด ์์ ์์๋ source_variable ์ ํ ๋น๋ ๊ฐ์ด 10์ด destination_variable ๋ก ๋ณต์ฌ๋์ด, ๋ ๋ณ์๋ ๋์ผํ ๊ฐ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
์ฃผ์ ํด์ผ ํ ์ค์ํ ์ ์ MOVE ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ๋, ABAP์ ์๋์ผ๋ก ๋ฐ์ดํฐ ์ ํ ๋ณํ์ ์ฒ๋ฆฌํฉ๋๋ค.
์ฆ, ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ ๊ฐ์๋ MOVE ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ด๋์ํฌ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์ ํ์ด ๋ค๋ฅธ ๊ฐ MOVE ์์
i_int ๋ i(์ ์) ํ์ ์ด๊ณ , s_str ์ string(๋ฌธ์์ด) ํ์ ์ ๋๋ค.
i_int ์ 10์ ํ ๋นํ ํ, s_str ์ ๊ฐ์ ํ ๋นํด ๋ณด๊ฒ ์ต๋๋ค.
DATA: i_int TYPE i,
s_str TYPE string.
i_int = 10.
MOVE i_int TO s_str.
WRITE: / 'i_int: ', i_int,
/ 's_str:', s_str.
์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ ๊ฐ์๋ ์๋์ผ๋ก ๋ฐ์ดํฐ ์ ํ์ ๋ณํํ์ฌ ๊ฐ์ ํ ๋นํฉ๋๋ค.
3. MOVE-CORRESPONDING ๋?
MOVE-CORRESPONDING ์ ๋ ๊ตฌ์กฐ์ฒด(Structure) ๋๋ ์ธํฐ๋ ํ ์ด๋ธ ๊ฐ์ ํ๋ ์ด๋ฆ์ด ๋์ผํ ๊ฒฝ์ฐ ํด๋น ํ๋๋ค ๊ฐ์ ๊ฐ์ ๋ณตํ๋ ๋ช ๋ น์ด์ ๋๋ค.
ํน์ง
- ํ๋ ์ด๋ฆ ๊ธฐ๋ฐ ๋ณต์ฌ
- ๊ตฌ์กฐ์ฒด๋ ์ธํฐ๋ ํ ์ด๋ธ์์ ํ๋ ์ด๋ฆ์ด ๋์ผํ ํ๋๋ง ๋ณต์ฌ๋ฉ๋๋ค.
- ํ๋ ์ด๋ฆ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ๊ฐ์ด ๋ณต์ฌ๋์ง ์์ต๋๋ค.
- ์ ํ์ ๋ณต์ฌ
- ๋์ผํ ์ด๋ฆ์ ํ๋๋ง ์๋ ๋งคํ๋๋ฏ๋ก, ๋ณต์ฌ ๋์ ํ๋๊ฐ ์ ํ์ ์ ๋๋ค.
- ๊ตฌ์กฐ์ฒด ๊ฐ ๋ณต์ฌ
- ํ ๊ตฌ์กฐ์ฒด์์ ๋ค๋ฅธ ๊ตฌ์กฐ์ฒด๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ด๋ํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ํ ๋ณํ ์ง์
- MOVE์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ์ดํฐ ์ ํ ๋ณํ์ด ์๋์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
MOVE-CORRESPONDING ์ฌ์ฉ ์์
DATA: BEGIN OF SOURCE_STRUCTURE,
FIELD1 TYPE I,
FIELD2 TYPE STRING,
END OF SOURCE_STRUCTURE,
BEGIN OF DESTINATION_STRUCTURE,
FIELD1 TYPE I,
FIELD2 TYPE STRING,
END OF DESTINATION_STRUCTURE.
SOURCE_STRUCTURE-FIELD1 = 100.
SOURCE_STRUCTURE-FIELD2 = 'ABAP Move-Corresponding Example'.
MOVE-CORRESPONDING SOURCE_STRUCTURE TO DESTINATION_STRUCTURE.
WRITE: / 'Source Structure:', SOURCE_STRUCTURE-FIELD1, ',', SOURCE_STRUCTURE-FIELD2,
/ 'Destination Structure:', DESTINATION_STRUCTURE-FIELD1, ',', DESTINATION_STRUCTURE-FIELD2.
์์ ์ค๋ช
- ๋ ๊ฐ์ ๊ตฌ์กฐ์ฒด( source_structure ์ destination_structure )๋ฅผ ์ ์ํ๊ณ ๊ฐ๊ฐ์ ํ๋์ ๊ฐ์ ํ ๋นํฉ๋๋ค.
- MOVE-CORRESPONDING ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ source_structure ์ ๊ฐ์ destination_structure ์ ๋ณต์ฌํฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๊ตฌ์กฐ์ฒด๋ ํ ์ด๋ธ ๋ผ์ธ์ ํ๋ ์ด๋ฆ์ด ์ผ์นํ ๊ฒฝ์ฐ ์๋์ผ๋ก ๊ฐ์ด ๋ณต์ฌ๋๋ฏ๋ก ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค.
MOVE_CORRESPONDING ๋ฐ์ดํฐ ์ ํ ๋ณํ ์์
๊ตฌ์กฐ์ฒด GS_REN ๊ณผ GS_INFO ๋ ํ๋ ๊ตฌ์กฐ๊ฐ ์๋ก ๋ค๋ฆ ๋๋ค.
GS_REN ๊ตฌ์กฐ์ฒด์์ GS_INFO ๊ตฌ์กฐ์ฒด๋ก ๋ฐ์ดํฐ๋ฅผ ํ ๋นํ๊ธฐ ์ํด์๋ MOVE GS_REN-NAME TO GS_INFO-NAME. ๊ณผ ๊ฐ์ ๊ตฌ๋ฌธ์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ์ฌ์ผ ํ๋ MOVE-CORRESPONDING ๊ตฌ๋ฌธ์ผ๋ก ํ๋ฒ์ ํด๊ฒฐํ ์ ์์ต๋๋ค.
MOVE-CORRESPONDING์ ํ๋๋ช ์ด ๊ฐ์ ๊ฐ๋ง ํ ๋นํฉ๋๋ค.
REPORT ZABAP001 .
DATA : BEGIN OF GS_REN,
NAME(20) VALUE 'Jay Din',
CITY(20) VALUE'SEOUL',
COUNTRY(10) VALUE 'KOREA',
END OF GS_REN.
DATA : BEGIN OF GS_INFO,
NAME(20),
CITY(20),
PHONE(10) VALUE '1521001234',
END OF GS_INFO.
MOVE-CORRESPONDING GS_REN TO GS_INFO.
WRITE: / GS_INFO-NAME, GS_INFO-CITY, GS_INFO-PHONE.
gs_ren์ด gs_info๋ก ๊ฐ์ ๋ณต์ฌํ ๋,
gs_info์ ํ๋๋ช ์ด ๊ฐ์ name, city ๊ฐ๋ง ๋ณต์ฌ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
4. MOVE์ MOVE-CORRESPONDING์ ๋น๊ตํ
๊ตฌ๋ถ | MOVE ๊ตฌ๋ฌธ | MOVE-CORRESPONDING ๊ตฌ๋ฌธ |
๊ธฐ๋ณธ ๊ฐ๋ | ํ ๋ณ์์ ๊ฐ์ ๋ค๋ฅธ ๋ณ์์ ๋ณต์ฌ | ๋์ผํ ํ๋๋ช ์ ๊ฐ์ง ๋ ๊ตฌ์กฐ์ฒด ๊ฐ ๊ฐ ๋ณต์ฌ |
์ฉ๋ | ๋จ์ผ ๋ณ์ ๊ฐ์ ๋ฐ์ดํฐ ์ด๋ | ๊ตฌ์กฐ์ฒด ๋๋ ์ธํฐ๋ ํ ์ด๋ธ ๊ฐ ๋ฐ์ดํฐ ์ด๋ |
๋ณต์ฌ ๋์ | ๊ฐ๋ณ ๋ณ์ | ๊ตฌ์กฐ์ฒด๋ ์ธํฐ๋ ํ ์ด๋ธ |
ํ๋ ๋งคํ | ์ง์ ์ง์ ๋ ๋ณ์์ ๊ฐ ๋ณต์ฌ | ๋์ผํ ์ด๋ฆ์ ํ๋๋ง ์๋์ผ๋ก ๋งคํ๋์ด ๋ณต์ฌ |
์๋ ๋ฐฉ์ | ์ผ์ชฝ ๋ณ์์ ์ค๋ฅธ์ชฝ ๋ณ์ ๊ฐ์ ๊ทธ๋๋ก ๋ณต์ฌ | ๊ตฌ์กฐ์ฒด์ ๋์ผ ํ๋๋ผ๋ฆฌ ๋ณต์ฌ |
๋ฐ์ดํฐ ์ ํ ๋ณํ | ์ง์ | ์ง์ |
์ ์ฐ์ฑ | ๋ชจ๋ ํ๋ ๋๋ ๋จ์ผ ํ๋ ๋ณต์ฌ ๊ฐ๋ฅ | ํ๋ ์ด๋ฆ์ด ๋์ผํ ํ๋๋ง ์ ํ์ ์ผ๋ก ๋ณต์ฌ |
์ฃผ์ ์ฌ์ฉ ์๋๋ฆฌ์ค | ๊ฐ๋ณ ๋ณ์ ๊ฐ ๊ฐ ์ด๋ | ๊ตฌ์กฐ์ฒด๋ ์ธํฐ๋ ํ ์ด๋ธ์ ๊ณตํต ํ๋ ๋ณต์ฌ |
์ฑ๋ฅ | ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฆ | ๋ณต์ฌ ๋์ ํ๋๋ฅผ ํ์ํด์ผ ํ๋ฏ๋ก ์ฝ๊ฐ ๋๋ฆผ |
5. ์ถ๊ฐ ๋ฌธ๋ฒ: INTO CORRESPONDING FIELDS OF
ํ ์ด๋ธ์์ ์ฌ์ฉํ๋ ๊ฐ ๋ณต์ฌ INTO CORRESPONDING FIELDS OF ๊ฐ ๊ถ๊ธํ๋ค๋ฉด?
https://jay-din.tistory.com/248
'๐งโ๐ผ SAP > ABAP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SAP ABAP] CALL TRANSACTION ์ด๋? (0) | 2023.12.08 |
---|---|
[SAP ABAP] sy-tabix์ sy-index์ ์ฐจ์ด์ (0) | 2023.12.05 |
[SAP ABAP] WA(Work Area) ๋? (0) | 2023.12.04 |
[SAP ABAP] ๋ณ์๋ช ์ ๋์ด ๊ท์น (GT, GV, IT, LT, LV, WA, GS, LS ๋?) (1) | 2023.12.04 |
[SAP ABAP] TRUNC ์ฌ์ฉ๋ฒ (๊ธ์ก ์ ์ญ ๋ฐฉ๋ฒ, ์์์ ๋ฒ๋ฆผ) (0) | 2023.12.04 |