์ ๋ฆฌ
MODIFY | UPDATE | |
๋์ | ๋ด๋ถ ํ
์ด๋ธ (ABAP Dictionary์ ์ ์๋ ํ ์ด๋ธ) |
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ |
์ ์ฉ ๋ฒ์ | ํ๋ก๊ทธ๋จ ์คํ ์ค์๋ง ์ํฅ | ํธ๋์ญ์ ์ปค๋ฐ ์ ์๊ตฌ์ ์ํฅ |
๋ฐ์ดํฐ ๋ฝ | ๋ด๋ถ ํ ์ด๋ธ ๋ ์ฝ๋์ ๋ฝ ๋ฐ์ | ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ฝ๋์ ๋ฝ ๋ฐ์ |
ํธ๋์ญ์ ์ฒ๋ฆฌ | ํธ๋์ญ์ ์ปค๋ฐํ๊ธฐ ์ ๊น์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋์ง ์ | ํธ๋์ญ์ ์ปค๋ฐ ์ ๋ณ๊ฒฝ ์ฌํญ ์๊ตฌ ๋ฐ์ |
์ผ๋ฐ db์ ์ฌ์ฉํ๋ modify์ ์ธํฐ๋ํ ์ด๋ธ์ ์ฌ์ฉํ๋ modify๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
db์ modify๋ฅผ ํ๋ฉด ํค๊ฐ์ด ์ผ์นํ๋ ์๋ฃ๊ฐ ์์ผ๋ฉด update, ์์ผ๋ฉด insert๊ฐ ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ์ธํฐ๋ํ ์ด๋ธ์์๋ update ์ญํ ๋ง ํ๊ฒ ๋ฉ๋๋ค. ์๋ฃ๊ฐ ์์ ๊ฒฝ์ฐ์ insert๊ฐ ๋์ง ์์ต๋๋ค.
์ธํฐ๋ํ ์ด๋ธ์ ์๋ฃ๋ฅผ modify ํ์ค๋ ์๋ฃ๊ฐ ์๋ค๋ฉด append (๋๋ insert) ํด์ค์ผ ํฉ๋๋ค.
MODIFY
`MODIFY` ๋ช ๋ น์ด๋ ABAP ํ๋ก๊ทธ๋จ์์ ๋ด๋ถ ํ ์ด๋ธ์ ๋ณ๊ฒฝํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ด๋ถ ํ ์ด๋ธ์ ABAP Dictionary์ ์ ์๋ ํ ์ด๋ธ์ด๋ฉฐ, ํ๋ก๊ทธ๋จ ์คํ ์ค์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
* ๋ด๋ถํ ์ด๋ธ ์ด๋?
๋ด๋ถํ ์ด๋ธ์ ABAP Dictionary์ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, ํ๋ก๊ทธ๋จ ์คํ ์ค์๋ง ์ฌ์ฉ๋๋ ์ฉ๋๋ก ์ฐ์ ๋๋ค.
DATA: lt_data TYPE TABLE OF my_table,
ls_data TYPE my_table.
" ๋ฐ์ดํฐ ์กฐํ
SELECT * FROM my_table INTO TABLE lt_data WHERE condition.
LOOP AT lt_data INTO ls_data.
" ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ ๋ณ๊ฒฝ
IF ls_data-field = 'A'.
ls_data-field = 'B'.
MODIFY my_table FROM ls_data.
ENDIF.
ENDLOOP.
- `MODIFY` ๋ฌธ์ ๋ด๋ถ ํ ์ด๋ธ `my_table`์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ์ฝ๋์ ํ๋ ๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค.
- ๋ด๋ถ ํ ์ด๋ธ์ ํ๋ก๊ทธ๋จ ์คํ ์ค์๋ง ์ํฅ์ ๋ฏธ์น๋ฉฐ, ํธ๋์ญ์ ์ปค๋ฐํ์ง ์์๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ๋ฐ์๋ฉ๋๋ค.
- ๋ด๋ถ ํ ์ด๋ธ์ ๋ ์ฝ๋์ ๋ํ ๋ฝ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์คํ ์ค์๋ง ์ํฅ
`MODIFY`๋ฅผ ํตํด ๋ด๋ถ ํ ์ด๋ธ์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ, ์ด ๋ณ๊ฒฝ์ ํ๋ก๊ทธ๋จ ์คํ ์ค์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๋ด๋ถ ํ ์ด๋ธ์ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๊ฑฐ๋ ํด๋น ํ ์ด๋ธ์ด ํด์ ๋๋ฉด ๋ณ๊ฒฝ๋ ๊ฐ์ ์ฌ๋ผ์ง๋๋ค.
๋ฐ๋ผ์ `MODIFY`๋ก ๋ณ๊ฒฝํ ๋ด์ฉ์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ง ์์ต๋๋ค.
UPDATE
`UPDATE` ๋ช ๋ น์ด๋ ABAP ํ๋ก๊ทธ๋จ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ๋ณ๊ฒฝํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํธ๋์ญ์ ๋ด์์ ์ฌ์ฉ๋๋ฉฐ, ํธ๋์ญ์ ์ ์ปค๋ฐํ ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋ฉ๋๋ค.
DATA: lv_value TYPE string.
" ๋ฐ์ดํฐ ์กฐํ
SELECT field FROM my_table INTO lv_value WHERE condition.
" ํ๋ ๊ฐ ๋ณ๊ฒฝ
lv_value = 'New Value'.
" ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ ์
๋ฐ์ดํธ
UPDATE my_table SET field = lv_value WHERE condition.
- `UPDATE` ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ `my_table`์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ์ฝ๋์ ํ๋๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค.
- ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ํธ๋์ญ์ ์ ์ปค๋ฐํ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋ฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ๋ํ ๋ฝ์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ํธ๋์ญ์ ์ปค๋ฐ ์ด์ ๊น์ง ๋ค๋ฅธ ํธ๋์ญ์ ์๊ฒ ๋ณ๊ฒฝ ๋ด์ฉ์ด ๋ณด์ด์ง ์์ต๋๋ค.
'๐งโ๐ผ SAP > ABAP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SAP ABAP] Workbench (์ํฌ๋ฒค์น) ๋? (1) | 2024.01.03 |
---|---|
[SAP ABAP] Transparent Table(ํธ๋์คํจ๋ฐํธ ํ ์ด๋ธ) ์ด๋? (์์ฑ ๋ฐฉ๋ฒ, ๋ฐ์ดํฐ ์กฐ์๋ฒ) (1) | 2023.12.28 |
[SAP ABAP] ๋น๊ต ์ฐ์ฐ์(=, >, >=, <, >=, <> ๋๋ EQ, GT, GE, LT, LE, NE) (0) | 2023.12.26 |
[SAP ABAP] %_HINTS ORACLE ๋? (0) | 2023.12.13 |
[SAP ABAP] CALL TRANSACTION ์ด๋? (0) | 2023.12.08 |