通过FM SAP_WAPI_ATTACHMENT_ADD附加的文件已损坏

2020-08-13 18:36发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 大家好, 我创建了一个...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我创建了一个程序,用于读取文档并将其插入工作流程中。 文件已正确插入,但是当我尝试打开文件时,会显示一条消息,指出文件已损坏或格式无法识别。

知道这是什么吗?谢谢。这是将文件插入到文件中的程序 工作流程:

数据:srgbtbrel的ta_srgbtbrel类型标准表,
wa_srgbtbrel类型srgbtbrel,
V_DOCUMENT_ID像SOFOLENTI1-DOC_ID,
T_OBJECT_CONTENT类型表SOLISTI1的表头带有标题行的SODOCTI1 LINE,
ZSWR_ATT_ID像SWR_ATT_ID,
ZSWR_ATT_HEADER的类型SWR_ATT_HEADER,
ZXSTRING的类型XSTRING,
ZVAR1的类型WSRM_ERROR-WSRM_DIRECTION,
V_RETCODE的SY-SUBRC的ESS-SUBRC,


从srgbtbrel
中选择*
到表ta_srgbtbrel
中,其中instid_a eq V_BANFN
和typeid_a eq'BUS2105'
和catid_a eq'BO'。

>在ta_srgbtbrel处循环进入wa_srgbtbrel。
v_document_id = wa_srgbtbrel-instid_b。

调用功能'SO_DOCUMENT_READ_API1'
导出
DOCUMENT_ID = V_DOCUMENT_ID
*
DOCUMENT_DATA = T_DOCUMENTDATA

* OBJECT_HEADER =
OBJECT_CONTENT = T_OBJECT_CONTENT
* OBJECT_PARA =
* OBJECT_PARB =
*附件列表=
* RECEIVER_LIST =
* CONTENTS_HEX =
例外情况
DOCUMENT_ID_NOT_EXIST = 1
OPERATION_NO_AUTHORIZATION = 2
X_ERROR = 3
其他=4。

ZVAR1 = T_DOCUMENTDATA-DOC_SIZE。
* ZXSTRING [] = T_OBJECT_CONTENT []。

呼叫功能'SCMS_BINARY_TO_XSTRING'
导出
INPUT_LENGTH = ZVAR1
* FIRST_LINE = 0
* LAST_LINE = 0
导入
缓冲区= ZXSTRING
表格
BINARY_TAB = T_OBJECT_CONTENT
*例外情况
*失败= 1
*其他= 2

如果SY-SUBRC <> 0 。
*在此处实施适当的错误处理
ENDIF。




ZSWR_ATT_HEADER-FILE_TYPE ='B'。
ZSWR_ATT_HEADER-FILE_NAME = T_DOCUMENTDATA-OBJ_DESCR。< br>将T_DOCUMENTDATA-OBJ_TYPE转换为小写。
ZSWR_ATT_HEADER-FILE_EXTENSION = T_DOCUMENTDATA-OBJ_TYPE。
ZSWR_ATT_HEADER-LANGUAGE = T_DOCUMENTDATA-OBJ_LANGUAGE。

呼叫功能'SAP WORKITEM_ID = V_WI_ID
ATT_HEADER = ZSWR_ATT_HEADER
* ATT_TXT = ZXSTRING
ATT_BIN = ZX STRING
DOCUMENT_OWNER = SY-UNAME
语言= SY-LANGU
DO_COMMIT ='X'
* COMMENT_SEMANTIC =''
CHECK_INBOX_RESTRICTION ='X'
导入
RETURN_CODE = V_RETCODE
ATT_ID = ZSWR_ATT_ID
* DOC_SIZE =
表格
MESSAGE_LINES = T_MESSAGE。
* MESSAGE_STRUCT =

ENDLOOP。

(50.9 kB)