Dictionary 에서 생성했던 Structure 를 Types 를 통해 Program 내에서 선언할 수 있다.
💡 [ Local Type Structure ] - 1개의 필드
⭐ 네이밍 ty 를 사용
TYPES : gty_test(10). " 캐릭터형 10자리를 가진 구조체 생성 DATA : gs_test TYPE gty_test. " 해당 구조체를 참고한 생성
❗
TYPES
의 경우, Local 에 존재하지만 TYPE 을 통해 가져와야한다.
💡 [ Local Type Structure ] - 다수의 필드
TYPES : BEGIN OF gty_airline, carrid TYPE scarr-carrid, carrname TYPE scarr-carrname, connid TYPE spfli-connid, spfli TYPE spfli-cityfrom, END OF gty_airline,
❗
BEGIN OF
/END OF
를 통해 다수의 필드를 가진 Structure 를 생성할 수 있다.
❗TYPES
대신DATA
구문을 이용해 데이터를 넣을 수 있는 Structure를 생성 가능!
💡 구조체 선언 실습
DATA : BEGIN OF gs_data, kokrs TYPE kokrs, belnr TYPE co_belnr, buzei TYPE co_buzei, gjahr TYPE gjahr, versn TYPE versn_cobk, perab TYPE co_perab, perbi TYPE co_perbi, bldat TYPE co_bldat, END OF gs_data.
💡
INCLUDE
⭐ 네이밍 ty 를 사용
Data : BEGIN OF [변수명]. " 마침표 사용 INCLUDE STRUCTURE [ 테이블 or 스트럭처]. " 마침표로 끝냄. DATA : 필드 type [참조] " Begin 이 끝난 것이 아니므로 필드를 넣음. END OF [변수명]
⭐
INCLUDE STRUCTURE
: Dictionary 에서 존재하는 것들을 가져온다.⭐
INCLUDE TYPE
: Types 에서 선언한 구조체를 가져옴 ( Global type 도 가능 )
(단, ❗ Dictionary 는 구분을 위해서INCLUDE STRUCTURE
를 이용한다. )
💡
INCLUDE
실습
DATA : BEGIN OF gs_list2, vbeln TYPE vbak-vbeln, posnr TYPE vbap-posnr, angdt TYPE vbak-angdt, vbtyp TYPE vbak-vbtyp, matwa TYPE vbap-matwa, arktx TYPE vbap-arktx. " 마침표를 찍어줘야한다. INCLUDE STRUCTURE tds_sd_prodh_univ_node. INCLUDE STRUCTURE j_1bsd_tc_det. DATA : zmeng TYPE vbap-zmeng, " 선언이 끝난 것이 아니기 때문에 DATA 를 다시 사용 meins TYPE vbap-meins, flag, END OF gs_list2.