์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- t์ฝ๋
- ๋จ๋ฐฉํฅํ์
- abap dictionary
- subscreen
- ์คํธ๋ญ์ฒ
- Import
- Export
- qas
- tasknumber
- call function
- SAP
- screen program
- ๋ฐฑ์ค
- ์ค๋ฒ2
- ์ด๋ถํ์
- dev
- PRD
- Function Module
- select
- ๋ชจ๋ํ
- modify
- structure
- ABAP
- ๊น์ด์ฐ์ ํ์
- ์ค๋ฒ3
- ๋๋น์ฐ์ ํ์
- Internal Table
- screen
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐฉํฅํ์
- Today
- Total
CS Student’s SAP&Tech Journey๐ซ
[SAP] ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules (1) Function Modules์ด๋? / CALL FUNCTION ์ฌ์ฉํ์ฌ ํธ์ถํ๊ธฐ ๋ณธ๋ฌธ
[SAP] ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules (1) Function Modules์ด๋? / CALL FUNCTION ์ฌ์ฉํ์ฌ ํธ์ถํ๊ธฐ
์ธํฌ๋งํฑ 2025. 1. 31. 19:19ABAP์์ Function Module์ ๋ชจ๋ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ Function Group๊ณผ Function Modules์ ๊ด๊ณ, SE37์ ํ์ฉํ ํจ์ ๊ฒ์ ๋ฐ ํ ์คํธ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ CALL FUNCTION์ ์ฌ์ฉํ ํจ์ ํธ์ถ ์์ (BC400_MOS_POWER)๋ฅผ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
๋ก์ปฌ ๋ชจ๋๊ณผ ๊ธ๋ก๋ฒ ๋ชจ๋์ ์ฐจ์ด์ ์ ๋ํ ํฌ์คํ ๋ณด๋ฌ๊ฐ๊ธฐ โฌ๏ธ
[ABAP] ๋ก์ปฌ ๋ชจ๋ - ์๋ธ๋ฃจํด(Subroutine)
ABAP์์๋ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํด ๋ชจ๋ํ๋ฅผ ํ์ฉํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ Local Module vs Global Module ์ฐจ์ด, FORM์ ํ์ฉํ ์๋ธ๋ฃจํด ์ ์ ๋ฐ ํธ์ถ, ๊ทธ๋ฆฌ๊ณ Call by Value vs Call by
informatik.tistory.com
๐ฏ Function Group๊ณผ Function Modules์ ๊ด๊ณ
Function Group (1) : Function Module (N) ๊ด๊ณ
1. Function Group
- Function Module์ ์์ ๊ฐ๋ ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ Function Module์ ํฌํจํ๋ ๊ทธ๋ฃน์ ๋๋ค.
- ํธ๋์ญ์ ์ฝ๋ SE80์ ํตํด ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
2. Function Module
- Function Group ๋ด์ ์ํ๋ ๊ฐ๋ณ ํจ์์ ๋๋ค.
- Function Module์ ํน์ ๊ธฐ๋ฅ์ ์ํํ๋ ํจ์์ ๋๋ค.
- ๊ธ๋ก๋ฒ ๋ชจ๋์ด๋ฏ๋ก, ๋๊ตฌ๋ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ์ธํฐํ์ด์ค(Interface)๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ฃผ๊ณ ๋ฐ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ํฉ๋๋ค.
- CALL FUNCTION์ ์ฌ์ฉํ์ฌ ํธ์ถํฉ๋๋ค.
๐ Function Module
1. SE37์์ Function Module์ ํ๋ผ๋ฏธํฐ ์๋ฏธ
์ ํ | ์๋ฏธ |
IMPORT | ํจ์๊ฐ ์คํ๋๊ธฐ ์ ์ ์ ๋ ฅํด์ผ ํ๋ ๊ฐ (์ธ๋ถ์์ ๊ฐ ์ ๋ฌ) |
EXPORT | ํจ์ ์คํ ํ ๋ฐํ๋๋ ๊ฐ (๊ฒฐ๊ณผ๊ฐ) |
CHANGING | ์ธ๋ถ์์ ์ ๋ฌํ ๊ฐ์ด ํจ์ ๋ด๋ถ์์ ๋ณ๊ฒฝ๋๋ฉฐ ์๋ณธ์๋ ๋ฐ์๋จ |
EXCEPTIONS | ํจ์ ์คํ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ฒ๋ฆฌํ ์์ธ ์ฒ๋ฆฌ |
2. Function Module ํจ์ ํธ์ถ ๋ฐ ์์ธ ๊ฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
* Function Module ํจ์ ํธ์ถ
CALL FUNCTION 'BC400_MOS_POWER'
EXPORTING
iv_base = ์
๋ ฅ ๋ฐ์ ๊ฐ
iv_power = ์
๋ ฅ ๋ฐ์ ๊ฐ
IMPORTING
ev_result = ํจ์ ์คํ ํ ์ถ๋ ฅํ๋ ๊ฐ
EXCEPTIONS
power_value_too_high = 1
result_value_too_high = 2
others = 3.
* ํธ์ถํ ๊ฒฐ๊ณผ ์ถ๋ ฅํ๊ธฐ
CASE sy-subrc.
WHEN 0. "์ฑ๊ณต
WRITE: 'POWER๊ฐ: ', ํจ์ ์คํ ํ ์ถ๋ ฅํ๋ ๊ฐ.
WHEN 1. "POWER_VALUE_TOO_HIGH ๋ฐ์
WRITE: '๊ฐ ์ด๊ณผ:', iv_power์ ์
๋ ฅ ๋ฐ์ ๊ฐ.
WHEN 2. "RESULT_VALUE_TOO_HIGH ๋ฐ์
WRITE: '๊ฒฐ๊ณผ๊ฐ ์ด๊ณผ.'.
WHEN 3. "OTHERS - ์ ์ ์๋ ์์ธ
WRITE: '์ ์ ์๋ ์์ธ ๋ฐ์.'.
ENDCASE.
๐ SE37์ ํ์ฉํ ํจ์ ๊ฒ์ ๋ฐ ํ ์คํธ ๋ฐฉ๋ฒ
SAP์์๋ SE37 ํธ๋์ญ์ ์ ์ฌ์ฉํ์ฌ Function Module์ ๊ฒ์ํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค.
1. SE37์ ์ฌ์ฉํ์ฌ ํจ์ ๊ฒ์ํ๊ธฐ
- ํธ๋์ญ์ ์ฝ๋ SE37 ์คํ
- ๊ฒ์์ฐฝ์ ํจ์ ์ด๋ฆ ์ ๋ ฅ (์: BC400_MOS_POWER)
- "Display" ๋ฒํผ ํด๋ฆญํ์ฌ ํจ์ ์ธํฐํ์ด์ค ๋ฐ ์ฝ๋ ํ์ธ
2. SE37์์ ํจ์ ํ ์คํธํ๊ธฐ
- SE37 ์คํ ํ ํจ์๋ช ์ ์ ๋ ฅ
- "Test/Execute (F8)" ๋ฒํผ ํด๋ฆญ
- IMPORT, EXPORT, CHANGING, EXCEPTIONS ํ๋์ ๊ฐ ์ ๋ ฅ ํ ์คํ
- ๊ฒฐ๊ณผ ๋ฐ ์์ธ ํ์ธ
- IV_BASE์ IV_POWER ๋ชจ๋ PASS BY VALUE ์ ํ ์๋์ด ์๊ธฐ์ Call By Reference ์ ๋๋ค.
- IV_BASE๋ ํ์ ๊ฐ์ด๋ฉฐ ๋ํดํธ ๊ฐ์ ์๊ณ , IV_POWER๋ ์ต์ ๊ฐ์ด๋ฉฐ ๋ํดํธ ๊ฐ์ 2 ์ ๋๋ค.
โ CALL FUNCTION์ ์ฌ์ฉํ ํจ์ ํธ์ถ ์์ (BC400_MOS_POWER)
์๋ ์์ ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ base ๊ฐ๊ณผ power ๊ฐ์ ์ฌ์ฉํ์ฌ ์ ๊ณฑ ์ฐ์ฐ์ ์ํํ๋ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ์ ๋๋ค.
PARAMETERS gv_base TYPE BC400_COMPUTE_BASE.
PARAMETERS gv_power TYPE C400_COMPUTE_POWE.
DATA gv_result TYPE BC400_COMPUTE_RESULT.
CALL FUNCTION 'BC400_MOS_POWER'
EXPORTING
iv_base = gv_base
IV_POWER = gv_power
IMPORTING
EV_RESULT = gv_result
EXCEPTIONS
POWER_VALUE_TOO_HIGH = 1
RESULT_VALUE_TOO_HIGH = 2
OTHERS = 3
.
CASE sy-subrc.
WHEN 0.
WRITE: '์ฑ๊ณต', gv_result.
WHEN 1.
WRITE: '๊ฐ ์ด๊ณผ', gv_power.
WHEN 2.
WRITE: '๊ฒฐ๊ณผ ๊ฐ ์ด๊ณผ'.
WHEN 3.
WRITE: '์ ์ ์๋ ์ค๋ฅ'.
ENDCASE.
'SAP > ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SAP] ๊ธ๋ก๋ฒ ๋ชจ๋ Function Modules (2) Function Module ์ ์ธ ๋ฐ ์์ฑํ๊ธฐ (0) | 2025.02.05 |
---|