选择屏幕文件、路径选取模板

*&---------------------------------------------------------------------*
*& 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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值