본문 바로가기

SAP/ABAP

[ABAP] ALV FIELDCATALOG 인터널 테이블로 ALV 카탈로그 만들기

반응형

인터널 테이블로 ALV 카탈로그 만들기

 

 

 

DATA : BEGIN OF gt_header OCCURS 0.
DATA : vbeln LIKE vbak-vbeln, "판매문서
       audat LIKE vbak-audat, "증빙일
       auart LIKE vbak-auart, "판매문서유형
       netwr LIKE vbak-netwr, "판매오더정가
       waerk LIKE vbak-waerk. "전표통화
DATA : END OF gt_header.

 

 

 

인터널 테이블 선언시 헤더라인이 있는 인터널 테이블 생성

필드 참조시 type이 아닌 like 사용

 

 

 

    DATA : lt_fieldcat   TYPE lvc_t_fcat,
           lt_fieldcat_t TYPE slis_t_fieldcat_alv.

    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
      EXPORTING
        i_program_name     = sy-repid
        i_internal_tabname = 'GT_HEADER'
        i_inclname         = sy-repid
      CHANGING
        ct_fieldcat        = lt_fieldcat_t[].

    CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
      EXPORTING
        it_fieldcat_alv = lt_fieldcat_t[]
      IMPORTING
        et_fieldcat_lvc = lt_fieldcat[]
      TABLES
        it_data         = gt_header[].

    

 

 

REUSE_ALV_FIELDCATALOG_MERGE에 사용할 fieldcatalog 테이블은 slis_t_fieldcat_alv로 선언

alv를 뿌려줄 때는 lvc_t_fcat 타입을 사용하기 때문에 LVC_TRANSFER_FROM_SLIS로 한번 변환해줘야 에러가 안난다.

구식 방법이라 마음에 안들지만 필드카탈로그 하나씩 만들기 귀찮을 때 쓰면 좋은 방법

반응형