SAP CONVERT TO TEX FORMAT

Aus SAP Wiki ツ

Nutzung

Der Funktionsbaustein ist dafür da, um die jeweiligen Zeilen der internen Tabelle mit einem Trennzeichen z.B: mit einem Komma zu trennen. Die konvertierten Daten können dann z.B. als .csv gespeichert werden.

Zusatzcode

Der Code kann vor den FuBa gesetzt werden, um die Kopfzeilen-Funktion zu nutzen, da der FuBa, auch obwohl bereitgestellten Parameter, diese Funktion nicht unterstützt.

DATA: itab_data   TYPE TABLE OF ty_bseg_bkpf.

   "The fm from SAP below does not support the function "header_line", so have to code it:
   IF iv_header_line = abap_true.
     DATA: struc_from_itab TYPE ty_bseg_bkpf,
           columns         TYPE if_fdt_doc_spreadsheet=>t_column.

     "Get column names from structure
   DATA(desc) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( struc_from_itab ) ).
     LOOP AT desc->get_components( ) ASSIGNING FIELD-SYMBOL(<c>).
       IF <c> IS ASSIGNED.
         IF <c>-type->kind = cl_abap_typedescr=>kind_elem.
           APPEND VALUE #( id           = sy-tabix
                           name         = <c>-name
                           display_name = <c>-name
                           is_result    = abap_true
                           type         = <c>-type ) TO columns.
         ENDIF.
       ENDIF.
     ENDLOOP.

     "Put structure names in one row
     LOOP AT columns ASSIGNING FIELD-SYMBOL(<columns_fieldsymb>).
       ASSIGN COMPONENT sy-tabix OF STRUCTURE struc_from_itab TO FIELD-SYMBOL(<struc_fieldsymb>).
       IF sy-subrc = 0.
         <struc_fieldsymb> = <columns_fieldsymb>-name.
       ENDIF.
     ENDLOOP.
     APPEND struc_from_itab TO itab_data.
     APPEND LINES OF it_itab_data TO itab_data.

   ELSE.
     itab_data = it_itab_data.
   ENDIF.