benutzerdefinierter CSV Ausgabepfad

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

benutzerdefinierter CSV Ausgabepfad

Beitrag von jonasx46 (ForumUser / 8 / 0 / 0 ) » 4. Dez 2019 10:41

Hallo zusammen,

ich habe mal eine Frage. Aktuell kann ich mir meine interne Tabelle über diesen Befehl als CSV Datei ausgeben lassen:

Code: Alles auswählen.

     CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename = 'C:\Desktop\test\output.csv'
      TABLES
        data_tab = lt_csv. 
Dieser speichert die Datei nun leider aber nur in einem vorgegebenen Pfad. Nun wird aber gewünscht, dass der Pfad beim ausführen des Prorgamms 's selbst gewählt werden kann. Wie realisiere ich das?

Viele Grüße


Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von Aba (ForumUser / 44 / 6 / 1 ) » 4. Dez 2019 10:51

Hallo,

versuch es mal mit folgender Methode:
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
initial_folder =
CHANGING
selected_folder =
EXCEPTIONS
OTHERS = 4.

Diese Methode zeigt dem Benutzer die Dateihierarchie an und dort kann dann ein Pfad ausgewählt werden. "Initial_folder" gibt den Ordner an, ab dem die Hierarchie ausgeklappt sein soll, und "selected_folder" enthält dann den ausgewählten.

Aba

Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von ST22 (Specialist / 242 / 25 / 29 ) » 4. Dez 2019 12:06

Oder auch die Methode FILE_SAVE_DIALOG nutzen.

Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von jesse001 (ForumUser / 6 / 2 / 0 ) » 4. Dez 2019 12:47

ich habe das mal so gemacht :


CLASS
zcl_mi_pm_select_file_pc DEFINITION FINAL.
*
*-->> Get filepath from local PC
PUBLIC SECTION.
METHODS:
select_file_pc
CHANGING p_first2 TYPE rlgrap-filename
EXCEPTIONS select_file_failed.

PRIVATE SECTION.

ENDCLASS. "zcl_mi_pm_select_file_pc

CLASS zcl_mi_pm_get_data DEFINITION FINAL.
*
*-->> Get filepath from local PC
PUBLIC SECTION.
METHODS:
get_data
IMPORTING p_first2 TYPE rlgrap-filename
EXCEPTIONS gui_upload.


PRIVATE SECTION.

ENDCLASS. "zcl_mi_pm_select_file_pc



CLASS zcl_mi_pm_select_file_pc IMPLEMENTATION.
METHOD select_file_pc.
*
*-->>
DATA: l_filename TYPE string,
l_title TYPE string,
li_filetable TYPE TABLE OF file_table,
l_action TYPE i,
l_rc TYPE i.

CLEAR p_first2.

*
*-->>
l_filename = p_first2.
l_title = text-001.

CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = l_title
default_filename = l_filename
file_filter = '*.*'
CHANGING
file_table = li_filetable
rc = l_rc
user_action = l_action
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
CLEAR l_filename.
ELSE.
READ TABLE li_filetable INDEX 1 INTO p_first2.
IF sy-subrc = 0.
ENDIF.
ENDIF.

CLOSE DATASET l_filename.

ENDMETHOD.
ENDCLASS.

Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von a-dead-trousers (Top Expert / 3301 / 90 / 841 ) » 4. Dez 2019 13:31

Wird nicht funktionieren:
Du mischst Anweisungen die im Applikationsserver ausgeführt werden (CLOSE DATASET) mit Anweisungen die im GUI ausgeführt werden (cl_gui_frontend_services=>file_open_dialog).

Außerdem solltest du FILE_SAVE_DIALOG verwenden, weil du ja eine Datei auf dem Client speichern möchtest und da andere Prüfungen (ist Datei schon vorhanden usw.) notwendig sind.
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.07
Basis: 7.40

Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von jesse001 (ForumUser / 6 / 2 / 0 ) » 4. Dez 2019 14:47

close dataset ist natürlich quatsch, aber ansonsten funktioniert die Auswahl eines Pfads über Popup. So war es doch gedacht oder ?

Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von jonasx46 (ForumUser / 8 / 0 / 0 ) » 4. Dez 2019 15:06

genau, Quasi ein Pop-Up wo man den Speicherort bestimmen kann.

Re: benutzerdefinierter CSV Ausgabepfad

Beitrag von a-dead-trousers (Top Expert / 3301 / 90 / 841 ) » 4. Dez 2019 19:15

Ich würde aber trotzdem empfehlen anstatt des FILE_OPEN_DIALOG den FILE_SAVE_DIALOG zu verwenden.
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.07
Basis: 7.40

Seite 1 von 1

Aktuelle Forenbeiträge

Objekt implementiert Interface? gelöst
vor einer Stunde von a-dead-trousers 2 / 22
Anzahlungsrechnung drucken
vor 17 Stunden von Sebastian82 3 / 76
PopUp bei Fakturaerstellung
vor 18 Stunden von jocoder 2 / 51
Generische Objekte in der Massenverarbeitung
vor 19 Stunden von TravellingEntwickler 2 / 612
Unterschiedliche Konditionen AB und Rechnungdruck
Gestern von Sebastian82 1 / 46

Unbeantwortete Forenbeiträge

Unterschiedliche Konditionen AB und Rechnungdruck
Gestern von Sebastian82 1 / 46
Änderungsbelege für Kundenfelder im BP
vor 4 Tagen von GerryRe 1 / 1992
Transaktionen MEIS / VE01
vor einer Woche von SAP_ENTWICKLER 1 / 2464
Cl_gui_html_viewer Problem
vor einer Woche von YoeBoy 1 / 2008