SAP/๋ฐ์ดํฐ ํ์
Data Type
[SAP] ์์(Constants)์ ๋ณ์(Variables)
์ธํฌ๋งํฑ
2025. 1. 30. 21:06
ABAP์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋, Constants(์์)์ Variables(๋ณ์)๋ฅผ ํ์ฉํฉ๋๋ค. ๋ ๊ฐ๋ ์ ์ฐจ์ด๋ฅผ ์ดํดํ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ฉด ์ฝ๋์ ์์ ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ด ํฅ์๋ฉ๋๋ค.
1. Constants(์์)๋?
์์๋ ํ ๋ฒ ์ ์ํ๋ฉด ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ฒด์ ๋๋ค.
์์ ์ ์ธ ๋ฐฉ๋ฒ
CONSTANTS gc_today TYPE D VALUE '20250125'.
- ์ ์ธ ์ VALUE ํค์๋๋ฅผ ์ฌ์ฉํด ์ด๊ธฐ๊ฐ์ ์ค์ ํด์ผ ํจ
- ์ดํ ๊ฐ ๋ณ๊ฒฝ ๋ถ๊ฐ
- ๋ค์ด๋ฐ ๊ท์น: gc_ (global constant) ์ ๋์ฌ๋ฅผ ์ฃผ๋ก ์ฌ์ฉ
์์
CONSTANTS gc_pi TYPE P DECIMALS 2 VALUE '3.14'.
WRITE: 'Pi Value:', gc_pi.
2. Variables(๋ณ์)๋?
๋ณ์๋ ์คํ ์ค ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ฒด์ ๋๋ค.
๋ณ์ ์ ์ธ ๋ฐฉ๋ฒ
DATA gv_today TYPE D.
gv_today = '20250125'.
- DATA ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ธ
- ์คํ ์ค ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์
- ๋ค์ด๋ฐ ๊ท์น: gv_ (global variable) ์ ๋์ฌ๋ฅผ ์ฃผ๋ก ์ฌ์ฉ
์์
DATA gv_counter TYPE I.
gv_counter = 1.
WRITE: 'Counter:', gv_counter.
gv_counter = gv_counter + 1.
WRITE: 'Updated Counter:', gv_counter.
3. Constants vs. Variables ์ฐจ์ด์ ์ ๋ฆฌ
์ ์ธ ๋ฐฉ๋ฒ | CONSTANTS ์ฌ์ฉ | DATA ์ฌ์ฉ |
์ด๊ธฐ๊ฐ ์ค์ | ํ์ (VALUE) | ์ ํ (ํ์ ์ ํ ๋น) |
๊ฐ ๋ณ๊ฒฝ | ๋ถ๊ฐ๋ฅ | ๊ฐ๋ฅ |
๋ค์ด๋ฐ ๊ท์น | gc_ ์ ๋์ฌ ์ฌ์ฉ | gv_ ์ ๋์ฌ ์ฌ์ฉ |
4. ABAP์์ Constants์ Variables ํ์ฉํ๊ธฐ
1) ์ค๋ ๋ ์ง๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
DATA gv_today TYPE D.
CONSTANTS gc_today TYPE D VALUE '20250125'.
* ๋ณ์์ ๊ฐ ํ ๋น
gv_today = sy-datum.
WRITE: 'Today's Date:', gv_today.
WRITE: 'Constant Date:', gc_today.
2) ์์๋ฅผ ํ์ฉํ์ฌ PI ๊ฐ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
CONSTANTS gc_pi TYPE P DECIMALS 2 VALUE '3.14'.
DATA gv_radius TYPE P DECIMALS 2.
DATA gv_area TYPE P DECIMALS 2.
gv_radius = 5.
gv_area = gc_pi * gv_radius ** 2.
WRITE: 'Circle Area:', gv_area.