๊ด€๋ฆฌ ๋ฉ”๋‰ด

CS Student’s SAP&Tech Journey๐Ÿ’ซ

[SAP] ์ƒ์ˆ˜(Constants)์™€ ๋ณ€์ˆ˜(Variables) ๋ณธ๋ฌธ

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.