[ABAP] 기초4. DATA 선언과 TYPE 선언의 차이점

J._NA 개발일지·2025년 2월 20일
post-thumbnail
TYPES : BEGIN OF GS_DISP,
         EBELN TYPE EKKO-EBELN,
         LIFNR TYPE EKKO-LIFNR,
         BSART TYPE EKKO-BSART,
         BUKRS TYPE EKKO-BUKRS,
         EBELP TYPE EKPO-EBELP,
         MATNR TYPE EKPO-MATNR,
         MENGE TYPE EKPO-MENGE,
         MEINS TYPE EKPO-MEINS,
        END OF GS_DISP.

DATA GT_DISP TYPE TABLE OF GS_DISP.


DATA : BEGIN OF GS_DISP,
         EBELN TYPE EKKO-EBELN,
         LIFNR TYPE EKKO-LIFNR,
         BSART TYPE EKKO-BSART,
         BUKRS TYPE EKKO-BUKRS,
         EBELP TYPE EKPO-EBELP,
         MATNR TYPE EKPO-MATNR,
         MENGE TYPE EKPO-MENGE,
         MEINS TYPE EKPO-MEINS,
        END OF GS_DISP.

DATA GT_DISP LIKE TABLE OF GS_DISP.

위 사진에서 주석된 TYPES와 LIKE 선언 방식의 차이점을 알아보자.

  1. TYPES는 말 그대로 TYPE만 가져오는 것이다.

개발하다가 굳이 최대 최소를 알고싶다면 이렇게 확인할 수 있다.

DATA : LV_PACK TYPE P,
       LV_INT  TYPE I,
       LO_RESULT1 TYPE REF TO DATA,
       LO_RESULT2 TYPE REF TO DATA.

FIELD-SYMBOLS <FS_ANY> TYPE ANY.

" 최대값 조회
LO_RESULT1 = CL_ABAP_EXCEPTIONAL_VALUES=>GET_MAX_VALUE( LV_PACK ).
LO_RESULT2 = CL_ABAP_EXCEPTIONAL_VALUES=>GET_MAX_VALUE( LV_INT ).
BREAK-POINT.

"최소값 조회
LO_RESULT1 = CL_ABAP_EXCEPTIONAL_VALUES=>GET_MIN_VALUE( LV_PACK ).
LO_RESULT2 = CL_ABAP_EXCEPTIONAL_VALUES=>GET_MIN_VALUE( LV_INT ).
BREAK-POINT.

profile
아밥 & 프론트엔드 개발자

0개의 댓글