点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我想知道如何在DMS...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我想知道如何在DMS...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我想知道如何在DMS中维护链接的SAP对象?
是否有任何相关教程? 我想创建一个新的。
提前感谢
最好的问候
费利克斯
2018-02-27-16h30-20.jpg (82.4 kB)
您好,Felix,
首先,您需要了解DIR(文档信息记录)的创建。 然后,您需要定义特征。 最后,您需要将文件或附件链接到DIR。
在下面找到一些代码以创建DIR。
数据:)。移至ls_characteristicvalues。 将ls_characteristicvalues附加到lt_characteristicvalues。
br>表格)。 -documenttype = es_dir_dtls-dokar。
-documentnumber = es_dir_dtls-doknr。
-documentpart = es_dir_dtls-doktl。
-documentversion = es_dir。 。
到FC
。
-documenttype = es_dir_dtls-dokar 。
-documentnumber = es_dir_dtls-doknr。
-documentpart = es_dir_dtls-doktl。
-documentversion = es_dir_dtls-dokvr。
>表格
ls_doc_change TYPE bapi_doc_drawx2,
ls_characteristicvalues TYPE bapi_characteristic_values类型,
lt_characteristicvalues TYPE tt_bapi_characteristic_values。
*
CLEAR:ev_docnumber,d,_dir *获取项目号。
读取表xt_characteristicvalues用KEY charname = c_xg_001分配FIELD-SYMBOL(
如果sy-subrc是INITIAL。
将
清除:ls_characteristicvalues。
ENDIF。
***从其余特征中删除项目编号
在特征名= c_xg_001的地方删除xt_characteristicvalues。
E IF iv 1 iv_flag EQ 3或iv_flag EQ4。
*根据非cbe表单的导入参数创建文档信息记录。
IF is_form_identifier-cbe_form EQ空间。
调用功能'BAPI_DOCUMENT_CREATE2'
导出
documentdata = is_doc
pf_http_dest = c_htt p_dest
pf_ftp_dest = c_ftp_dest
导入
documenttype = es_dir_dtls-doknr
documentnumber = es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-d
特征值= lt_characteristicvalues []
类分配= xt_classallocations []
文档描述= xt_documentdescriptions []
对象链接= xt_objectlinks []
文档文件= xt_documentfiles []。
ELSE。
br> *根据cbe表单的导入参数创建文档信息记录。
DATA(ls_doc)= is_doc。
ls_doc-用户名= sy-uname。
ls_doc-createdate = sy-datum。
ls_doc-authoritygroup =空格。
*
调用功能'BAPI_DOCUMENT_CREATE2'
导出
documentdata = ls_doc
pf_http_dest = c_http_dest
pf_ftp_dest = c_ftp_dest
IMPORTING
类型 -dokar
文档编号= es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-dokvr
return = es_return
表
特征值= lt_characteristicvalues []
类分配= xt_classallocations []
文档描述= xt_documentdescriptions []
对象链接= xt_objectlinks []。
如果es_return_type NA c_ms
*执行BAPI来执行commit
调用功能'BAPI_TRANSACTION_COMMIT'。
等待最多1秒。
*
在xt_documentfiles处分配ASSIGNING FIELD-SYMBOL(
>
ENDLOOP。
UNASSIGN
清除:es_return。
*检入文档文件
调用功能'BAPI_DOCUMENT_CHECKIN2'
导出
文档类型= es_dir_dtls-dokar
documentnumber = es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-dokvr
我 MPORTING
return = es_return
TABLES
documentfiles = xt_documentfiles []。
ENDIF。
ENDIF。
*
IF es_return型CA c_msg_error_abort。
*执行外部 使用BAPI进行回滚
调用功能'BAPI_TRANSACTION_ROLLBACK'。
ELSE。
如果iv_docutype = c_doctype_u。 "'U'。
ev_docnumber = es_dir_dtls-doknr。
ENDIF。
呼叫功能'BAPI_TRANSACTION_COMMIT'。
等待最多1秒。
***更新其余特征
清除:ls_doc。
ls_doc-documenttype = es_dir_dtls-dokar。
ls_doc-documentversion = es_dir_dtls-dokvr。
ls_doc-documentpart = es_dir_dtls-doktl。
ls_doc-documentnumber = es_dir_d >呼叫功能'BAPI_DOCUMENT_CHANGE2'
导出
文档类型= es_dir_dtls-doknr
documentnumber = es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-dokvr
documentversion = es_dir_dtls-dokvr > documentdatax = ls_doc_change
导入
return = es_return
表格
classallocations = xt_classallocations []
特征值= xt_characteristicvalues []。
如果es_return型CA c_error_abort。
呼叫功能 'BAPI_TRANSACTION_ROLLBACK'。
ELSE。
通话功能'BAPI_TRANSACTION_COMMIT'。
等待最多1秒。
ENDIF。
*
* *的更新结构 检查/执行
如果is_form_identifier-ei_ins_rprt_po = abap_true或
is_form_identifier-ei_exp_rprt_po = abap_true。 = es_dir_dtls-dokvr。
xs_eirptdms-c_doc_par = es_dir_dtls-doktl。
ENDIF。
*如果es_dir_dtls-doknr不是INITIAL,则更新DIR
的外部编号。 方法update_ext_number
导出
iv_doctype = es_dir_dtls-dokar
iv_docno = es_dir_dtls-doknr
iv_docpart = es_dir_dtls-doktl
iv_docver = es_dir_dtls-doks
。 *提交并更改状态
,如果is_form_identifier-rem_exp_po = abap_true或
is_form_identifier-rem_opp_po = abap_true或
is_form_identifier-rem_ari_po = abap_true或
is_form_identifier-rem_ap_po_is = abap_true OR
is_form_identifier-rem_del_po = abap_true OR
is_form_identifier-rem_subitem_po = ab ap_true OR
is_form_identifier-urg_del_po = abap_true OR
is_form_identifier-ei_pim_po = abap_true OR
is_form_identifier-ei_ari_po = abap_true OR
is_form_identifier-ei_opp_po = abap_true OR
rp is_form_identifier-ei_exp_rprt_po = abap_true或
is_form_identifier-ei_waiver_po = abap_true或
is_form_identifier-ei_anncmnt_po = abap_true OR
is_form_identifier-rem_rfq = abap_true = <-> OR
is_form_identifier-po_form_price = abap_true或"
is_form_identifier-po_form_unprice = abap_true OR
is_form_identifier-inq_rfq = abap_true OR
is_form_identifier-contract_form = abap_true *
呼叫方法set_status
导出
iv_documenttype = es_dir_dtls-doknr
iv_documentnumber = es_dir_dtls-doknr
iv_documentpart = es_dir_dtls-doktl
iv_documentversion = es_dir_d_dd vr。
ENDIF。
ENDIF。
*
ELSE。
*创建DIR的新版本
CLEAR es_return。
IF is_form_identifier-cbe_form NE abap_true。
*非CBE表单
呼叫功能'BAPI_DOCUMENT_CREATE2'
导出
documentdata = is_doc
pf_http_dest = c_http_dest
pf_ftp_dest = c_ftp_dest
IMPORTING
文档类型= es_dir_dtls-do = es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-dokvr
return = es_return
表格
特征值= lt_characteristicvalues []
classallocations = xt_class = xt_documentdescriptions []
对象链接= xt_objectlinks []
文档文件= xt_documentfiles []。
ELSE。
* CBE表单
ls_doc = is_doc。
ls_doc用户名= sy-uname。
ls_doc-createdate = sy-datum。
ls_doc-authoritygroup =空间。
*
调用功能'BAPI_DOCUMENT_CREATE2'
导出
documentdata = ls_doc
pf_http_dest = c_http_d est
pf_ftp_dest = c_ftp_dest
导入
documenttype = es_dir_dtls-doknr
documentnumber = es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-doks = d br> TABLES
特征值= lt_characteristicvalues []
类分配= xt_classallocations []
文档描述= xt_documentdescriptions []
对象链接= xt_objectlinks []。
如果es_return-type NA c_msg_error_abort。 执行BAPI来执行提交
调用功能'BAPI_TRANSACTION_COMMIT'。
等待最多1秒。
*
循环xt_documentfiles分配
ENDLOOP。
ls_documentfiles>。
清除:es_return。
*检入文档文件
CALL FUNCTION'BAPI_DOC UMENT_CHECKIN2'
导出
文档类型= es_dir_dtls-dokar
文档编号= es_dir_dtls-doknr
documentpart = es_dir_dtls-doktl
documentversion = es_dir_dtls-dokvr
导入
documentfiles = xt_documentfiles []。
ENDIF。
ENDIF。
*
如果es_return型CA c_error_abort。 "'EA'。
*使用BAPI执行外部回滚
CALL FUNCTION'BAPI_TRANSACTION_ROLLBACK'。
ELSE。
CALL FUNCTION'BAPI_TRANSACTION_COMMIT'。
等待最多1秒。
* **更新其余特征
CLEAR:ls_doc。
ls_doc-documenttype = es_dir_dtls-dokar。
ls_doc-documentversion = es_dir_dtls-dokvr。
ls_doc-documentpart = es_dir_dtls-doktl。
-documentnumber = es_dir_dtls-doknr。
呼叫功能'BAPI_DOCUMENT_CHANGE2'
导出
documenttype = es_dir_dtls-dokarn
documentnumber = es_dir_dtls-doknr
documentpart = es_dir_dtls-dok-r dokvr
documentdata = ls_doc
documentdatax = ls_doc_change
导入
return = es_return
TABLES
classallocations = xt_classallocations []
特征值= xt_characteristicvalues []。
如果es_return- 类型CA c_error_abort。
呼叫功能'BAPI_TRANSACTION_ROLLBACK'。
否则。
呼叫功能'BAPI_TRANSACTION_COMMIT'。
等待最多1 SECONDS。
ENDIF。
如果is_form_identifier-ei_ins_rprt_po = abap_true或
is_form_identifier-ei_exp_rprt_po = abap_true。
xs_eirptdms-c_doc_num = es_dir_dtls-d_s_ds-d_s_dms-doks-doknr。 > xs_eirptdms-c_doc_ver = es_dir_dtls-dokvr。
xs_eirptdms-c_doc_par = es_dir_dtls-doktl。
ENDIF。
*为DIR
IF_es_ok_d_ntl IDR更新DIR
的外部编号
呼叫方法update_ext_number
导出
iv_doctype = es_dir_dtls-doknr
iv_docno = es_dir_dtls-doknr
iv_docpart = es_dir_dtls-doktl
iv_docver = es_dir_dtls。 >
*将DIR的状态设置为FC
呼叫方法set_status
导出
iv_documenttype = es_dir_dtls-dokar
iv_documentnumber = es_dir_dtls-doknr
iv_documentpart = es_dir_dtls-doktl
iv es_dir_dtls-dokvr。
ENDIF。
ENDIF。
一周热门 更多>