CSV im Hintergrund speichern

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

CSV im Hintergrund speichern

Beitrag von stony007_de (Specialist / 108 / 6 / 0 ) »
Hi

ich habe mal wieder eine kleine Herausforderung.
Habe ein itab welche ich mit dem FuBa 'SAP_CONVERT_TO_CSV_FORMAT' in eine csv form bringe.
Nutze ich "GUI_DOWNLOAD" funktionert das auch Super! Leider nicht im Background.

wenn ich hier ein wenig suche, stoße ich schnell auf "open dataset". Leider finde ich dazu nichts konkretes.
Vielleicht hat hier jemand eine Tip

Code: Alles auswählen.


DATA: L_PATH TYPE STRING VALUE 'C:\tmp\USER.SCV'.
...
..
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
  EXPORTING
    I_FIELD_SEPERATOR    = ';'
*   I_LINE_HEADER        =
*   I_FILENAME           = ''
*   I_APPL_KEEP          = ' '
  TABLES
    I_TAB_SAP_DATA       = IT_USER
  CHANGING
    I_TAB_CONVERTED_DATA = CSV_CONVERTED_TABLE
  EXCEPTIONS
    CONVERSION_FAILED    = 1
    OTHERS               = 2.

* Export der CSV zum Übergeben Pfad
PERFORM SAFE_CSV USING L_IMG_EXP_USER_FULLPATH.
*
* --------------------------------------------------------------------

*----------------------------------------------------------------------*
FORM SAFE_CSV USING L_PATH TYPE STRING.
*
*  CALL FUNCTION 'GUI_DOWNLOAD'
*    EXPORTING
**     FILENAME = L_IMG_EXP_ROLENAME_FULLPATH
*      FILENAME = L_PATH
*    TABLES
*      DATA_TAB = CSV_CONVERTED_TABLE.

 
  open dataset L_PATH for output in text mode.
  LOOP AT  CSV_CONVERTED_TABLE.
    transfer  CSV_CONVERTED_TABLE to L_PATH.
  ENDLOOP.
 
  close dataset L_PATH.

ENDFORM.                    "SAFE_CSV
Leider funktioniert das nicht wie gewünscht. Nämlich gar nicht! ;-(
Muss als itab in der OPEN DATASET die I_TAB_CONVERTED_DATA?


mfg
stony007_de

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


Re: CSV im Hintergrund speichern

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
stony007_de hat geschrieben:Muss als itab in der OPEN DATASET die I_TAB_CONVERTED_DATA?

Code: Alles auswählen.

DATA: L_PATH TYPE STRING VALUE 'C:\tmp\USER.SCV'.
[\code]

OPEN DATASET geht nur auf dem Aplikation-Server nicht auf dem FrontEnd!

[code]
open dataset L_PATH for output in text mode  MESSAGE fehler_datei_open 

IF sy-subrc <> 0.
  WRITE / fehler_datei_open.
ELSE.
...
ENDIF.
Gruß Hendrik

Re: CSV im Hintergrund speichern

Beitrag von stony007_de (Specialist / 108 / 6 / 0 ) »
Ja ist doch super! das ist doch genau was ich will!
es soll in einem Hintergrundjob geplant werden.
Im Vordergrund kann ich "GUI_DOWNLOAD" nutzen!

Nochmal: ich möchte die CSV im Hintergrund ablegen.

mfg
stony

Re: CSV im Hintergrund speichern

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Dein Beispiel (SAFE_CSV) im erste Post ist komplett richtig, bis auf den Pfad:
Solange der Applikationsserver (!) und nicht der GUI-Client ein Windows-Betriebssystem hat und der Ordner C:\tmp dort vorhanden ist sollte es problemlos gehen.
In allen anderen Fällen (z.B Unix/Linux, Pfad am Client) musst du einen anderen Pfad wählen der am Applikationsserver vorhanden ist.
(Ach ja: Das Berechtigungsobjekt S_DATASET wird auch für den Zugriff benötigt)

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: CSV im Hintergrund speichern

Beitrag von stony007_de (Specialist / 108 / 6 / 0 ) »
Moin

also ich habe noch 2 Kleinigkeiten vergessen.

1. mein Zielpfad soll nicht auf dem Applikationsserver sein sonder ein UNC somit nur eine SMB Berechtigungsfrage --> check
2. ich habe die WorkArea vergessen. Mein Code sieht jetzt wie folgt aus und funktioniert. --> check

Code: Alles auswählen.

* Workarea für CSV Data definieren
DATA CSV_CONVERTED_WORKAREA LIKE LINE OF CSV_CONVERTED_TABLE.
...
..
.
FORM SAFE_CSV USING L_PATH TYPE STRING.

* OPEN DATA SET um IM BACKEND DATEN ZU Speichern
  OPEN DATASET L_PATH FOR OUTPUT IN TEXT MODE  ENCODING DEFAULT.
  LOOP AT  CSV_CONVERTED_TABLE INTO CSV_CONVERTED_WORKAREA.
    TRANSFER CSV_CONVERTED_WORKAREA TO L_PATH.
  ENDLOOP.

  CLOSE DATASET L_PATH.

ENDFORM.                    "SAFE_CSV
Danke

Seite 1 von 1

Vergleichbare Themen

0
Antw.
837
Views
FB03 im Hintergrund als txt speichern
von Mr.Black » 27.07.2009 18:42 • Verfasst in ABAP® Core
10
Antw.
2740
Views
Interne Tabelle als Excel Datei im Hintergrund speichern
von lisa » 23.03.2022 14:12 • Verfasst in ABAP® für Anfänger
10
Antw.
4238
Views
RFC als Hintergrund Job
von hudsonhawk » 15.05.2007 17:54 • Verfasst in ABAP® Core
0
Antw.
1233
Views
VF11 im Hintergrund?
von Skydizer » 23.01.2007 08:43 • Verfasst in Sales and Distribution
10
Antw.
3842
Views
Report im Hintergrund
von khb » 09.08.2007 16:25 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Regex in where
vor 3 Stunden von edwin 7 / 162
Daten an Tabelle binden
vor 16 Stunden von Bright4.5 3 / 1486

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.

Aktuelle Forenbeiträge

Regex in where
vor 3 Stunden von edwin 7 / 162
Daten an Tabelle binden
vor 16 Stunden von Bright4.5 3 / 1486

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821