ABAP κ°λ°μ νλ€ λ³΄λ©΄ λ°λμ μ νκ² λλ Function Module (ν¨μ λͺ¨λ)μ μ€μν κ°λ
μ€ νλκ° λ°λ‘ Parameter Interface (νλΌλ―Έν° μΈν°νμ΄μ€)μ΄λ€.
μ΄λ² ν¬μ€ν
μμλ ABAP ν¨μ λͺ¨λμμ μ¬μ©νλ λ€μν νλΌλ―Έν° νμ
( IMPORTING, EXPORTING, CHANGING, TABLES )μ μ°¨μ΄μ κ³Ό νΉμ§, μ¬μ© μ βμ£Όμμ¬νμ μ€λͺ
ν΄ λ³΄λλ‘ νκ² λ€. μ€λ¬΄μμλ νλΌλ―Έν°λ₯Ό μλͺ» μ΄ν΄ν΄μ μλͺ»λ κ°μ΄ λμ€κ±°λ μλͺ» μ¬μ©νλ κ²½μ°κ° μμΌλ μ£Όμμ¬νμ μ μ¬ν 보λλ‘ νμ.
π Function Module (ν¨μ λͺ¨λ)μ΄λ?
ν¨μ λͺ¨λμ κ³΅ν΅ κΈ°λ₯μ μΊ‘μννμ¬ μ¬μ¬μ©ν μ μλλ‘ λ§λ€μ΄μ§ ABAPμ κΈ°λ₯μ΄μ ABAPμμ λ‘μ§μ λͺ¨λν(Modulization) νλ λ°©λ² μ€ κ°μ₯ λ§μ΄ μ¬μ©λκ³ μκΈ°λ νλ€. SAP νμ€μμλ κ΄λ²μνκ² μ¬μ©λκ³ μμΌλ©°, ν μμ€ν κ³Όμ RFC(Remote Function Call)λ₯Ό ν΅ν μΈν°νμ΄μ€ ꡬνμμλ λ§μ΄ μ¬μ©λλ€.
π 2022.06.26 - [ABAP Concept (πκ°λ )/Advanced] - |ABAPκ°λ μ 리| Function ꡬ쑰
|ABAPκ°λ μ 리| Function Module (ν¨μ) ꡬ쑰
νλ‘κ·Έλλ° μΈμ΄μμλ λλΆλΆ Function μ΄λ κ²μ΄ μ‘΄μ¬νλ©°, μμ£Ό μ¬μ©λλ λ‘μ§μ λͺ¨λν νλ λ°©λ²μΌλ‘ λ§μ΄ μ¬μ©λλ€. μΌλ°μ μΌλ‘ μκ³ μλ Fucntionμ΄ ABAP μμλ μ΄λ€ κ΅¬μ‘°λ‘ λμ΄ μλμ§ μ΄
twossun.tistory.com
λ€μ΄κ°κΈ°μ μμ,
ν¨μμ ꡬ쑰μ Pass by Valueμ Pass by Reference κ°λ μ 미리 μμλλλ‘ νμ.
Parameter μ λ¬ λ°©μ Pass by Value μ Pass by Reference
νλ‘κ·Έλλ°μ νλ€ λ³΄λ©΄ μλΈλ£¨ν΄μ΄λ ν¨μ λλ ν΄λμ€μ λ©μλμ λ³μλ₯Ό μ λ¬ν μΌμ΄ λ§λ€. μ΄λ μ λ¬ λ°©μμ λ°λΌ λ겨μ§λ λ³μμ λ³κ²½ μ¬λΆκ° λ€λ₯΄κ² μλνλλ° μ΄ λ κ°μ§ λ°©μμΌλ‘ μ
twossun.tistory.com
π ν¨μ λͺ¨λ νλΌλ―Έν° μ’ λ₯
ν¨μ λͺ¨λμ μΈλΆμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν΄ μΈν°νμ΄μ€ νλΌλ―Έν°λ₯Ό μ¬μ©νλλ° μλ λ€ κ°μ§ νλΌλ―Έν° μ νμ΄ μ‘΄μ¬νλ€.
κΈ°λ³Έμ μΌλ‘ ν΄λΉ νλΌλ―Έν°λ Pass by Reference ννλ‘ μλνλ©°, Pass by Valueλ 체ν¬λ°μ€λ₯Ό ν΅ν΄ μ νκ°λ₯νλ€. ( TABLESνλΌλ―Έν°λ μμΈ )
1. IMPORTING – μ λ ₯(Input) μ μ© νλΌλ―Έν°
- μ©λ: μΈλΆμμ ν¨μ λͺ¨λλ‘ λ°μ΄ν°λ₯Ό μ λ¬ν λ μ¬μ©
- νΉμ§: νμ μ λ ₯κ° λλ μ νκ°μΌλ‘ μ€μ κ°λ₯
β οΈμ£Όμ: IMPORTING νλΌλ―Έν°λ κΈ°λ³Έμ μΌλ‘ Pass by Reference(μ°Έμ‘°λ‘ μ λ¬)μ΄λ©°, κ°μ λ°κΎΈμ§ μλ κ²μ΄ μμΉμ΄λ€.(ν¨μ λ΄μμ λ³κ²½ μ Syntax error λ°μ) Pass by Value(κ°μΌλ‘ μ λ¬) μμλ κ°μ λ°κΏ μλ μμ§λ§, μ©λλ ν¨μμμ μ¬μ©μ λͺ©μ μ΄λ―λ‘ λ³κ²½λ κ°μ λ€μ μ λ¬νμ§λ μλλ€. λ§μΉ Subroutineμ "USING VALUE( νλΌλ―Έν°λͺ )"μ λμΌν ν¨κ³Όλ₯Ό κ°λλ€.
2. EXPORTING – μΆλ ₯(Output) μ μ© νλΌλ―Έν°
- μ©λ: ν¨μ μ€ν ν μΈλΆλ‘ κ²°κ³Όλ₯Ό μ λ¬
- νΉμ§: νΈμΆν λ νλΌλ―Έν°λ₯Ό λκΈ°μ§ μμλ λ¨
β οΈβ οΈμ£Όμ: EXPORTING νλΌλ―Έν°λ₯Ό Pass by Reference(μ°Έμ‘°λ‘ μ λ¬)λ‘ μ¬μ© μ, ν¨μ νΈμΆ μ κ°μ΄ μλμΌλ‘ μ΄κΈ°νλμ§ μμΌλ―λ‘ νΈμΆ μ λλ λ΄λΆ μμ μμ μ λ°λμ κ°μ μ΄κΈ°νν΄μΌ νλ€.
μλ₯Ό λ€μ΄:
ν¨μ νΈμΆ μ Pass by Referenceλ‘ EXPORTING νλΌλ―Έν° μ¬μ© μ μ΄μ μ μ¬μ©νλ κ°μ΄ λ¨μμλ κ²½μ°, κ·Έ κ°μ κ·Έλλ‘ ν¨μ λ΄λΆμμ μ¬μ©νκΈ° λλ¬Έμ κ²°κ³Όκ° μλͺ»λ κ°μΌλ‘ λμ¬ μ μλ€.
Pass by Value(κ°μΌλ‘ μ λ¬)μΈ κ²½μ°λ 무쑰건 μ΄κΈ°νλ κ°μΌλ‘ μμνλ€. λ°λΌμ EXPORTING νλΌλ―Έν° μ¬μ© μ Pass by Valueλ₯Ό 무쑰건 μ°κ³ μμνλ κ²λ μ€λ₯λ₯Ό λ°©μ§νλ λ°©λ²μΌ μ μκ² λ€.
3. CHANGING – μ , μΆλ ₯ (Input & Output) νλΌλ―Έν°
- μ©λ: νΈμΆ μ κ°μ μ λ¬νκ³ , μ€ν κ²°κ³Όλ‘ λ³κ²½λ κ°μ λ€μ λ°μ
- νΉμ§: νμ μ λ ₯κ° λλ μ νκ°μΌλ‘ μ€μ κ°λ₯
- μ€λ¬΄μμλ μ£Όλ κ°κ³Ό λ°λ κ°μ λͺ νν ꡬλΆνκΈ° μν΄ CHANGING νλΌλ―Έν°λ³΄λ€λ IMPORTING/EXPORTING νλΌλ―Έν°λ‘ λλμ΄ μ¬μ©ν¨
β οΈ μ£Όμ: CHANGING νλΌλ―Έν°λ ν¨μ μΈλΆμμλ λ³κ²½λ κ°μ νμΈν΄μΌ ν λ μ¬μ©λλ€.
4. TABLES – μΈν°λ ν μ΄λΈ μ μ© μ , μΆλ ₯ (Input & Output) νλΌλ―Έν°
- μ©λ : μΈν°λ ν μ΄λΈμ νλΌλ―Έν°λ‘ λκΈ°κ³ λ€μ κ²°κ³Όλ₯Ό λλ €λ°μ λ μ¬μ©
- νΉμ§ : μ λ¬ λ°©μμ λ°λμ Pass by Reference (μ°Έμ‘° μ λ¬)λ§ κ°λ₯
- π‘ν€λ λΌμΈ(Header Line)μ΄ μ‘΄μ¬νλ μΈν°λν μ΄λΈμ μ¬μ©νλ κ΅¬μ‘°λ‘ λ§μ½, ν€λλΌμΈμ΄ μλ μΈν°λ ν μ΄λΈμ λ°μλ ν¨μ λ΄λΆμ μΌλ‘ μλμΌλ‘ μμ±λ¨
- νμ¬λ λ μ΄μ κΆμ₯λμ§ μμ (Obsolete)
β οΈ μ£Όμ: SAPμμλ TABLES λμ CHANGING νλΌλ―Έν°λ₯Ό μ¬μ©νμ¬ μΈν°λ ν μ΄λΈμ λκΈ°λ κ²μ κΆμ₯νλ€. λ¬Όλ‘ IMPORTING/EXPORTING νλΌλ―Έν°λ‘λ μΈν°λ ν μ΄λΈμ μ£Όκ³ λ°μ μ μλ€.
'ABAP Concept (πκ°λ ) > Advanced' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Internal Table Header line(ν€λ λΌμΈ) κ°λ λ° μ§μν΄μΌ νλ μ΄μ (0) | 2025.04.14 |
---|---|
Internal Tableμ κ°λ κ³Ό κ΅¬μ± μμ(Feat. Table Category) (0) | 2025.04.10 |
Parameter μ λ¬ λ°©μ Pass by Value μ Pass by Reference (1) | 2025.04.08 |
ABAP Initial Value μ Null μ μ°¨μ΄ (0) | 2025.04.07 |
|ABAP κ°λ μ 리| TYPEκ³Ό LIKEμ μ°¨μ΄ (2) | 2020.09.09 |