ABAP代码实现文件下载

该ABAP代码通过调用GUI前端服务,实现将指定的Excel文件下载到本地。

DATA:
    LV_FILENAME_D  TYPE STRING,      "文件名
    LV_PATH_D      TYPE STRING,      "路径
    LV_FULLPATH_D  TYPE STRING,      "完整路径
    LV_USER_ACTION TYPE I.           "用户操作类型

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG   "调用GUI前端服务选择保存文件对话框
    EXPORTING
      DEFAULT_EXTENSION         = 'xlsx'                   "默认后缀名
      DEFAULT_FILE_NAME         = LC_DEFAULT_FILE_NAME      "默认文件名
      FILE_FILTER               = 'Excel Files (.xlsx)|.xlsx'   "文件过滤器
    CHANGING
      FILENAME                  = LV_FILENAME_D             "返回选择的文件名
      PATH                      = LV_PATH_D                 "返回选择的路径
      FULLPATH                  = LV_FULLPATH_D             "返回选择的完整路径
      USER_ACTION               = LV_USER_ACTION            "返回用户操作类型

FILE_ENCODING             =
  EXCEPTIONS
CNTL_ERROR                = 1
ERROR_NO_GUI              = 2
NOT_SUPPORTED_BY_GUI      = 3
INVALID_DEFAULT_FILE_NAME = 4
OTHERS                    = 5.
IF SY-SUBRC <> 0.                                           "处理异常情况
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  RETURN.
ENDIF.

IF LV_USER_ACTION = 0 AND LV_FULLPATH_D IS NOT INITIAL.       "如果用户点击了“保存”并且选择了一个路径
  CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD( EXPORTING BIN_FILESIZE = LV_BYTECOUNT          "二进制文件大小
                                                FILENAME     = LV_FULLPATH_D         "文件路径和名字
                                                FILETYPE     = 'BIN'                 "文件类型
                                       CHANGING DATA_TAB     = LT_FILE_TAB ).        "要下载的数据表
ENDIF.                                                      
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值