Excel auf Server ablegen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Excel auf Server ablegen

Beitrag von Thomas17 (Specialist / 157 / 17 / 14 ) »
Hallo Zusammen,

ich erstelle mir eine Excel per XML und möchte diese gerne auf einem Server ablegen, da sie für den Emailversand zu groß ist.

Hat mir jemand eine Idee?
Danke.

Ich erstelle die Email/Inhalt der XLS mit:

Code: Alles auswählen.

DATA: l_ixml            TYPE REF TO if_ixml,
      l_streamfactory   TYPE REF TO if_ixml_stream_factory,
      l_ostream         TYPE REF TO if_ixml_ostream,
      l_renderer        TYPE REF TO if_ixml_renderer,
      l_document        TYPE REF TO if_ixml_document.

DATA: l_element_root        TYPE REF TO if_ixml_element,
      ns_attribute          TYPE REF TO if_ixml_attribute,
      r_element_properties  TYPE REF TO if_ixml_element,
      r_element             TYPE REF TO if_ixml_element,
      r_worksheet           TYPE REF TO if_ixml_element,
      r_table               TYPE REF TO if_ixml_element,
      r_column              TYPE REF TO if_ixml_element,
      r_row                 TYPE REF TO if_ixml_element,
      r_cell                TYPE REF TO if_ixml_element,
      r_data                TYPE REF TO if_ixml_element,
      l_value               TYPE string,
      l_type                TYPE string,
      l_text(100)           TYPE c,
      r_styles              TYPE REF TO if_ixml_element,
      r_style               TYPE REF TO if_ixml_element,
      r_style1              TYPE REF TO if_ixml_element,
      r_format              TYPE REF TO if_ixml_element,
      r_border              TYPE REF TO if_ixml_element,
      num_rows              TYPE i.

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


Re: Excel auf Server ablegen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

Das Ergebnis vom Renderer ist je nach verwendetem Stream entweder eine Tabelle oder ein (X)String.
Diese Daten kannst du dann entweder mit OPEN DATASET ... und TRANSFER in eine Datei am Appl.Server schreiben oder mit GUI_DOWNLOAD in eine Datei am Frontend (unter Windows auch mit //servername/file-share auf ein Netzwerkverzeichnis)
Sofern euer Appl.Server auf Windows aufsetzt oder unter UNIX/LINUX der SAMBA (CIFS) eingerichtet ist kann man auch direkt auf ein Windows Share mit OPEN DATASET zugreifen.

Wichtig ist, dass bei GUI_DOWNLOAD ein Frontend vorhanden sein MUSS (nicht für Hintergrundverarbeitung geeignet)
Weiters musst du evtl. noch wenn ihr UNIX/LINUX und Windows "gemischt" verwendet die Zeilenenedezeichen berücksichtigen (unter Windows CRLF und unter UNIX/LINUX nur LF)
Die kann man aber recht schnell mit

Code: Alles auswählen.

REPLACE ALL OCCOURENCES OF cl_abap_char_utilities=>cr_lf+1 in ld_string with cl_abap_char_utilities=>cr_lf. "UNIX/LINUX -> WINDOWS
*bzw.
REPLACE ALL OCCOURENCES OF cl_abap_char_utilities=>cr_lf in ld_string with cl_abap_char_utilities=>cr_lf+1. "WINDOWS -> UNIX/LINUX
austauschen.

lg ADT
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

Re: Excel auf Server ablegen

Beitrag von Thomas17 (Specialist / 157 / 17 / 14 ) »
hey adt,

danke für dein schnelles feedback.
wenn ich jetzt opendataset machen - kann ich dann den dateityp sauber bestimmen?

ich versuche mich gerade an dem Beispiel vom tricktresor mit ...
CALL METHOD OF excel 'SAVEAS' EXPORTING #1 = 'C:\testneu.xlsx'.

leider speichert er mir die datei einfach nicht... würde sowas auch im hintergrund gehen?

grüße

Re: Excel auf Server ablegen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Thomas17 hat geschrieben:wenn ich jetzt opendataset machen - kann ich dann den dateityp sauber bestimmen?
Dateityp? Du willst ja eine XML Datei speichern.
Wenn Excel das richtig interpretieren soll musst du beim ERSTELLEN des XML in deinem Programm darauf achten, das du die richtigen Element/Attribute usw. verwendest.
Thomas17 hat geschrieben:ich versuche mich gerade an dem Beispiel vom tricktresor mit ...
CALL METHOD OF excel 'SAVEAS' EXPORTING #1 = 'C:\testneu.xlsx'.
leider speichert er mir die datei einfach nicht... würde sowas auch im hintergrund gehen?
Hintergrund geht damit nicht. Denn es werden über den SAPgui die jeweiligen EXCEL-Befehle per OLE aufgerufen.
Ich kenn jetzt das Beispiel auf Tricktresor auch nicht auswendig, aber ich denke mal nur 'SAVEAS' aufzurufen ist zuwenig. Du musst schon deine ganzen Daten mittels Excel-Befehlen in das Excel-Format übertragen, sonst ist es ja nur eine "leere" Datei.

Ich persönlich würde dir sowieso ABAP2XSLX ans Herz legen, vor allem da du ja vermutlich ein "Excel XML Dokument" (= Erweiterung XSLX) haben möchtest.
Such einfach zum Thema ABAP2XSLX hier im Forum oder auf Tricktresor nach Beispielen wie man das installiert bekommt und einsetzen kann.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Thomas17

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

Re: Excel auf Server ablegen

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

speichern von xlsx dateien funkioniert nicht auf die herkömmlichen Art und Weisen wie für xls.
Wie ADT schon sagte, schau dir ABAP2XSLX genauer an. Damit sollte es klappen. :)
Gruß,
der Matze

Re: Excel auf Server ablegen

Beitrag von Thomas17 (Specialist / 157 / 17 / 14 ) »
Hi,

ok... ich hab jetzt das release als zip und entsprechende TIR dateien.
ok... mit Tricktresor... ;)

Never Mind!

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1073
Views
Archivobjekt am Server ablegen
von fitzinger » 17.03.2008 13:19 • Verfasst in ABAP® Core
3
Antw.
5525
Views
Datei auf dem Server ablegen
von Nadine_2706 » 02.10.2012 07:33 • Verfasst in ABAP® für Anfänger
0
Antw.
1248
Views
Spool in PDF auf externen Server ablegen
von Dagi » 06.02.2006 10:28 • Verfasst in ABAP® für Anfänger
8
Antw.
6203
Views
ArchiveLink: Trotz Ablegen kein Dokument auf Server
von Thanatos82 » 14.03.2013 10:48 • Verfasst in ABAP® Core
1
Antw.
2075
Views
Beleg ablegen über NAST '2-ablegen' auf Fileebene möglich
von Mike10081973 » 28.08.2017 17:10 • Verfasst in Sales and Distribution

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 753
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2377
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8962