반응형
인터널 테이블로 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로 한번 변환해줘야 에러가 안난다.
구식 방법이라 마음에 안들지만 필드카탈로그 하나씩 만들기 귀찮을 때 쓰면 좋은 방법
반응형