Klasse CL GUI FRONTEND SERVICES, Methode FILE OPEN DIALOG

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Mit dieser Methode FILE_OPEN_DIALOG der Klasse CL_GUI_FRONTEND_SERVICES kann ein Popup erzeugt werden, mit dem man eine Datei auswählen kann.

Mit dem Parameter FILE_FILTER kann ein Filter auf den oder die Datentypen angelegt werden. Wird dieser Parameter nicht gefüllt, können alle Dateitypen ausgewählt werden im Dialog. Siehe auch Vorlage Upload/Download Datei Frontend.

Coding TXT-Upload

 Data: lt_file_table TYPE filetable,
       lv_rc         TYPE i,
       lv_file       TYPE string.

 CALL METHOD cl_gui_frontend_services=>file_open_dialog
   EXPORTING
     window_title      = 'Datei auswählen'
     file_filter       = 'Text-Dateien (*.TXT)|*.TXT'
     initial_directory = 'C:\TEMP'   "wenn nicht gefüllt, merkt sich Popup letztes Uploadverzeichnis
     multiselection    = ' '
   CHANGING
     file_table        = lt_file_table
     rc                = lv_rc
  EXCEPTIONS
    file_open_dialog_failed = 1
    cntl_error              = 2
    error_no_gui            = 3
    not_supported_by_gui    = 4
    others                  = 5.
       
 IF sy-subrc <> 0.
* Implement suitable error handling here
 ELSE.
   READ TABLE  lt_file_table INTO lv_file INDEX 1.
 ENDIF.

Upload Excel-Datei mit mehreren Dateitypen (XLS und XLSX)

data: lv_rc type i,
      lt_file_table type filetable.

   call method cl_gui_frontend_services=>file_open_dialog
     exporting
       window_title      = 'Datei auswählen'
       "file_filter       = 'Excel (ab MS-Office 2007) (*.xlsx)|*.xlsx|Excel (vor MS-Office 2007) (*.xls)|*.xls'
       "file_filter       = 'Excel-Dateien (*.XLS)|*.XLSX'    "'Text-Dateien (*.TXT)|*.TXT'
       initial_directory = 'C:\TEMP'   "wenn nicht gefüllt, merkt sich Popup letztes Uploadverzeichnis
       multiselection    = ' '
     changing
       file_table        = lt_file_table
       rc                = lv_rc
     exceptions
       others            = 3.

OSS-Hinweis

Web-Links