์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- screen program
- ๋ฐฑ์ค
- screen
- tasknumber
- ์คํธ๋ญ์ฒ
- Function Module
- ๊น์ด์ฐ์ ํ์
- ๋ชจ๋ํ
- structure
- t์ฝ๋
- call function
- ABAP
- dev
- select
- modify
- Import
- ์ค๋ฒ2
- abap dictionary
- ๋๋น์ฐ์ ํ์
- ์ด๋ถํ์
- SAP
- subscreen
- ์๊ณ ๋ฆฌ์ฆ
- Export
- ๋จ๋ฐฉํฅํ์
- Internal Table
- ์๋ฐฉํฅํ์
- PRD
- qas
- ์ค๋ฒ3
- Today
- Total
CS Student’s SAP&Tech Journey๐ซ
[SAP] ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules (2) Function Module ์ ์ธ ๋ฐ ์์ฑํ๊ธฐ ๋ณธ๋ฌธ
[SAP] ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules (2) Function Module ์ ์ธ ๋ฐ ์์ฑํ๊ธฐ
์ธํฌ๋งํฑ 2025. 2. 5. 22:45SAP ABAP์ ๋ค๋ฃจ๋ค ๋ณด๋ฉด ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ด ์์ ๋, Function Module(FM)์ ํ์ฉํ๋ฉด ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. Function Module์ ์ ์ญ์์ ํธ์ถํ ์ ์๋ ํจ์๋ก, ์ฌ์ฌ์ฉ์ฑ์ด ๋๊ณ , ํ์คํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ต๋๋ค.
์ด๋ฒ ๊ธ์์๋ ABAP Function Module์ ๋ง๋๋ ๋ฐฉ๋ฒ๋ถํฐ ์์ธ ์ฒ๋ฆฌ, ํ์ฉ ์์ ๊น์ง ์์๋ณด๊ฒ ์ต๋๋ค.
Function Modules ํจ์์ ๋ํ ํฌ์คํ ๋ณด๋ฌ๊ฐ๊ธฐ โฌ๏ธ
ABAP ํ๋ก๊ทธ๋๋ฐ: Function Modules ํจ์, Call Function ์ฌ์ฉํ๊ธฐ, SE37 ํจ์ ๊ฒ์ํ๊ธฐ
ABAP์์ Function Module์ ๋ชจ๋ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ Function Group๊ณผ Function Modules์ ๊ด๊ณ, SE37์ ํ์ฉํ ํจ์ ๊ฒ์ ๋ฐ ํ ์คํธ ๋ฐฉ
informatik.tistory.com
1. Function Module์ด๋?
Function Module(FM)์ SAP ์์คํ ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ํฌํจํ๋ ๋ชจ๋ํ๋ ํจ์์ ๋๋ค.
- ์ฌ์ฌ์ฉ ๊ฐ๋ฅ: ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์์ ํธ์ถ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ์ ๋ฌ ๊ฐ๋ฅ: Import, Export, Changing, Exception์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ๊ธฐ ๊ฐ๋ฅ
- ๊ฐ๋ฐ ๋ฐ ํ ์คํธ ์ฉ์ด: SE37, SE80์์ ์์ฑ ๋ฐ ๋๋ฒ๊น ๊ฐ๋ฅ
SAP์ ํ์ค ๊ธฐ๋ฅ(์: BAPI_USER_GET_DETAIL)๋ Function Module๋ก ๊ตฌํ๋์ด ์์ผ๋ฉฐ, ์ฌ์ฉ์๋ ์ง์ Custom Function Module์ ๋ง๋ค ์ ์์ต๋๋ค.
2. Function Module ๋ง๋ค๊ธฐ
1๏ธโฃ Function Group ์์ฑ
Function Module์ ๋ง๋ค๊ธฐ ์ ์, Function Group์ ๋จผ์ ์์ฑํด์ผ ํฉ๋๋ค.
Function Group์ ์ฌ๋ฌ ๊ฐ์ Function Module์ ํฌํจํ๋ ๊ทธ๋ฃน์ผ๋ก, ํ๋์ ๊ทธ๋ฃน ๋ด์์๋ ์ค๋ณต๋ ํจ์ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ Function Group ์์ฑ ๋ฐฉ๋ฒ
- SE80(Object Navigator) ์คํ
- Function Group ์ ํ ํ ์๋ก์ด Function Group ์์ฑ
- Function Group ํ์ฑํ (Activate)
2๏ธโฃ Function Module ์์ฑ
Function Group์ ๋ง๋ค์๋ค๋ฉด, ์ด์ Function Module์ ์์ฑํฉ๋๋ค.
- SE80์์ Function Group์ ์ ํ
- "Function Modules" ํด๋์์ ์๋ก์ด Function Module ์์ฑ (Warning ๋ฉ์ธ์ง ์๋ ๋ธ)
- Import, Export, Exception ๋ฑ์ ์ธํฐํ์ด์ค ์ค์
- Function Module ๋ด๋ถ ๋ก์ง ์์ฑ
- ํ์ฑํ(Activate) ํ ํ ์คํธ ์คํ
3๏ธโฃ Function Module ์ธํฐํ์ด์ค ๊ตฌ์ฑ
1) Import Parameters (์ ๋ ฅ๊ฐ)
- Function Module์ด ํธ์ถ๋ ๋ ํ์ํ ์ ๋ ฅ๊ฐ
2) Export Parameters (์ถ๋ ฅ๊ฐ)
- Function Module์ด ์คํ๋ ํ ๋ฐํํ ๊ฐ
3) Changing Parameters (์ ์ถ๋ ฅ ๊ฐ)
- ํจ์ ์คํ ์ค ๋ณ๊ฒฝ๋๋ ๊ฐ (์ ์ฌ์ฉ๋์ง ์์)
4) Exceptions (์์ธ ์ฒ๋ฆฌ)
- ์ค๋ฅ ๋ฐ์ ์ ์ฒ๋ฆฌํ ์์ธ ์ํฉ
3. Function Module ์์ (๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ)
๐ ZCALCULATOR_07์ ๋ง๋ค์ด์ ์ฌ์น์ฐ์ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ์์ ์ ๋๋ค.
1๏ธโฃ Function Module ์ธํฐํ์ด์ค ์ค์
- Import: I_ARG1, I_ARG2 (์ ๋ ฅ ์ซ์), I_OPERATOR (์ฐ์ฐ์)
- Export: E_RESULT (๊ฒฐ๊ณผ)
- Exception:
- DIVIDE_BY_ZERO → 0์ผ๋ก ๋๋๋ ค ํ ๋
- OPERATOR_INVALID → ์ฌ๋ฐ๋ฅด์ง ์์ ์ฐ์ฐ์๊ฐ ์ ๋ ฅ๋ ๋
2๏ธโฃ Function Module ์์ค์ฝ๋ ์์ฑ
CASE i_operator.
WHEN '+'.
E_RESULT = I_ARG1 + I_ARG2.
WHEN '-'.
E_RESULT = I_ARG1 - I_ARG2.
WHEN '*'.
E_RESULT = I_ARG1 * I_ARG2.
WHEN '/'.
IF I_ARG2 = 0.
RAISE divide_by_zero.
ENDIF.
E_RESULT = I_ARG1 / I_ARG2.
WHEN OTHERS. "์์ธ
RAISE operator_invaild.
ENDCASE.
๐ฏ Function Module ํ์ฑํ ์ค๋ฅ
The master program of the function "ZCALCULATOR1_07" does not begin with "FUNCTION-POOL".
- Function Group์ ๋จผ์ ์์ฑํด์ผ ํฉ๋๋ค.
- Function Group ๋ด๋ถ์์ FUNCTION MODULE์ ์์ฑํด์ผ ํฉ๋๋ค.
- FUNCTION MODULE์ ์คํํ ๋, Function Group์ด ๋จผ์ ํ์ฑํ๋์ด์ผ ํฉ๋๋ค.
3๏ธโฃ Function Module ํธ์ถ ์ฝ๋ (ํ ์คํธ ํ๋ก๊ทธ๋จ)
PARAMETERS gv_num1 TYPE bc400_act.
PARAMETERS gv_num2 TYPE bc400_act.
PARAMETERS gv_oper TYPE char01.
DATA gv_result TYPE bc400_act.
CALL FUNCTION 'ZCALCULATOR2_07'
EXPORTING
i_num1 = gv_num1
i_num2 = gv_num2
i_operator = gv_oper
IMPORTING
e_result = gv_result
EXCEPTIONS
divide_by_zero = 1
operator_invaild = 2
OTHERS = 3.
CASE sy-subrc.
WHEN 0.
WRITE: '์ฐ์ฐ ๊ฒฐ๊ณผ๋', gv_result, '์
๋๋ค'.
WHEN 1.
WRITE: '0์ผ๋ก ๋๋ ์ ์์ต๋๋ค.', gv_num2.
WHEN 2.
WRITE: '์ฐ์ฐ์๊ฐ ์ ํจํ์ง ์์ต๋๋ค.', gv_oper.
WHEN 3.
WRITE: '์ ์ ์๋ ์ค๋ฅ์
๋๋ค.'.
ENDCASE.
SAP ์์คํ ์์ Function Module์ ํ์ฉํ๋ฉด, ๋ฐ๋ณต์ ์ธ ์ฝ๋ ์์ฑ ์์ด ์์ฝ๊ฒ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ต๋๋ค.
'SAP > ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SAP] ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules (1) Function Modules์ด๋? / CALL FUNCTION ์ฌ์ฉํ์ฌ ํธ์ถํ๊ธฐ (0) | 2025.01.31 |
---|