file_open_dialog

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

file_open_dialog

Beitrag von SaskuAc (Specialist / 321 / 37 / 43 ) »
Hey zusammen,

ich möchte gerne die Methode file_open_dialog aus der Klasse CL_GUI_FRONTEND_SERVICES verwenden. da sich das angeblich besser gestaltet als mit dem File_SAVE_DIALOG ( mal davon abgesehen, dass der eine zu speichern versucht. )

Naja der Code mit dem Save Dialog sieht so aus:

Code: Alles auswählen.

*  CALL METHOD cl_gui_frontend_services=>file_save_dialog
*    EXPORTING
*      file_filter = cl_gui_frontend_services=>filetype_all
*    CHANGING
*      path        = path
*      filename    = filename
*      fullpath    = fullpath
*      user_action = action.
*
*  IF action = cl_gui_frontend_services=>action_ok.
*    p_file = fullpath.
*  ENDIF.
Dass der Code auskommentiert ist, liegt daran, dass ich den Open Dialog jetzt zu verwenden versuche.


Naja im Prinzip soll im Open Dialog das gleiche passieren, und zwar einfach in mein Parameterfeld "p_file" der pfad einer Datei stehen.

Jetzt komm ich aber nicht ganz damit zurecht wie ich da was setzen muss... kann mir da jemand helfen?

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


Re: file_open_dialog

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
ähhh... Ganz kann ich das Problem nicht verstehen.
FILE_OPEN_DIALOG => Wenn man eine vorhandene Datei zum Öffnen auswählen möchte
FILE_SAVE_DIALOG => Wenn man eine, mitunter auch nicht vorhandene Datei zum Speichern auswählen möchte
Einziger Unterschied ist, da man mit FILE_OPEN_DIALOG auch mehrere Dateien auswählen kann (MULTISELECTION), dass die Dateinamen als Tabelle (FILE_TABLE) zurückgegeben werden.
SaskuAc hat geschrieben:...da sich das angeblich besser gestaltet als mit dem File_SAVE_DIALOG...
Woher hast du diese Information?
SaskuAc hat geschrieben:Jetzt komm ich aber nicht ganz damit zurecht wie ich da was setzen muss... kann mir da jemand helfen?
Was willst du erreichen?

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: file_open_dialog

Beitrag von SaskuAc (Specialist / 321 / 37 / 43 ) »
Schlussendlich, soll der Pfad + Dateiname in meinem Parameterfeld p_file drinnenstehen.

Jetzt habe ich das versucht über die Taballe. Heíßt n Loop drüber gemacht und dann in ne Struktur. und versucht diesen wert in das parameterfeld p_file zu speichern. Allerdings will er da immer was konvertieren und ich versteh nicht was und warum.

So jedesmal wenn ich den FILE_SAVE_DIALOG aufrufe kommt dann noch die Meldung bezügl. überschreiben. diese kommt beim file_open_dialog nicht. das ist der grund warum ich den open Dialog haben möchte.
So das mit dem setzen und so habe ich verstanden .. allerdings klappt das nicht wieso auch immer. Nutze jetzt eine function ( "GUI_FILE_LOAD_DIALOG" ). ist nicht schön aber funktioniert einwandfrei.

Re: file_open_dialog

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
SaskuAc hat geschrieben:Schlussendlich, soll der Pfad + Dateiname in meinem Parameterfeld p_file drinnenstehen.
Du suchst CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE....?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: file_open_dialog

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
Mein Vorschlag zum Auswählen eines Verzeichnisses.
Man kann dann mit einem 2ten Eingabefeld den Dateinamen angeben und die
Eingabefelder zu einem kompletten Pfad plus Dateiname zusammensetzen,
oder ggf. ändern auf "Save" Dialog.

Beispiel:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  YBC_OPENDIR_DIALOG
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ybc_openDIR_dialog.


PARAMETERS p_dir(40) LOWER CASE.




* Select File via Selection Screen

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dir.

  PERFORM select_filename.


FORM select_filename .

  DATA : lt_dynpfields TYPE STANDARD TABLE OF dynpread,
         ls_dynpread TYPE dynpread,
         ld_folder TYPE string.

  FIELD-SYMBOLS : <ls_dynpread> TYPE dynpread.

  CLEAR ls_dynpread.
  ls_dynpread-fieldname = 'P_DIR'.
  APPEND ls_dynpread TO lt_dynpfields.

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = sy-repid
      dynumb               = sy-dynnr
    TABLES
      dynpfields           = lt_dynpfields
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      invalid_parameter    = 7
      undefind_error       = 8
      double_conversion    = 9
      stepl_not_found      = 10
      OTHERS               = 11.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL METHOD cl_gui_frontend_services=>directory_browse
    EXPORTING
      window_title         = 'Verzeichnisselektion'
    CHANGING
      selected_folder      = ld_folder
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  READ TABLE lt_dynpfields ASSIGNING <ls_dynpread> WITH KEY fieldname = 'P_DIR'.
  CHECK sy-subrc = 0.

  <ls_dynpread>-fieldvalue = ld_folder.

  CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
      dyname               = sy-repid
      dynumb               = sy-dynnr
    TABLES
      dynpfields           = lt_dynpfields
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      undefind_error       = 7
      OTHERS               = 8.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM.                    " SELECT_FILENAME
lg 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.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
9578
Views
URL File-Server Internet File Download /Delet cl_http_client
von Luigi91 » 04.10.2016 08:28 • Verfasst in ABAP Objects®
1
Antw.
3310
Views
ALE Verarbeitung im Dialog
von ewx » 18.06.2013 16:36 • Verfasst in Exchange Infrastructure
7
Antw.
3917
Views
Dialog zum Drucken
von Jessy83 » 26.02.2008 11:56 • Verfasst in Dialogprogrammierung
1
Antw.
1918
Views
Reaktion auf /N im Dialog?
von Hellbender » 24.01.2007 10:37 • Verfasst in Dialogprogrammierung
0
Antw.
1321
Views
DTP Filterwert per Dialog eingeben
von MS-K » 12.12.2017 10:27 • Verfasst in Sonstige Module

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.