zoukankan      html  css  js  c++  java
  • abap 选择屏幕文件、路径选取模板 (转)

     

     

     
     

    转:

    *&---------------------------------------------------------------------*
    *& Report  Z_BARRY_FILE_SELECT
    *&
    *&---------------------------------------------------------------------*
    *& 文件、路径选取模板
    *& 
    *&---------------------------------------------------------------------*
    REPORT  z_barry_file_select.
    TABLES rlgrap.
    DATA: gd_path TYPE string.
    DATA: it_tab TYPE filetable,
          gd_subrc TYPE i.
    DATA: ld_filename TYPE string,
          ld_path TYPE string,
          ld_fullpath TYPE string,
          ld_result TYPE i,
          gd_file TYPE c.
    SELECT-OPTIONS openfile FOR rlgrap-filename.
    PARAMETERS: savefile TYPE  rlgrap-filename.
    PARAMETERS: filepath LIKE rlgrap-filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR filepath.
      CALL METHOD cl_gui_frontend_services=>directory_browse
        EXPORTING
          window_title    = 'File Directory'
          initial_folder  = 'C:'
        CHANGING
          selected_folder = gd_path.
      CALL METHOD cl_gui_cfw=>flush.
      CONCATENATE gd_path '' INTO filepath.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR openfile-low.
      REFRESH: it_tab.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title     = 'Select File'
          default_filename = '*.txt'
          multiselection   = 'X'
        CHANGING
          file_table       = it_tab
          rc               = gd_subrc.
      LOOP AT it_tab INTO openfile-low.
        openfile-sign = 'I'.
        openfile-option = 'EQ'.
        APPEND openfile.
      ENDLOOP.
      CALL METHOD cl_gui_cfw=>flush.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR savefile.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
        EXPORTING
          default_extension = 'XLS'
          default_file_name = 'accountsdata'
          initial_directory = 'c:/temp/'
        CHANGING
          filename          = ld_filename
          path              = ld_path
          fullpath          = ld_fullpath
          user_action       = ld_result.
      savefile  = ld_fullpath.


     

    选择文件夹

      
      PARAMETERS p_ifname TYPE rlgrap-filename.  "import rfq file 
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_efname. 
         CALL FUNCTION 'TMP_GUI_BROWSE_FOR_FOLDER'
        EXPORTING
          window_title    = 'Select Folder...'(004)
          initial_folder  = ''
        IMPORTING
          selected_folder = p_ifname
        EXCEPTIONS
          cntl_error      = 1
          OTHERS          = 2.


      FORM process_import_files USING p_file TYPE localfile.
      DATA: l_dir TYPE string,
            l_filecount TYPE i,
            l_result.
      DATA: lt_table TYPE STANDARD TABLE OF file_info.
      l_dir = p_file.
      "check path exist
      CALL METHOD cl_gui_frontend_services=>directory_exist
        EXPORTING
          directory            = l_dir
        RECEIVING
          result               = l_result
        EXCEPTIONS
          cntl_error           = 1
          error_no_gui         = 2
          wrong_parameter      = 3
          not_supported_by_gui = 4
          OTHERS               = 5.
      IF sy-subrc = 0 AND l_result <> 'X'.
        MESSAGE 'The folder does not exist.'(006) TYPE 'S' DISPLAY LIKE 'E'.
        RETURN.
    *   Implement suitable error handling here
      ENDIF.
      CALL METHOD cl_gui_frontend_services=>directory_list_files
        EXPORTING
          directory                   = l_dir
    *     filter                      = '*.*' "'*.XLS;*.XLSX;*.XLSM'
          files_only                  = 'X'
    *     directories_only            =
        CHANGING
          file_table                  = lt_table
          count                       = l_filecount
        EXCEPTIONS
          cntl_error                  = 1
          directory_list_files_failed = 2
          wrong_parameter             = 3
          error_no_gui                = 4
          not_supported_by_gui        = 5
          OTHERS                      = 6.
      IF sy-subrc <> 0 .
        .......
      ENDIF.
    ENDFORM.                    " PROCESS_IMPORT_FILES
  • 相关阅读:
    一些你不知道的js特性【一】
    webpack打包优化实践
    prerender-spa-plugin预渲染踩坑
    前端学习中你必须了解的几张图
    fis3打包中的一些注意事项
    js中的运算符优先级
    Vivado安装教程
    ISE14.7使用教程(一个完整工程的建立)
    如何高效的编写Verilog HDL——进阶版
    Vivado 2017封装自定义IP Core
  • 原文地址:https://www.cnblogs.com/yanglikun/p/4238627.html
Copyright © 2011-2022 走看看