abap 打开文件对话框

【转自 http://blog.csdn.net/zhongguomao/article/details/6712576】

*----------------------- Method 1 --------------------------------------
PARAMETERS:  f_file LIKE rfpdo1-febumsf OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR f_file.
  DATA: files   TYPE filetable,
        h_files TYPE file_table,
        rc      LIKE sy-subrc.
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
      window_title            = '下载到本地文件'
      default_extension       = 'XLS'
      default_file_name       = '默认文件名称'
      file_filter             = '文本文件(*.TXT)|*.TXT|Excel 文件 (*.XLS)|*.XLS;*.XLSX|所有文件 (*.*)|*.*|'
      with_encoding           = 'X'
      initial_directory       = 'C:\'
    CHANGING
      file_table              = files
      rc                      = rc
    EXCEPTIONS
      file_open_dialog_failed = 1
      cntl_error              = 2
      error_no_gui            = 3
      OTHERS                  = 4.
  IF sy-subrc <> 0 OR rc < 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
*---Get file name
  READ TABLE files INDEX 1 INTO h_files.
  f_file = h_files-filename.

*----------------------- Method 2 --------------------------------------
PARAMETER: p_file TYPE rlgrap-filename OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = syst-cprog
      dynpro_number = syst-dynnr
      field_name    = ' '
    IMPORTING
      file_name     = p_file.



*----------------------- Method 3 --------------------------------------
PARAMETERS: p_file   LIKE rlgrap-filename MEMORY ID m01.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  DATA: lc_mask TYPE char30.
  lc_mask = 'Excel Files,*.xls,All Files,*.*.'.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_filename     = '*.xls'
      mask             = 'Excel Files,*.xls,All Files,*.*.'
      mode             = 'O'
      title            = '请选择文件'
    IMPORTING
      filename         = p_file
    EXCEPTIONS
      selection_cancel = 1
      OTHERS           = 2.

转载于:https://www.cnblogs.com/rainysblog/p/4143582.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值