abap구조는 필드, 행, 테이블이 있다.
1. 필드
딱 하나만 들어갈 수 있는 공간
AA
10
2. 행
한 줄의 공간
AA BB CC
----------------
10 ab 33
----------------
3. 테이블
여러 줄이 들어가는 공간
AA BB CC
----------------------
1 10 ab 33
2 20 33 4e
3 ....
4 ....
아밥에서 선언(구분)하는 방법은 다음과 같다. (코드에서 조금씩 가져와 예시를 들겠다.)
1. 필드
- 아밥타입, 데이터타입과 자리수로 선언한 것
types: slis_tabname(30) type c,
slis_coldesc(4) type c.
- "-" 가 붙은 구조
mandt TYPE scarr-mandt,
구조 안에 필드 하나를 가져온 것으로 위 예시는 scarr테이블의 mandt 필드를 가져왔다고 볼 수 있다.
2. 행
- 행으로 선언 된 structure 구조를 가져온 것
types: slis_qinfo_alv type alv_s_qinf,
뒤의 alv_s_qinf가 행이라면 그것을 복사한 slis_qinfo_alv도 행이 된다.
- begin of end of 구조
TYPES: BEGIN OF t_scarr,
mandt TYPE scarr-mandt,
carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
currcode TYPE scarr-currcode,
url TYPE scarr-url,
line_color(4) TYPE c,
END OF t_scarr.
3. 테이블
- occurs가 붙은 구조
types: slis_t_filtered_entries type i occurs 0.
- TABLE OF
DATA: it_scarr TYPE STANDARD TABLE OF t_scarr,
- 테이블로 선언된 구조를 가져온 것
wa_scarr TYPE t_scarr.
뒤의 t_scarr가 테이블이라면 wa_scarr도 테이블이다.
마지막으로 테이블의 종류는 3가지가 있다.
1. STANDARD 표준테이블 95% 이상
DATA: it_scarr TYPE STANDARD TABLE OF t_scarr,
2. SORTED 정렬된 테이블 5% 정도
데이터를 넣으면 자동으로 정렬
3. HASHED 랜덤한 키가 있는 테이블 0.1% 정도
까다로운 편이라 잘 사용하지 않는다.
'abap > basic' 카테고리의 다른 글
[SAP] abap edit_mask, lzero, decimals_out (1) | 2024.10.22 |
---|---|
[SAP] abap 주석처리, 주석해제 (0) | 2024.10.22 |
[SAP] abap 타입 (0) | 2024.10.21 |
[SAP] SAP ERP 계층구조 (0) | 2024.10.21 |
[SAP] abap 디버깅 방법 (0) | 2024.10.21 |