SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读448次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/details/132469977
应用场景说明:
1 SAP提供了一个二进制文件上传存储的位置,通过SMW0事务码进入,初次使用需要激活。
2 一般在批导程序中需要下载批导模版,那么这个excel文件就是存放于此。
文件上传操作过程说明:
SMW0,
WWWDATA
疑问1: SAP 与 JAVA 二进制和十六进制是否是一样的 ?从数据的存储上,应该是十六进制,也就是,二进制 转 十六进制存储。
文件下载操作过程说明:
代码实现过程说明:
AT SELECTION-SCREEN.
CASE sscrfields-ucomm .
WHEN 'FC01'.
PERFORM download_template USING '批导模版.xlsx' 'ZMM028'.
WHEN OTHERS.
ENDCASE.
FORM download_template USING pu_filename pu_objid.
*& 下载模版
DATA: ls_objdata LIKE wwwdatatab.
DATA: lv_filename TYPE string,
lv_fullpath TYPE string VALUE 'C:\',
lv_path TYPE string VALUE 'C:\'.
DATA: lv_errtxt TYPE string.
DATA: lv_destination LIKE rlgrap-filename.
DATA: lv_rc LIKE sy-subrc.
DATA: lv_fileup LIKE rlgrap-filename.
lv_filename = pu_filename .
*& 调用保存对话框
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
default_extension = 'xlsx'
default_file_name = lv_filename
initial_directory = 'C:\'
CHANGING
filename = lv_filename
path = lv_path
fullpath = lv_fullpath
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
IF sy-subrc NE 0.
MESSAGE '不能打开EXCEL' TYPE 'E'.
ENDIF.
CHECK lv_fullpath IS NOT INITIAL .
lv_fileup = lv_fullpath.
ls_objdata-relid = 'MI' .
ls_objdata-objid = pu_objid .
lv_destination = lv_fullpath .
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
key = ls_objdata
destination = lv_destination
IMPORTING
rc = lv_rc.
IF lv_rc NE 0.
CONCATENATE '模板文件:' ls_objdata-objid '下载失败' INTO lv_errtxt.
MESSAGE lv_errtxt TYPE 'E'.
ELSE.
MESSAGE '模版下载成功' TYPE 'S'.
ENDIF.
ENDFORM.