SAP·ABAP/ABAP

RTTS 필드카탈로그 만들기 예시코드

SEO_Joon 2025. 11. 5. 09:40

FORM MAKE_ALV_FIELDCAT .

 DATA : LR_TABDESCR TYPE REF TO CL_ABAP_STRUCTDESCR,
             LR_DATA     TYPE REF TO DATA,
             LT_DFIES    TYPE DDFIELDS,
             LS_DFIES    TYPE DFIES,
             LS_FIELDCAT TYPE LVC_S_FCAT.

  CREATE DATA LR_DATA LIKE LINE OF GT_ITAB.
  LR_TABDESCR ?= CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_DATA_REF( LR_DATA ).
  LT_DFIES = CL_SALV_DATA_DESCR=>READ_STRUCTDESCR( LR_TABDESCR ).

  LOOP AT LT_DFIES INTO LS_DFIES.
    CLEAR LS_FIELDCAT.

    MOVE-CORRESPONDING LS_DFIES TO LS_FIELDCAT.

    CASE LS_FIELDCAT-FIELDNAME.
      WHEN 'ZFCREDCNO'.
        LS_FIELDCAT-COLTEXT = '은행 Ref No'.

      WHEN 'ZFBENI1'.
        LS_FIELDCAT-COLTEXT = '번호'.

      WHEN 'ZFNTFDT'.
        LS_FIELDCAT-COLTEXT = '일자'.

      WHEN 'ZFPAYDT'.
        LS_FIELDCAT-COLTEXT = '해외입금일'.

      WHEN 'ZFAMTC'.
        LS_FIELDCAT-COLTEXT = '통화'.

      WHEN 'ZFAMT'.
        LS_FIELDCAT-COLTEXT = '금액'.
        LS_FIELDCAT-CFIELDNAME = 'ZFAMTC'.

      WHEN 'ZFAMT_C'.
        LS_FIELDCAT-TECH = 'X'.

      WHEN 'ZFPYNM'.
        LS_FIELDCAT-COLTEXT = '송금일'.

      WHEN 'PERNR_M'.
        LS_FIELDCAT-COLTEXT = '사원번호'.

      WHEN 'ENAME'.
        LS_FIELDCAT-COLTEXT = '사원명'.

      WHEN 'ZFCRENO'.
        LS_FIELDCAT-COLTEXT = '입금통지서 번호'.

      WHEN 'E_MAIL'.
        LS_FIELDCAT-COLTEXT = 'E-MAIL'.

      WHEN 'MAIL_CHECK'.
        LS_FIELDCAT-COLTEXT = '메일전송유무'.

    ENDCASE.


    APPEND LS_FIELDCAT TO GT_FIELDCAT.

  ENDLOOP.

ENDFORM.                    " MAKE_ALV_FIELDCAT