테이블 · 스트럭처 (ITAB 선언 시 스트럭처 참조)

홍예림·2023년 7월 4일
1

SAP ABAP(개편중...)

목록 보기
14/55

스트럭처 만들기 : https://velog.io/@yrhong8002/%EC%8A%A4%ED%8A%B8%EB%9F%AD%EC%B2%98

TYPE / LIKE + 테이블 ----------> 스트럭처
TYPE / LIKE + 필드 또는 DE ---> 변수

스트럭처 만들기

  • DATA : BEGIN OF ... ~워크에어리어~ END OF ...
  • 네이밍룰 : g 또는 l 스코프구분 + s 또는 wa 스트럭처 또는 워크에어리어 의미 + _ 구분 + ...
  • 스트럭처이므로 MANDT 는 제외

구조체 참조하기

  • 테이블 또는 스트럭처를 가져온다.
  • DATA + 스트럭처명 + TYPE + 테이블명 또는 스트럭처명 + .

ITAB 선언 중간에 구조체 참조하기 : INCLUDE

  • BEGIN OF ~ . : 스트럭처 선언 시작 및 Field 추가
  • INCLUDE STRUCTURE + 구조체명 + . : 참조하는 구조체가 테이블인지 스트럭처인지 상관없이 동일하다.
  • DATA : ~ END OF … : DATA 구문을 넣고 나머지 필드 입력 및 스트럭처 선언 종료.

구조체를 다수 참조

  • MANDT는 모든 테이블에 각각 필드 선언 되어있기 때문에, 테이블을 2개 이상 참조하면 충돌해 에러가 생긴다.
  • 따라서, 스트럭처는 다수 넣을 수 있지만 테이블은 1개만 참조 가능하다.
  • ▼ 동일한 스트럭처를 참조하지만, gs_dis_2 는 스트럭처 및 필드 추가 · 확장이 가능하다.

디버깅 BREAK-POINT

참고블로그 : https://m.blog.naver.com/softwon1/222013415559

  • F8


실습 문제

DATA :  gv_loekz TYPE ELOEK,
        gv_statu TYPE ASTAT,
        gv_ematn TYPE EMATNR,
        gv_werks TYPE EWERK.

DATA :  gv_bpumz TYPE EKPO-BPUMZ,
        gv_bpumn TYPE EKPO-BPUMN,
        gv_umrez TYPE EKPO-UMREZ,
        gv_umren TYPE EKPO-UMREN,
        gv_netpr TYPE EKPO-NETPR.

DATA : lv_data_1 LIKE gv_loekz,
       lv_data_2 LIKE gv_statu,
       lv_data_3 LIKE gv_ematn,
       lv_data_4 LIKE gv_werks,
       lv_data_5 LIKE gv_bpumz,
       lv_data_6 LIKE gv_bpumn,
       lv_data_7 LIKE gv_umrez,
       lv_data_8 LIKE gv_netpr.

DATA : gs_struc_1 TYPE document_structure.
DATA : gs_struc_2 TYPE fsh_msegdata_append.

DATA : BEGIN OF gs_struc_3,
        mblnr TYPE mseg-mblnr,
        mjahr TYPE mseg-mjahr,
        zeile TYPE mseg-zeile.
        INCLUDE STRUCTURE document_structure.
DATA :  bwart TYPE bwart,
        charg TYPE charg_d.
        INCLUDE STRUCTURE zc5t250007.
DATA : END OF gs_struc_3.

DATA : gs_struc_4 LIKE gs_struc_3.

DATA : BEGIN OF gs_struc_5.
        INCLUDE STRUCTURE document_structure.
        INCLUDE STRUCTURE fsh_msegdata_append.
        INCLUDE STRUCTURE afpo_inc.
DATA : END OF gs_struc_5.

DATA : BEGIN OF gs_struc,
        belnr      TYPE RBKP-BELNR,
        gjahr      TYPE RBKP-GJAHR.
        INCLUDE STRUCTURE RBKP_DATA.
        INCLUDE STRUCTURE TDS_SD_PRODH_UNIV_NODE.
DATA :  node_key   TYPE MRM_SI_GUID,
        parent_key TYPE MRM_SI_GUID,
        root_key   TYPE MRM_SI_GUID,
       END OF gs_struc.
profile
SYNC 3기 5반 2023.07 - 2023.12

0개의 댓글