Interne Tabelle als Excel-Datei speichern

Getting started ... Alles für einen gelungenen Start.
32 Beiträge • Vorherige Seite 2 von 3 (current) Nächste
32 Beiträge Vorherige Seite 2 von 3 (current) Nächste

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Bright4.5 (Specialist / 280 / 21 / 1 ) »
Ich möchte ja nun diese Date (lv_file) als Datei auf meiner Festplatte speicher, könntest du mir da vielleicht direkt da ne Beispiel geben, auf das vorhandene Beispiel.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Interne Tabelle als Excel-Datei speichern

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
Du musst den XML-String in eine interne Tabelle umwandeln.
Zum Beispiel so:
https://www.se80.co.uk/sapfms/c/conv/co ... _table.htm

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Bright4.5 (Specialist / 280 / 21 / 1 ) »
irgendwie komm ich mit dem Beispiel nicht ganz klar. :(
so sieht das ganze bei mir aus:

Code: Alles auswählen.

cl_salv_table=>factory( IMPORTING r_salv_table = gr_alv
                        CHANGING  t_table = gt_dfkkop ).
  data(lv_xstring) = gr_alv->to_xml( xml_type = if_salv_bs_xml=>c_type_xlsx ).
CONCATENATE 'DATEI_' sy-datum '.xlsx' INTO lv_file.
OPEN DATASET lv_file for OUTPUT in BINARY MODE.
TRANSFER lv_xstring to lv_file.
CLOSE DATASET lv_file.
wie soll ich das jetzt am besten umwandeln und dann als Datei auf einer Festplatte speichern (Ich wäre sehr dankbar für ein Beispiel mit meinen Tabellen, Variablen, da ich noch totaler Anfänger bin)

Vielen Dank

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
Mit TRANSFER speicherst du die Datei auf dem SAP-Server...

Probier mal weiter den Fuba GUI_UPLOAD (oder besser die Methode CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD).

Dafür brauchst du deine interne Tabelle ITAB.

wenn du das hast und "irgendeinen" text speichern kannst, dann musst du deinen LV_XML-String in deine ITAB umwandeln, damit der Download funktioniert.

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Bright4.5 (Specialist / 280 / 21 / 1 ) »
Ja, und da versteh ich leider nicht, wie ich den X-STRIng in eine interne Tabelle umwandle.

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Bright4.5 hat geschrieben:Ja, und da versteh ich leider nicht, wie ich den X-STRIng in eine interne Tabelle umwandle.
Tabelle definieren mit Zeilentyp X-STRIng
X-STRIng der Tabelle hinzufügen

Eine Tabelle darf auch nur eine Zeile haben.

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Bright4.5 (Specialist / 280 / 21 / 1 ) »
hmm irgendwie bekomm ich es nicht hin :( Das ganze ist ja denke ich nun in einer Variablen gespeichert. Nun müsste ich diese Variable in eine interne Tabelle bringen und danach als Excel-Datei mit einem Befehl automatisch in einem Verzeichnis auf der Festplatte speichern. Ich bekomm es leider nicht hin. :( Irgendwelche Tipps oder Beispiele? Ich bin hier langsam am verzweifeln ....

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Aus eine Zeile eine Tabelle machen, ist das das einzige Problem?
Data Tabelle Type table of Datentyp von Zeile
Append Zeile into Tabelle

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Bright4.5 (Specialist / 280 / 21 / 1 ) »
Nein, ich habe es doch am Schluss in einem String, nämlich lv_file.

Siehe hier:

Code: Alles auswählen.

 cl_salv_table=>factory( IMPORTING r_salv_table = gr_alv
                            CHANGING  t_table      = gt3_dfkkop ).

    data(lv_xstring) = lo_salv_table->to_xml( xml_type = if_salv_bs_xml=>c_type_xlsx ).

    CONCATENATE 'DATEI_' sy-datum '.xlsx' INTO lv_file.

    OPEN DATASET lv_file FOR OUTPUT IN BINARY MODE.
    TRANSFER lv_xstring TO lv_file.
    CLOSE DATASET lv_file.

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von ralf.wenzel (Top Expert / 3946 / 201 / 281 ) »
Der String IST deine Zeile.

data: stringtable type table of xstring.

insert lv_xstring into table stringtable.

Schon hast du eine Tabelle.


Ralf

Edit: Korrigiert
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von DeathAndPain (Top Expert / 1961 / 261 / 415 ) »
Sorry dass ich diesen alten Thread nochmal aufwärme, aber ich habe gerade mit demselben Problem gekämpft wie Bright4.5, und genauso wie ihm ist es mir nicht gelungen, aus den Antworten hier schlau zu werden, wie man die Tabelle aufzubauen hat. In meinen Augen liegt dies teils daran, dass es ihm nicht gelungen ist, sein Problem auf den Punkt zu bringen, teils auch daran, dass die Antworten am Thema vorbeigegangen sind. Ich habe mir die Antwort dann selbst erarbeitet und würde sie hier gerne zum besten geben, damit jemand, der nach Bright und mir dieselbe Frage hat, sie hier findet.

Brights Problem war, dass die ihm empfohlene Methode CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD die Daten als Tabelle braucht und er nicht wusste, wie er diese Tabelle erstellen sollte. Die ganzen hier gegebenen Antworten bestanden darin, seinen xstring einfach als einzige Zeile in eine interne Tabelle einzufügen. Das funktioniert aber nicht, denn dann hat man eine TABLE OF xstring, und die Methode GUI_DOWNLOAD dumpt, da sie eine TABLE OF x erwartet (obgleich ihre Definition dies nicht klar erkennen lässt). Den xstring einfach als einzige Zeile an eine TABLE OF x anzufügen, wäre auch riskant, da der Datentyp x eine maximale Länge hat, die zwar oft ausreichen wird, aber nicht immer ausreichen muss.

Also braucht man mehr als eine Zeile nebst einer sinnvollen Zerlegung. Hier bietet sich der Funktionsbaustein SCMS_XSTRING_TO_BINARY an.

Um vom erstellten xstring zum funktionierenden GUI_DOWNLOAD zu kommen, wäre der richtige Weg also gewesen:

Code: Alles auswählen.

    DATA: SIZE TYPE I,
          BINTAB TYPE SOLIX_TAB.

    CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
      EXPORTING
        BUFFER          = LV_XSTRING
      IMPORTING
        OUTPUT_LENGTH   = SIZE
      TABLES
        BINARY_TAB      = BINTAB.

    CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD(
      EXPORTING
        BIN_FILESIZE              = SIZE
        FILENAME                  = Dateipfad
        FILETYPE                  = 'BIN'
      CHANGING
        DATA_TAB                  = BINTAB ).

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
qyurryus


Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Rookey (ForumUser / 1 / 0 / 0 ) »
Hi,

versuch mal den Link, dort findest du die Lösung.

https://codezentrale.de/abap-interne-ta ... readsheet/

Viele Grüße

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Funktionsbaustein SAP_CONVERT_TO_CSV_FORMAT konvertiert eine ITAB ins CSV Format.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Funktionsbaustein SAP_CONVERT_TO_CSV_FORMAT konvertiert eine ITAB ins CSV Format.
Oder mit ABAP2XLSX
https://bb1.j-gun.de/viewtopic.php?f=36&t=20625
Beides läuft auch im Hintergrund ab.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Interne Tabelle als Excel-Datei speichern

Beitrag von a-dead-trousers (Top Expert / 4414 / 224 / 1186 ) »
Ich hab da mal meine wichtigsten Kritikpunkte zum so gerne empfohlenen Funktionsbaustein SAP_CONVERT_TO_CSV_FORMAT zusammengefasst:
viewtopic.php?f=18&t=25508
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Vergleichbare Themen

10
Antw.
2964
Views
Interne Tabelle als Excel Datei im Hintergrund speichern
von lisa » 23.03.2022 14:12 • Verfasst in ABAP® für Anfänger
0
Antw.
2465
Views
Interne Tabelle in Datei speichern
von Schludi » 08.06.2006 10:52 • Verfasst in Java & SAP®
13
Antw.
9910
Views
interne Tabelle als CSV-Datei auf Festplatte speichern.
von Bright4.5 » 09.10.2018 09:23 • Verfasst in ABAP® für Anfänger
8
Antw.
4655
Views
Excel Datei Lesen und in sap Tabelle speichern
von amjahid » 13.11.2007 09:44 • Verfasst in ABAP® für Anfänger
2
Antw.
1563
Views
Interne Tabelle als xml Datei auf einem Applikationsserver speichern
von lisa » 03.02.2021 09:46 • Verfasst in ABAP® für Anfänger

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor einer Woche von Manfred K. 1 / 2622
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Wochen von snooga87 1 / 4433