728x90
๋ฐ์ํ
CALL FUNCTION ์ด๋?
` CALL FUNCTION ` ์ ๋ค๋ฅธ ํจ์ ๋ชจ๋์ ํธ์ถํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ช ๋ น๋ฌธ์ ๋๋ค.
ํจ์ ๋ชจ๋์ SAP ์์คํ ์์ ํน์ ์์ ์ ์ํํ๋๋ก ์ ์๋ ๋ ๋ฆฝ์ ์ธ ์ฝ๋ ๋ธ๋ก์ ๋๋ค.
์ด๋ฅผ ํตํด ABAP ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ํจ์ ๋ชจ๋์ ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
CALL FUNCTION ๊ธฐ๋ณธ ๊ตฌ์กฐ
CALL FUNCTION 'ํจ์ ๋ชจ๋ ์ด๋ฆ'
EXPORTING
ํ๋ผ๋ฏธํฐ1 = ๊ฐ1
ํ๋ผ๋ฏธํฐ2 = ๊ฐ2
IMPORTING
๊ฒฐ๊ณผ ํ๋ผ๋ฏธํฐ1 = ๋ณ์1
๊ฒฐ๊ณผ ํ๋ผ๋ฏธํฐ2 = ๋ณ์2
TABLES
๋ด๋ถ ํ
์ด๋ธ1 = itab1
๋ด๋ถ ํ
์ด๋ธ2 = itab2
CHANGING
๋ณ์1 = ๋ณ์1
๋ณ์2 = ๋ณ์2
EXCEPTIONS
์์ธ1 = ๋ฒํธ1
์์ธ2 = ๋ฒํธ2.
- FUNCTION_MODULE_NAME: ํธ์ถํ ํจ์ ๋ชจ๋์ ์ด๋ฆ์ ๋๋ค.
- EXPORTING: ํธ์ถํ ํจ์์ ์ ๋ฌ๋๋ ๋งค๊ฐ๋ณ์(Parameter)๋ค์ ์ ์ํฉ๋๋ค.
- IMPORTING: ํธ์ถ๋ ํจ์๋ก๋ถํฐ ๋ฐํ๋๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค.
- TABLES: ์ธํฐ๋ ํ ์ด๋ธ์ ํจ์ ๋ชจ๋์ ์ ๋ฌํ๊ฑฐ๋ ํจ์ ๋ชจ๋์์ ๋ฐํ๋ ํ ์ด๋ธ์ ์์ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค.
- CHANGING: ํจ์ ๋ชจ๋์ ์ ๋ฌ๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ ํฉ๋๋ค.
- EXCEPTIONS: ํธ์ถ๋ ํจ์๊ฐ ๋ฐ์์ํค๋ ์์ธ ์ํฉ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์ ์ํฉ๋๋ค.
- OTHERS: ` EXCEPTIONS ` ์น์ ์์ ์ ์ํ ์์ธ ์ค์์ ๋ค๋ฅธ ๋ชจ๋ ์์ธ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์ ์ํฉ๋๋ค.
CALL FUNCTION ์์
๊ฐ๋จํ ์์ ๋ก ๋ง์ Function Module์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
1. CALL FUNCTION ํจ์ ๋ชจ๋ ๋ง๋ค๊ธฐ
๋จผ์ SAP GUI์์ Function Module์ ์์ฑํฉ๋๋ค.
- ํธ๋์ญ์ ์ฝ๋ SE37 ์คํ
- Function Module ์ด๋ฆ ์ ๋ ฅ: Z_ADD_NUMBERS
- Create ํด๋ฆญ
- Function Group ์ ๋ ฅ: ์๋ฅผ๋ค์ด, ZFUNCTION_GROUP
- Short Text ์ ๋ ฅ: Add two numbers
- Import Parameters
- I_NUM1: ํ์ I (์ ์ํ)
- I_NUM2: ํ์ I (์ ์ํ)
- Export Parameters
- E_SUM: ํ์ I (์ ์ํ)
- Exceptions
- INVALID_INPUT: ์์ธ์ฒ๋ฆฌ
- ํจ์ ๋ชจ๋ Z_ADD_NUMBERS ๊ฐ ์์ฑ๋์์ต๋๋ค.
- I_NUM1 ๋๋ I_NUM2๊ฐ ์ด๊ธฐ ๊ฐ(๋น ๊ฐ)์ด๋ฉด INVALID_INPUT ์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค.
- ํด๋น ํจ์ ๋ชจ๋์ Active ํด์ค๋๋ค.
2. Function Module ํธ์ถ ์์
์ด์ ์์ฑํ ํจ์ ๋ชจ๋์ ํธ์ถํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ฒ ์ต๋๋ค.
DATA: lv_num1 TYPE i,
lv_num2 TYPE i,
lv_sum TYPE i.
lv_num1 = 5.
lv_num2 = 10.
CALL FUNCTION 'Z_ADD_NUMBERS'
EXPORTING
i_num1 = lv_num1
i_num2 = lv_num2
IMPORTING
e_sum = lv_sum
EXCEPTIONS
invalid_input = 1
others = 2.
IF sy-subrc = 0.
WRITE: / 'Answer:', lv_num1, '+', lv_num2, '=', lv_sum.
ELSEIF sy-subrc = 1.
WRITE: / 'Error: Invalid input provided.'.
ELSE.
WRITE: / 'Error occurred:', sy-subrc.
ENDIF.
3. ์คํ ํ๋ฉด
- ํจ์ ๋ชจ๋ ํธ์ถ์ด ์ฑ๊ณตํ๋ฉด ๋ ์ซ์์ ํฉ์ ์ถ๋ ฅํฉ๋๋ค.
*lv_num1 = 5. " ์ฃผ์์ผ๋ก lv_num1 ๋น๊ฐ ์ฒ๋ฆฌ
- lv_num1 ์ ์ฃผ์์ฒ๋ฆฌํ๋ฉด ์์ธ์ฒ๋ฆฌ์ ๋ฐ๋ผ ์์ ๊ฐ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
728x90
๋ฐ์ํ
'๐งโ๐ผ SAP > ABAP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SAP ABAP] CALL TRANSACTION ๋ฐฉ์์์ BDC ๋๋ฒ๊น ๋ชจ๋ ์คํ ๋ฐฉ๋ฒ (0) | 2024.09.11 |
---|---|
[SAP ABAP] ์ธํฐ๋ ํ ์ด๋ธ(Internal Table) ์ข ๋ฅ ๋ฐ ์ ์ธ ๋ฐฉ๋ฒ (0) | 2024.07.29 |
[SAP ABAP] SELECT-OPTIONS ๋? (1) | 2024.07.16 |
[SAP ABAP] SELECTION-SCREEN ์ด๋? (์์ ํฌํจ) (2) | 2024.07.16 |
[SAP ABAP] TYPE ๊ณผ TYPE TABLE OF ๋? (0) | 2024.07.10 |