Exceldatei im Hintergrund auf Server speichern

Das klingt zwar einfach, ist es aber eigentlich nicht. Denn während man für den ALV jede Menge Excel-Funktionalitäten im Dialog hat, muss man bei Hintergrundfunktionalitäten ganz schön lange suchen. Gut, dass ich diesen Beitrag gefunden habe, der gehört auf alle Fälle auf den Notizzettel. Mit der Klasse edx_util ist das alles kein Problem.

Hier ein Beispielprogramm:

DATA gt_vbak TYPE TABLE OF vbak.
PARAMETERS: p_file TYPE path-pathextern OBLIGATORY LOWER CASE DEFAULT '/usr/sap/trans/def.xlsx'.
TRY.
* Testdaten lesen
    SELECT vbeln erdat erzet ernam FROM vbak
      INTO CORRESPONDING FIELDS OF TABLE gt_vbak.

    IF sy-subrc = 0.

*
      DATA: lv_bin_data TYPE xstring.

* Creates XLS fom the ITAB
      edx_util=>create_xls_from_itab( EXPORTING i_xlsx    = abap_true
                                      IMPORTING e_xstring = lv_bin_data
                                      CHANGING  ct_data   = gt_vbak ).

      IF xstrlen( lv_bin_data ) > 0.
        OPEN DATASET  p_file FOR OUTPUT IN BINARY MODE.
        IF sy-subrc EQ 0.
          TRANSFER lv_bin_data TO  p_file.
          CLOSE DATASET p_file.
        ENDIF.
      ENDIF.
    ENDIF.
ENDTRY.

https://www.abapforum.com/forum/viewtopic.php?p=100428&sid=82f427f9f1e4141d21077d8bef93dca4#p100428 – Ein herzliches Danke an den Autor!

Wollen Sie ab sofort kostenlos per Mail über neue Beiträge informiert werden? Dann tragen Sie sich in unsere Mailingliste ein.