CONSTANTS

:


 

            c_initial_folder  TYPE string  VALUE  'c:\' ,                        "起始目录

 

            c_title                    TYPE string  VALUE '选择文件存放目录' .               "TITLE  *--------------------------------------------------------------------*


"获取文件保存路径 *--------------------------------------------------------------------*


AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR p_s_dir .

 

  CALL  METHOD cl_gui_frontend_services =>directory_browse

 

      EXPORTING

 

          window_title        = c_title                                                                                "File Directory'

 

          initial_folder    = c_initial_folder                                                        "windows c盘为本地目录起点

 

      CHANGING

 

          selected_folder  = l_localpath .                                    "输入的本地下载目录


 

  CALL  METHOD cl_gui_cfw =>flush .                                        "方法:Send Buffered Automation Queue to Front End

 

  p_s_dir  = l_localpath .


*--------------------------------------------------------------------*


 

  "获取文件路径 *--------------------------------------------------------------------*


AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR p_moban .


 

  CALL  FUNCTION  'F4_FILENAME'

 

      EXPORTING

 

          dynpro_number  = syst -dynnr

 

          field_name        =  'PATH'

 

      IMPORTING

 

          file_name          = p_moban .                                        "文件路径



*--------------------------------------------------------------------* 获取文件路径 *--------------------------------------------------------------------*   CALL FUNCTION 'WS_FILENAME_GET'     EXPORTING       mask             = ',Excel Files,*.xls,All Files,*.*.'(101)       title             = '选择文件'(100)     IMPORTING       filename         = p_file     EXCEPTIONS       inv_winsys       = 1       no_batch         = 2       selection_cancel = 3       selection_error   = 4       OTHERS           = 5.   IF sy-subrc <> 0 AND sy-subrc <> 3.     MESSAGE e100(zdev) WITH '选择文件出错!'(007).   ENDIF.


*--------------------------------------------------------------------* 获取文件路径:下载时,弹出下载地址选择窗口 *--------------------------------------------------------------------* DATA:  lo_objdata LIKE wwwdatatab,           lo_mime LIKE w3mime,           lc_filename   TYPE string VALUE 'test01',             "默认文件名,用户可以修改           lc_path       TYPE   string ,                         "路径           lc_fullpath   TYPE string   ,                         "完整路径加名称    

  "保存下载的模板   CALL METHOD cl_gui_frontend_services=>file_save_dialog "调用保存对话框     EXPORTING       default_extension     = 'XLS'                         "保存类型       default_file_name     = lc_filename                   "文件名:test01     CHANGING       filename             = lc_filename                   "文件名       path                 = lc_path                       "地址,用户选择的时候赋值如d:\       fullpath             = lc_fullpath                   "文件路径:如d:\test01.xls     EXCEPTIONS       cntl_error           = 1       error_no_gui         = 2       not_supported_by_gui = 3       OTHERS               = 4.   IF lc_fullpath = ''.     MESSAGE   '不能打开excel' TYPE 'E'.   ENDIF.


另外有个函数可以校验文件是否存在 TMP_GUI_GET_FILE_EXIS