OCCURS 0(N) μ΄λ?
- OCCURS nμ μΈν°λ ν
μ΄λΈμ μ μΈνλ©΄μ κ° λ μ½λμ ꡬ쑰μ κΈ°λ³Έ ν¬κΈ°(n)μ μ μν©λλ€.
- nμ μ΄κΈ° λ©λͺ¨λ¦¬ ν¬κΈ°λ₯Ό λνλ΄λ©°, ν μ΄λΈμ μ μ₯λλ λ μ½λμ ν¬κΈ°λ₯Ό κ²°μ ν©λλ€.
- OCCURS 0μ μ΄κΈ° λ©λͺ¨λ¦¬ ν¬κΈ°λ₯Ό μ§μ νμ§ μκ³ , SAPκ° μλμΌλ‘ λμ μΌλ‘ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬νλλ‘ μ€μ ν©λλ€.
- μΈν°λ ν μ΄λΈμ λμ λ°°μ΄μ²λΌ λμνλ©°, λ°μ΄ν°κ° μΆκ°λλ©΄ μλμΌλ‘ ν¬κΈ°κ° νμ₯λ©λλ€.
- OCCURS nμ μΈν°λ ν μ΄λΈμ μ μν λ μ¬μ©λλ ꡬ문μ λλ€. νμ§λ§ νμ¬λ λ κΆμ₯λλ λ°©μμΈ νμ€ μΈν°λ ν μ΄λΈ(Standard Internal Table) μ μλ‘ λ체λμκ³ , OCCURS λ ꡬμ ꡬ문μΌλ‘ κ°μ£Όλ©λλ€.
OCCURS 0 μμ
λ€μμ `OCCURS 0`λ₯Ό μ¬μ©νμ¬ μΈν°λ ν μ΄λΈμ μ μν μμμ λλ€.
" λ³μ μ μΈ
DATA: BEGIN OF ITAB OCCURS 0,
FIELD1 TYPE I,
FIELD2 TYPE STRING,
END OF ITAB.
DATA: LS_ITAB LIKE ITAB.
" λ°μ΄ν° μ½μ
LS_ITAB-FIELD1 = 10.
LS_ITAB-FIELD2 = 'Apple'.
APPEND LS_ITAB TO ITAB.
LS_ITAB-FIELD1 = 5.
LS_ITAB-FIELD2 = 'Mango'.
APPEND LS_ITAB TO ITAB.
" λ°μ΄ν° μΆλ ₯
LOOP AT ITAB INTO LS_ITAB.
WRITE: /'FIELD1: ', LS_ITAB-FIELD1,
/'FIELD2: ', LS_ITAB-FIELD2.
ENDLOOP.

OCCURS 0μμμ λμ λ°©μ
- λ©λͺ¨λ¦¬ κ΄λ¦¬
- OCCURS 0μ μ΄κΈ° ν¬κΈ°λ₯Ό μ§μ νμ§ μμλ νμμ λ°λΌ λ©λͺ¨λ¦¬λ₯Ό λμ μΌλ‘ ν λΉν©λλ€.
- λ©λͺ¨λ¦¬κ° ν¨μ¨μ μ΄μ§λ§, μ΄κΈ° ν¬κΈ°λ₯Ό λͺ νν μ§μ νμ§ μμΌλ―λ‘ μμΈ‘μ΄ μ΄λ €μΈ μ μμ΅λλ€.
- μλ νμ₯
- λ°μ΄ν°κ° μΆκ°λλ©΄ SAPκ° λ΄λΆμ μΌλ‘ ν¬κΈ°λ₯Ό μ‘°μ νμ¬ λ©λͺ¨λ¦¬λ₯Ό νμ₯ν©λλ€.
- ꡬ쑰 μ μ
- OCCURS ꡬ문μ μΈν°λ ν μ΄λΈμ ꡬ쑰λ₯Ό μ μν λ μ¬μ©λλ©°, μ¬κΈ°μ νλλ₯Ό μΆκ°ν μ μμ΅λλ€.
'μΈμ (When)' μ¬μ©ν κΉ?
- λμ λ°μ΄ν° μ²λ¦¬
- `OCCURS 0`λ νΉν λμ μΌλ‘ λ°μ΄ν°λ₯Ό μ²λ¦¬ν΄μΌ νλ μν©μμ μ μ©ν©λλ€. νλ‘κ·Έλ¨μ΄ μ€νλ λ μΌλ§λ λ§μ λ°μ΄ν°κ° νμνμ§ λ―Έλ¦¬ μ μ μλ κ²½μ°μ νμ©λ©λλ€.
- μ μ°μ±μ νμλ‘ νλ μν©
- νλ‘κ·Έλ¨μ΄ μ€νλλ λμ μ¬μ©μ μ λ ₯μ΄λ μΈλΆ μ΄λ²€νΈμ λ°λΌ νμν λ°μ΄ν°κ° λ³νλ κ²½μ°, `OCCURS 0`λ₯Ό μ¬μ©νμ¬ μ΄κΈ°μ λΉμ΄μλ ν μ΄λΈμ μμ±νλ©΄ μ μ°νκ² λ°μ΄ν°λ₯Ό μΆκ°νκ±°λ μμ ν μ μμ΅λλ€.
'μ(Why)' μ¬μ©ν κΉ?
- λ©λͺ¨λ¦¬ μ΅μ ν:
- μ΄κΈ°μ ν° ν¬κΈ°μ ν μ΄λΈμ μμ±νμ§ μκ³ νμν λλ§λ€ λμ μΌλ‘ νμ μΆκ°ν¨μΌλ‘μ¨ λ©λͺ¨λ¦¬λ₯Ό μ΅μ νν μ μμ΅λλ€. λΆνμν μ΄κΈ°νλ‘ μΈν λ©λͺ¨λ¦¬ λλΉλ₯Ό λ°©μ§ν μ μμ΅λλ€.
- λ°νμ ν¨μ¨μ±:
- `OCCURS 0`λ₯Ό μ¬μ©νλ©΄ νλ‘κ·Έλ¨μ΄ λ°νμ μ€μ λμ μΌλ‘ λ°μ΄ν°λ₯Ό ꡬμ±ν μ μμ΅λλ€. μ΄λ νλ‘κ·Έλ¨μ μ€ν μκ°μ μ΅μ ννκ³ μ±λ₯μ ν₯μμν΅λλ€.
- λμ κ΅¬μ± κ°λ₯:
- νλ‘κ·Έλ¨μ΄ μ€νλλ λμ νμν λ§νΌμ λ°μ΄ν°λ₯Ό μΆκ°νλ©΄μ ꡬμ±ν μ μκΈ° λλ¬Έμ λμ μΈ μν©μ μ μν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ¬μ©μκ° μ νν μ΅μ μ λ°λΌ λ€μν λ°μ΄ν°λ₯Ό μ²λ¦¬ν΄μΌ νλ κ²½μ°μ μ μ©ν©λλ€.
OCCURSλ₯Ό λͺ μνμ§ μμΌλ©΄?
ABAPμμ λ΄λΆ ν μ΄λΈμ μ μΈν λ `OCCURS`λ₯Ό λͺ μνμ§ μμΌλ©΄ κΈ°λ³Έμ μΌλ‘ ν νμΌλ‘ μ΄κΈ°νλ©λλ€.
" μ μ 체μ½λ μ€ itab μ μΈ λΆλΆμμ OCCURS 0 μ κ±°
DATA: BEGIN OF itab,
field1 TYPE I,
field2 TYPE STRING,
END OF itab.
μ μ½λμμ `itab`μ μ΄κΈ°μ ν νμ ν¬ν¨νλ μΈν°λ ν μ΄λΈλ‘ μ μΈλ©λλ€. μ΄ κ²½μ°, νλ‘κ·Έλ¨μ΄ μ€νλ λ `itab`μλ κΈ°λ³Έκ°μΌλ‘ μ΄κΈ°νλ ν νμ΄ ν¬ν¨λμ΄ μμ΅λλ€.
νμ§λ§, OCCURSλ₯Ό λͺ μνμ§ μκ³ λ°μ΄ν°λ₯Ό μ¬λ¬κ° μ½μ νλ €κ³ νλ©΄ OCCURSλ₯Ό μ μΈν΄λ¬λΌλ μ€λ₯("ITAB" is not an internal table "OCCURS n" specification is missing.)κ° λμ΅λλ€.

λ°λΌμ OCCURS λ₯Ό μ μΈνμ§ μμΌλ©΄ ν μ΄λΈμ΄ μλ νλμ ꡬ쑰체 νμμΌλ‘ μ¬μ©ν μ μμ΅λλ€.
" λ³μ μ μΈ
DATA: BEGIN OF ITAB,
FIELD1 TYPE I,
FIELD2 TYPE STRING,
END OF ITAB.
" λ°μ΄ν° μ½μ
ITAB-FIELD1 = 10.
ITAB-FIELD2 = 'Apple'.
" λ°μ΄ν° μΆλ ₯
WRITE: /'FIELD1: ', ITAB-FIELD1,
/'FIELD2: ', ITAB-FIELD2.

κΆμ₯ λ°©μ: μ΅μ μΈν°λ ν μ΄λΈ μ μΈ
OCCURS ꡬ문μ νμ¬ λ μ΄μ κΆμ₯λμ§ μμ΅λλ€.
λμ , μ΅μ λ°©μμΌλ‘λ STANDARD TABLE, SORTED TABLE, HASHED TABLEμ μ¬μ©ν©λλ€.
https://jay-din.tistory.com/244
[SAP ABAP] μΈν°λ ν μ΄λΈ Standard, Sorted, Hashed table μ΄λ?
1. ν μ΄λΈμ μμ± λ° μ©λ μ 리ν ν μ΄λΈ μ ν STANDARD TABLESORTED TABLE HASHED TABLE ꡬ쑰λΉμ λ ¬, μμλλ‘ λ°μ΄ν° μ μ₯ν€λ₯Ό κΈ°μ€μΌλ‘ μλ μ λ ¬λ ν μ΄λΈν€ κΈ°λ°μ ν΄μ μκ³ λ¦¬μ¦μΌλ‘ λ°μ΄ν° μ μ₯ν€
jay-din.tistory.com
OCCURSλ₯Ό κΆμ₯νμ§ μλ μ΄μ
λ©λͺ¨λ¦¬ κ΄λ¦¬μ ν¨μ¨μ±
OCCURS λ°©μ:
- OCCURS nμμ μ΄κΈ° λ©λͺ¨λ¦¬ ν¬κΈ°(n)λ₯Ό μ§μ νμ§λ§, νμμ λ°λΌ λ©λͺ¨λ¦¬λ₯Ό μΆκ°λ‘ ν λΉν©λλ€.
- λ©λͺ¨λ¦¬ νμ₯μ΄ νμν λλ§λ€ λΉμ©μ΄ λ°μνλ©°, μ±λ₯μ΄ μ νλ μ μμ΅λλ€.
- νΉν, λ°μ΄ν°κ° λ§μ κ²½μ° λΆνμν λ©λͺ¨λ¦¬ μ¬μ©μ΄ λ°μν κ°λ₯μ±μ΄ ν½λλ€.
μλ‘μ΄ ν μ΄λΈ ꡬ쑰:
- STANDARD, SORTED, HASHED TABLEμ λμ λ©λͺ¨λ¦¬ ν λΉμ λ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν©λλ€.
- λ©λͺ¨λ¦¬λ₯Ό μλμΌλ‘ μ‘°μ νλ©°, λΆνμν λ©λͺ¨λ¦¬ λλΉλ₯Ό μ€μ λλ€.
μ±λ₯ μ΅μ ν
OCCURS λ°©μ:
- μΈν°λ ν μ΄λΈμμ λ°μ΄ν°λ₯Ό κ²μν λ, νμ μμ°¨μ κ²μλ§ κ°λ₯ν©λλ€.
- κ²μ μκ°μ O(n)μΌλ‘, λ°μ΄ν° ν¬κΈ°μ λ°λΌ μ±λ₯μ΄ μ νλ©λλ€.
μλ‘μ΄ ν μ΄λΈ ꡬ쑰:
- STANDARD TABLE: μ¬μ ν μμ°¨ κ²μμ΄μ§λ§, λͺ μμ ν€ μμ΄λ ν¨μ¨μ μΈ κ²μ ꡬ쑰λ₯Ό μ§μν©λλ€.
- SORTED TABLE: μ΄μ§ κ²μ(Binary Search)μ μ¬μ©νμ¬ κ²μ μ±λ₯μ΄ O(log n)μΌλ‘ ν¬κ² ν₯μλ©λλ€.
- HASHED TABLE: ν΄μ μκ³ λ¦¬μ¦ κΈ°λ°μΌλ‘ κ²μ μκ° O(1)μ μ 곡νλ©° λλ λ°μ΄ν°μ νμν μ±λ₯μ κ°μ§λλ€.
λ°μ΄ν° λ¬΄κ²°μ± κ³Ό ꡬ쑰μ λͺ νμ±
OCCURS λ°©μ
- ν μ΄λΈμ ν€λ₯Ό λͺ μμ μΌλ‘ μ μν μ μμΌλ―λ‘, λ°μ΄ν° μ€λ³΅ λ°©μ§ λ° μ ν¨μ± κ²μ¦μ΄ μ΄λ ΅μ΅λλ€.
- λ°μ΄ν° μ½μ μ, ꡬ쑰μ μ μ½ μ‘°κ±΄μ μ μ©νκΈ° μ΄λ ΅μ΅λλ€.
μλ‘μ΄ ν μ΄λΈ ꡬ쑰
- SORTED TABLE λ° HASHED TABLEμμλ ν€λ₯Ό λͺ
μμ μΌλ‘ μ μ κ°λ₯ν©λλ€.
- WITH UNIQUE KEYλ₯Ό μ¬μ©ν΄ λ°μ΄ν° μ€λ³΅ λ°©μ§.
- λͺ νν λ°μ΄ν° 무결μ±μ 보μ₯.
- λ°μ΄ν° ꡬ쑰λ₯Ό λͺ νν μ μν μ μμ΄, μ μ§λ³΄μμ±κ³Ό κ°λ μ±μ΄ ν₯μλ©λλ€.
νμ₯μ±κ³Ό μ μ§λ³΄μμ±
OCCURS λ°©μ
- κΈ°μ‘΄ λ°©μμ μ μ°μ±μ΄ λΆμ‘±νμ¬, μ½λκ° νμ₯λ μλ‘ κ΄λ¦¬κ° μ΄λ €μμ§λλ€.
- νΉν 볡μ‘ν λ°μ΄ν° μ‘°μμλ μ ν©νμ§ μμ΅λλ€.
μλ‘μ΄ ν μ΄λΈ ꡬ쑰
- λ€μν λ°μ΄ν° μμ
μ μ΅μ νλ λ°©μ μ 곡:
- μμ°¨ μ²λ¦¬: STANDARD TABLE
- μ λ ¬ λ° κ²μ μ΅μ ν: SORTED TABLE
- κ³ μ κ²μ λ° μ€λ³΅ λ°©μ§: HASHED TABLE
- μλ‘μ΄ λ°μ΄ν° μ νκ³Ό κ΅¬μ‘°κ° λμ λλ©΄μ μ½λ νμ₯μ΄ μ©μ΄νκ³ , μ΅μ ABAP ꡬ문과 μ νΈνλ©λλ€.
νλ ABAP κ°λ° νμ€
- κ°λ μ±: STANDARD, SORTED, HASHED TABLEμ λͺ μμ μ΄κ³ μ§κ΄μ μΈ μ½λ μμ±μ κ°λ₯νκ² ν©λλ€.
- λ―Έλ μ§ν₯μ : ABAPμ μ΅μ λ²μ (7.4 μ΄μ)μμλ OCCURSκ° λ μ΄μ νμνμ§ μμΌλ©°, μλ‘μ΄ κΈ°λ₯κ³Ό λꡬμμ μ§μλμ§ μμ κ°λ₯μ±μ΄ μμ΅λλ€.
- μ±λ₯ μ΅μ νμ μΌκ΄μ±: μλ‘μ΄ λ°©μμ μμ€ν 리μμ€λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©νκ³ , νλμ κ°λ° νμ€μ λΆν©ν©λλ€.
'π§βπΌ SAP > ABAP' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [SAP ABAP] κ΄κ³ μ°μ°μ CO, CN, CA, NA, CS, NS, CP, NP μμ ν¬ν¨ (0) | 2025.01.24 |
|---|---|
| [SAP ABAP] CBO ν μ΄λΈ μμ μ μνλ‘ λ‘€λ°±νλ λ°©λ² (0) | 2025.01.20 |
| [SAP ABAP] ABAP Dictionary ν μ΄λΈ μμ± λ°©λ² λ° μνΈλ¦¬ μΆκ° λ°©λ² (0) | 2025.01.03 |
| [SAP ABAP] μΈν°λ ν μ΄λΈ Standard, Sorted, Hashed table μ΄λ? (0) | 2025.01.02 |
| [SAP ABAP] BAPI λ? BAPI μμ (1) | 2024.12.23 |