Function Module ์ด๋?
Function Module์ sap ์์คํ ์์ ์ฌ์ฉ๋๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ๋ธ๋ก์ ๋๋ค.
Function Module ํน์ง
- ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋: Function Module์ ํ ๋ฒ ์์ฑํ๊ณ ๋๋ฉด ์ฌ๋ฌ ๊ณณ์์ ํธ์ถํ์ฌ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ์ฝ๋ ์ค๋ณต์ ์ค์ด๊ณ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
- ๋ ๋ฆฝ์ ์ธ ๋จ์: Function Module์ ๋ ๋ฆฝ์ ์ธ ์ฝ๋ ๋จ์๋ก ์์ฑ๋ฉ๋๋ค. ์ฆ, ๋ค๋ฅธ ๋ชจ๋์์ ํธ์ถ๋์ด ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ํธ์ถ๋ ๋๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋ฉ๋๋ค.
- ์ธํฐํ์ด์ค: Function Module์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํธ์ถ๋ ๋ ์ ๋ฌ๋๋ ๋งค๊ฐ๋ณ์์ ๋ฐํ ๊ฐ์ ๋ํ ๋ช ์ธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ธ๋ถ์์ ๋ชจ๋์ ํธ์ถํ ๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค.
- ๋ ๋ฆฝ์ ์ธ ํธ๋์ญ์ ์ฒ๋ฆฌ: Function Module์ ํธ๋์ญ์ ๋ด์์ ํธ์ถ๋ ์ ์์ผ๋ฉฐ, ํธ์ถ๋ ํธ๋์ญ์ ๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํธ๋์ญ์ ๋ด์์ ๋ชจ๋์ด ์คํ๋๋ ๋์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
Function Module ์ฌ์ฉ
- ์ฌ์ฌ์ฉ: ์ด๋ฏธ ๊ฐ๋ฐ๋ Function Module์ ํ์ฉํ์ฌ ์ค๋ณต์ ํผํ๊ณ ์๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ๊ฐ ํตํฉ: ์ฌ๋ฌ ๋ชจ๋์ด ์๋ก ํตํฉ๋์ด ํน์ ๊ธฐ๋ฅ์ ์ํํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ ์์คํ ์ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ ๋๋ค.
- ์ธ๋ถ ์ธํฐํ์ด์ค: Function Module์ ์ธ๋ถ ์์คํ ๊ณผ์ ํตํฉ์ ์ํด ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ธ๋ถ ์์คํ ์์ SAP ์์คํ ์ ๋ฐ์ดํฐ๋ ๊ธฐ๋ฅ์ ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ฌ ์ ์์ต๋๋ค.
- ๋ฐฐ์น ์ฒ๋ฆฌ: ๋์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ๋์ด์ผ ํ๋ ์์ ์ ์๋ํํ๊ธฐ ์ํด ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
Function Group ์ด๋?
Function Group์ SAP ์์คํ ์์ Function Module์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ทธ๋ฃนํํ์ฌ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ์ ๋๋ค.
์ด๋ Function Module์ ํ๋์ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ฌถ์ด์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๊ณ ์ ์ง ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ค๋๋ค.
๋น์ทํ ๊ธฐ๋ฅ์ ์ํํ๋ ํจ์ ๋ชจ๋์ ํ ๊ณณ์ ๋ชจ์์ ๊ด๋ฆฌํ๊ณ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
Function Module ๋ง๋๋ ๋ฒ
se37 / Function Group ์์ฑ
Function Group๋ช ๊ณผ ์ค๋ช ์ ๋ ฅ
๊ฐ๋ฐ ํด๋ผ์ค ์ ๋ ฅ. ํ ์คํธ๊ธฐ ๋๋ฌธ์ $TMP๋ก ๋ง๋ฌ
SE80 / ๊ฐ๋ฐํด๋์ค: $TMP / Function ๊ทธ๋ฃน์ ๋ณด๋ฉด ๋ฐฉ๊ธ ๋ง๋ ZTRAINING_0000 ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์์ฑํ Function์ ํ์ฑํํฉ๋๋ค.
se37 / Function Module ์์ฑ. Function Module ๋ช ์ ๋ ฅ ํ Create ํด๋ฆญ
Function Group (ZTRAINING_0000)๊ณผ Function์ ๋ํ ์ค๋ช ์ ์ ๋ ฅํ๊ณ ์ ์ฅํฉ๋๋ค.
Import์์ ์ ๋ ฅ ๋ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ ํฉ๋๋ค.
Attributes | - Function Module์ ์์ฑ์ ์ ์ํฉ๋๋ค. ์ด์๋ ์คํ ์ ์ค๋จ, ๋์ ๋ณ๊ฒฝ ํ์ฉ, ์์คํ ๋๋ ์ฌ์ฉ์์ ์ํ ๋ชจ๋ ์ ๊ธ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. |
Import | - Function Module์ ๋ค์ด์ค๋(์
๋ ฅ๋๋) ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. - Function Module ๋ด์์๋ง ์ฌ์ฉ๋๊ณ ์ธ๋ถ์์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. |
Export | - Function Module์์ ํธ์ถ ํ๋ก๊ทธ๋จ์ผ๋ก ์ ๋ฌ๋๋(์ถ๋ ฅ๋๋) ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. - Function Module ๋ด์์ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ ๋ฑ์ ํธ์ถ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณด๋ ๋๋ค. |
Changing | - ํธ์ถ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ , ๋ณ๊ฒฝ๋ ๊ฐ์ ํธ์ถ ํ๋ก๊ทธ๋จ์๊ฒ ๋ค์ ์ ๋ฌํฉ๋๋ค. - Import์ Export์ ๊ฒฐํฉ๋ ์ญํ ์ ์ํํฉ๋๋ค. |
Exceptions | - Function Module์ด ๋ฐ์์ํฌ ์ ์๋ ์์ธ๋ฅผ ์ ์ํฉ๋๋ค. - ์คํ ์ค์ ์์ธ ์ํฉ์ด ๋ฐ์ํ๋ฉด ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ํธ์ถ ํ๋ก๊ทธ๋จ์์ ์ ์ ํ ์กฐ์น๋ฅผ ์ทจํ ์ ์์ต๋๋ค. |
Function module์์ ์ฒ๋ฆฌํ ๊ฐ์ ์ถ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ์ ์ํด์ค๋๋ค.
์์ธ์ฒ๋ฆฌ๋ฅผ ์ง์ ํด์ค๋๋ค.
์์๋ก ๋๋ ์ฐ์ฐ ์ฝ๋๋ฅผ ์ง๋ณด๊ฒ ์ต๋๋ค.
0์ผ๋ก๋ ๋๋ ์๊ฐ ์์ผ๋, ๋ง์ฝ I_NUM2๊ฐ 0์ด๋ฉด ์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ค๋๋ค.
์ฝ๋๋ฅผ ์์ฑํ๊ณ Active(Ctrl+F3)๋ฅผ ํ๊ณ ์คํ(F8)์ ๋๋ฌ ํ ์คํธ๋ฅผ ์งํํฉ๋๋ค.
Import ๋งค๊ฐ๋ณ์์์ ์์์ ์ซ์๋ฅผ ๋ฃ๊ณ ์คํ(F8) ํ๋ฉด Export ๋งค๊ฐ๋ณ์์ ๊ฒฐ๊ณผ๊ฐ ์ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ง์ฝ 0์ผ๋ก ๋๋ ๊ฒฝ์ฐ, ์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ค๋๋ค.
์์ฑ๋ Function Module์ Include์ ์ฌ์ง๊ณผ ๊ฐ์ด LZ+ํ์ผ๋ช +TOP ๊ณผ LZ+ํ์ผ๋ช +UXX ๊ฐ ์์ฑ๋ฉ๋๋ค.
TOP์์๋ ๋ก์ปฌ ํด๋์ค ์ ์์, ๊ธ๋ก๋ฒ ๋ฐ์ดํฐ ์ค๋ธ์ ํธ ์ ์ธ์ ํ ์ ์์ต๋๋ค.
UXX๋ ๊ฑด๋๋ฆฌ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.(์ด์ ๋ ๊น๋จน์ ์๋ ๋ถ ๋๊ธ ๋ถํ)
ํ๋ก๊ทธ๋จ์์ Function ๋ชจ๋์ ์๋์ฒ๋ผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
Exporting์ ์ ๋ ฅ๊ฐ์ ์ฃผ๊ณ , IMPORTING์ ์ถ๋ ฅ๊ฐ์ ๋ฐ์ ๋ณ์๋ฅผ ๋ฃ์ด์ค๋๋ค.
*&---------------------------------------------------------------------*
*& Report ZTEST04
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZTEST04.
DATA: num1 type i,
num2 type i,
result type i.
num1 = 5.
num2 = 9.
CALL FUNCTION 'ZTEST04'
EXPORTING
i_num1 = num1
i_num2 = num2
IMPORTING
I_RESULT = result.
WRITE: result.
์คํ๊ฒฐ๊ณผ๋ 5+9 = 14. ์ฆ, 14๋ก ์ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.