将文件从应用程序服务器(AL11)上载到DMS

2020-08-16 12:51发布

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

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


大家好,

我的AL11中存在PDF文件,并且想使用BAPI在DMS系统中上载相同的文件:BAPI_DOCUMENT_CHANGE2。 首先使用BAPI创建DMS文档编号:BAPI_DOCUMENT_CREATE,然后通过提供应用服务器路径和文件名,调用change BAPI来附加来自应用服务器的文档。 伙计们,这很紧急,从过去两天开始一直在尝试,但未能实现。

您能否建议我,是否可以将文件从Al11上传到DMS? 似乎有可能,但找不到方法。

以下链接: ls_documentdata-description = lv_dartxt。"'正在测试DMS-Ecratum'。
ls_documentdata-username = sy-uname。
ls_documentdata-statusextern ='RE'。

调用功能'BAPI_DOCUMENT_CREATE'
导出
documentdata = ls_documentdata
IMPORTING
doctype = dms_key-dokar
docnumber = dms_key-doknr
docpart = dms_key-doktl
_docversion = d dokvr
return = ls_return。

通话功能'BAPI_TRANSACTION_COMMIT'
EXPORTING
等待= abap_true
IMPORTING
return = ls_return。

***** ----通过从应用程序服务器获取文件来附加文档

类型:ts_document_hdr的开始,
TYPE dokar的类型,
数字TYPE doknr,
部件TYPE doktl_d,
版本TYPE dokvr,
ts_document_hdr的结尾。

数据:ls_document_hdr类型ts_document_hdr,
" ls_documentdata类型bapi_doc_drawx2,
ls_documentdatax类型bapi_doc_drawx2。 doknr。
ls_document_hdr-part = dms_key-doktl。
ls_document_hdr-version = dms_key-dokvr。

*文档数据
ls_documentdata1-wsapplication2 ='PDF'。" p_filty。
ls_documentdatax-wsapplication2 = abap_true。
ls_documentdata1-docfile2 ='/usr/sap/trans/
FlowChart.pdf 。 " p_path && p_filnm。
ls_documentdatax-docfile2 = abap_true。

*文档文件
ls_files-documenttype = ls_document_hdr-type。
ls_files-documentnumber = ls_document_hdr-number。
ls_files- documentpart = ls_document_hdr-part。
ls_files-documentversion = ls_document_hdr-version。
ls_files-docpath ='/usr/sap/trans/'。" p_path。
ls_files-docfile ='
FlowChart.pdf "。 " p_filnm。
ls_files-description ='文件名'&&'/usr/sap/trans/'&&' FlowChart .pdf '。
ls_files-wsapplication ='PDF'。" p_filty。
* ls_files-sourcedatacarrier ='DV-1'。 " p_datcar。
ls_files-originaltype ='1'。
ls_files-storagecategory ='DMS_C1_ST'。"在这里尝试使用" SAP-SYSTEM"
附加ls_files到lt_files。

*附加
调用功能'BAPI_DOCUMENT_CHANGE2'
导出
documenttype = ls_document_hdr-type
documentnumber = ls_document_hdr-number
documentpart = ls_document_hdr-part
documentversion = ls_document_hdr-version < br> documentdata = ls_documentdata1
documentdatax = ls_documentdatax
导入
return = ls_return
TABLES
documentfiles = lt_files。

如果ls_return-type NE'E'。
呼叫功能'BAPI_TRANSACTION_COMMIT'
导出
等待= abap_true。
消息s000(zz)与'成功'。
ELSE。
呼叫功能'BAPI_TRANSACTION_ROLLBACK'。
消息ID ls_return- id TYPE ls_return-type NUMBER ls_return-number
带ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4。
ENDIF。

运行上述代码后,出现以下错误。

根据要求,非常紧急。请做需要的事

致谢

Madan Chandragiri

(19.6 kB)

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

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


大家好,

我的AL11中存在PDF文件,并且想使用BAPI在DMS系统中上载相同的文件:BAPI_DOCUMENT_CHANGE2。 首先使用BAPI创建DMS文档编号:BAPI_DOCUMENT_CREATE,然后通过提供应用服务器路径和文件名,调用change BAPI来附加来自应用服务器的文档。 伙计们,这很紧急,从过去两天开始一直在尝试,但未能实现。

您能否建议我,是否可以将文件从Al11上传到DMS? 似乎有可能,但找不到方法。

以下链接: ls_documentdata-description = lv_dartxt。"'正在测试DMS-Ecratum'。
ls_documentdata-username = sy-uname。
ls_documentdata-statusextern ='RE'。

调用功能'BAPI_DOCUMENT_CREATE'
导出
documentdata = ls_documentdata
IMPORTING
doctype = dms_key-dokar
docnumber = dms_key-doknr
docpart = dms_key-doktl
_docversion = d dokvr
return = ls_return。

通话功能'BAPI_TRANSACTION_COMMIT'
EXPORTING
等待= abap_true
IMPORTING
return = ls_return。

***** ----通过从应用程序服务器获取文件来附加文档

类型:ts_document_hdr的开始,
TYPE dokar的类型,
数字TYPE doknr,
部件TYPE doktl_d,
版本TYPE dokvr,
ts_document_hdr的结尾。

数据:ls_document_hdr类型ts_document_hdr,
" ls_documentdata类型bapi_doc_drawx2,
ls_documentdatax类型bapi_doc_drawx2。 doknr。
ls_document_hdr-part = dms_key-doktl。
ls_document_hdr-version = dms_key-dokvr。

*文档数据
ls_documentdata1-wsapplication2 ='PDF'。" p_filty。
ls_documentdatax-wsapplication2 = abap_true。
ls_documentdata1-docfile2 ='/usr/sap/trans/
FlowChart.pdf 。 " p_path && p_filnm。
ls_documentdatax-docfile2 = abap_true。

*文档文件
ls_files-documenttype = ls_document_hdr-type。
ls_files-documentnumber = ls_document_hdr-number。
ls_files- documentpart = ls_document_hdr-part。
ls_files-documentversion = ls_document_hdr-version。
ls_files-docpath ='/usr/sap/trans/'。" p_path。
ls_files-docfile ='
FlowChart.pdf "。 " p_filnm。
ls_files-description ='文件名'&&'/usr/sap/trans/'&&' FlowChart .pdf '。
ls_files-wsapplication ='PDF'。" p_filty。
* ls_files-sourcedatacarrier ='DV-1'。 " p_datcar。
ls_files-originaltype ='1'。
ls_files-storagecategory ='DMS_C1_ST'。"在这里尝试使用" SAP-SYSTEM"
附加ls_files到lt_files。

*附加
调用功能'BAPI_DOCUMENT_CHANGE2'
导出
documenttype = ls_document_hdr-type
documentnumber = ls_document_hdr-number
documentpart = ls_document_hdr-part
documentversion = ls_document_hdr-version < br> documentdata = ls_documentdata1
documentdatax = ls_documentdatax
导入
return = ls_return
TABLES
documentfiles = lt_files。

如果ls_return-type NE'E'。
呼叫功能'BAPI_TRANSACTION_COMMIT'
导出
等待= abap_true。
消息s000(zz)与'成功'。
ELSE。
呼叫功能'BAPI_TRANSACTION_ROLLBACK'。
消息ID ls_return- id TYPE ls_return-type NUMBER ls_return-number
带ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4。
ENDIF。

运行上述代码后,出现以下错误。

根据要求,非常紧急。请做需要的事

致谢

Madan Chandragiri

(19.6 kB)
付费偷看设置
发送
9条回答
compass1988
1楼-- · 2020-08-16 13:04

在您引用的博客中,您的代码中有两个未使用的参数。

 通话功能" BAPI_DOCUMENT_CREATE2"
   出口
     documentdata = ls_documentdata
     pf_ftp_dest ='SAPFTPA'<----
     pf_http_dest ='SAPHTTPA'<----
 
xfwsx85
2楼-- · 2020-08-16 13:17

嗨,桑德拉,

请找到以下代码。

清除ls_documentdata。
ls_documentdata-documenttype = dms_key-dokar。 "'ZRM'。
ls_documentdata-description = lv_dartxt。"'正在测试DMS-Ecratum'。
ls_documentdata-username = sy-uname。
ls_documentdata-statusextern ='RE'。

ls_drat-language ='EN'。
ls_drat-description ='测试文件'。
将ls_drat附加到lt_drat。

清除ls_files。
ls_files-originaltype ='1' 。
ls_files-storagecategory ='SAP-SYSTEM'。
ls_files-docpath ='/usr/sap/trans/'。
ls_files-docfile =' example.pdf '。
ls_files-description ='测试 file.pdf '。
ls_files-wsapplication ='PDF'。
ls_files-language = sy-langu。
将ls_files附加到lt_files。

呼叫功能'BAPI_DOCUMENT_CREATE2'
导出
documentdata = ls_documentdata
pf_ftp_dest ='SAPFTPA'
pf_http_dest ='SAPHTTPA'
IMPORTING
documenttype = lv_docty
documentnumber = lv_docn
documentpart = lv_docpr
documentversion = lv_docvr
return = ls_ret
表格
documentfiles = lt_files

documentdescriptions = lt_drat。

如果ls_ret类型的NE'E'。

运行时遇到错误

软件心理学工程师
3楼-- · 2020-08-16 13:23

检查授权对象" S_GUI" ID" ACTVT"字段" 60"。

打个大熊猫
4楼-- · 2020-08-16 13:20

最终在此处查看我发布的代码。。 p>

ZJXianG
5楼-- · 2020-08-16 13:09
何必丶何苦呢
6楼-- · 2020-08-16 13:18

嗨,桑德拉,

非常感谢您提供的代码,但仍然出现sam错误。 创建了dummp程序并在后台运行。 但是没有运气。 还有其他建议吗?...

致谢

Madan Chandrgairi

一周热门 更多>