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.
Woher hast du diese Information?SaskuAc hat geschrieben:...da sich das angeblich besser gestaltet als mit dem File_SAVE_DIALOG...
Was willst du erreichen?SaskuAc hat geschrieben:Jetzt komm ich aber nicht ganz damit zurecht wie ich da was setzen muss... kann mir da jemand helfen?
Du suchst CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE....?SaskuAc hat geschrieben:Schlussendlich, soll der Pfad + Dateiname in meinem Parameterfeld p_file drinnenstehen.
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