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 / 1189 / 1 / 196 ) »
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 / 4286 / 214 / 1142 ) »
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.
737
Views
FB03 im Hintergrund als txt speichern
von Mr.Black » 27.07.2009 18:42 • Verfasst in ABAP® Core
10
Antw.
1560
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.
3896
Views
RFC als Hintergrund Job
von hudsonhawk » 15.05.2007 17:54 • Verfasst in ABAP® Core
0
Antw.
737
Views
ALV Hintergrund und Seitennummerierung
von Besi » 01.06.2006 16:44 • Verfasst in ABAP® Core
11
Antw.
21166
Views
ALV im Hintergrund möglich?
von c oco » 13.01.2012 14:30 • Verfasst in ABAP® für Anfänger

Ü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

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.