经常会在报表中需要用到文件模板,比如新增和修改物料主数据、上传计划数据等等。而user经常会因为找不到模板而对你进行各种骚扰。所以,何不直接把模板放在服务器上,并在报表上提供相应的按钮供user自行下载呢?下面就是介绍如何上载文件到SAP应用服务器上,并如何在报表中提供按钮给user自行下载。
首先,我们要通过Tcode:CG3Z将本地文件上传至服务其上;
服务器文件相关Tcode:
CG3Y: 下载服务器上文件到前端
CG3Z:上传前端文件到服务器上
AL11: 查看服务器上目录和文件
其次,要在报表上通过相关的函数,将服务器文件下载到本地目录下;
上传和下载服务器文件相关函数:
Function group: C13Z (EHS:Uploading/Downloading Files)
Function Module:C13Z_FILE_DOWNLOAD_BINARY (下载服务器上文件到前端)
Function Module:C13Z_FILE_UPLOAD_BINARY (上传前端文件到服务器上)
示例:
DATA: remote_file LIKE rcgfiletr-ftappl, "服务器文件路径
local_file LIKE rcgfiletr-ftfront. "下载文件路径
remote_file = ‘/NOTES/ZPP153.xlsx’.
CALL FUNCTION ‘WS_FILENAME_GET’
EXPORTING
def_filename = ‘ZPP153規格書.xlsx’
mask = ‘.xlsx;.xlss’
mode = ‘S’
title = ‘Download file’
IMPORTING
filename = local_file
EXCEPTIONS
selection_cancel = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL FUNCTION ‘C13Z_FILE_DOWNLOAD_BINARY’
EXPORTING
i_file_front_end = local_file
i_file_appl = remote_file
i_file_overwrite = ‘X’
EXCEPTIONS
fe_file_open_error = 1
fe_file_exists = 2
fe_file_write_error = 3
ap_no_authority = 4
ap_file_open_error = 5
ap_file_empty = 6
others = 7.
IF sy-subrc = 0.
MESSAGE S004 WITH ‘下载成功:’ local_file.
ELSE.
MESSAGE E004 WITH ‘下载失败!’.
ENDIF.
ELSEIF sy-subrc <> 1.
MESSAGE E004 WITH ‘请选择正确的文件路径和名称!’.
ENDIF.
转自:https://blog.csdn.net/xuwj2006/article/details/49926423?spm=1001.2014.3001.5506