Do.

[Mail] 엑셀첨부 메일전송(1/2) 본문

SAP/ABAP

[Mail] 엑셀첨부 메일전송(1/2)

성공보다는 가치를.. 2024. 3. 22. 14:28
728x90
ITab to Excel

* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Instance Public Method ZCL_MAIL_SEND->ITAB_TO_XSTRING
* +-------------------------------------------------------------------------------------------------+
* | [--->] IR_DATA_REF                    TYPE REF TO DATA
* | [<-()] RV_XSTRING                     TYPE        XSTRING
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD ITAB_TO_XSTRING.

    FIELD-SYMBOLS: <FS_DATA> TYPE ANY TABLE.

    CLEAR RV_XSTRING.
    ASSIGN IR_DATA_REF->* TO <FS_DATA>.

    TRY.
        CL_SALV_TABLE=>FACTORY(
          IMPORTING R_SALV_TABLE = DATA(LO_TABLE)
          CHANGING  T_TABLE      = <FS_DATA> ).

        DATA(LT_FCAT) =
          CL_SALV_CONTROLLER_METADATA=>GET_LVC_FIELDCATALOG(
            R_COLUMNS      = LO_TABLE->GET_COLUMNS( )
            R_AGGREGATIONS = LO_TABLE->GET_AGGREGATIONS( ) ).

        DATA(LO_RESULT) =
          CL_SALV_EX_UTIL=>FACTORY_RESULT_DATA_TABLE(
            R_DATA         = IR_DATA_REF
            T_FIELDCATALOG = LT_FCAT ).

        CL_SALV_BS_TT_UTIL=>IF_SALV_BS_TT_UTIL~TRANSFORM(
          EXPORTING
            XML_TYPE      = IF_SALV_BS_XML=>C_TYPE_XLSX
            XML_VERSION   = CL_SALV_BS_A_XML_BASE=>GET_VERSION( )
            R_RESULT_DATA = LO_RESULT
            XML_FLAVOUR   = IF_SALV_BS_C_TT=>C_TT_XML_FLAVOUR_EXPORT
            GUI_TYPE      = IF_SALV_BS_XML=>C_GUI_TYPE_GUI
          IMPORTING
            XML           = RV_XSTRING ).
      CATCH CX_ROOT.
        CLEAR RV_XSTRING.
    ENDTRY.
  ENDMETHOD.

 

 출처 : https://discoveringabap.com/2021/11/08/abap-code-samples-write-internal-table-as-excel-file-on-sap-application-server/

728x90

'SAP > ABAP' 카테고리의 다른 글

[ABAP] Request Down Program  (0) 2024.06.05
[Mail] 엑셀첨부 메일전송(2/2)  (0) 2024.03.22
[ABAP] 숫자함수  (0) 2024.02.27
[ABAP] POPUP_TO_DECIDE  (0) 2024.02.26
[ABAP] REDUCE 문  (0) 2023.04.17