将PO附件传输到MIRO!

2020-09-07 10:17发布

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

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


大家好,

我有一个要求,用户不必手动将附件添加到MIRO发票,而是从PO转移。

因此,我发现数据库表RBKP和RSEG得到更新后存在一个隐式增强。 在那里,我通过传递适当的参数来使用FM' BINARY_RELATION_CREATE '。 然后,我使用COMMIT WORK来更新附件。

调用功能'BINARY_RELATION_CREATE'
导出
obj_rolea = is_object
obj_roleb =附件
关系类型= reltype
例外情况
其他= 1。

提交工作。

问题是当我通过增强代码调试时,附件被添加,即表SRGBTBREL被更新。 但是如果没有调试,它将无法正常工作。

P.S。 同样,当我使用BELNR和GJAHR作为参数使用相同的代码创建程序时,它可以完美运行,并且附件被添加到发票编号中。

我尝试了所有类似增强程序提交的程序,而不是在那里写代码,没运气。

我还创建了一个更新功能模块,在调用功能模块之前放置了代码并使用set update本地任务,但还是没有运气。

在这里感谢您的帮助。

谢谢。

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

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


大家好,

我有一个要求,用户不必手动将附件添加到MIRO发票,而是从PO转移。

因此,我发现数据库表RBKP和RSEG得到更新后存在一个隐式增强。 在那里,我通过传递适当的参数来使用FM' BINARY_RELATION_CREATE '。 然后,我使用COMMIT WORK来更新附件。

调用功能'BINARY_RELATION_CREATE'
导出
obj_rolea = is_object
obj_roleb =附件
关系类型= reltype
例外情况
其他= 1。

提交工作。

问题是当我通过增强代码调试时,附件被添加,即表SRGBTBREL被更新。 但是如果没有调试,它将无法正常工作。

P.S。 同样,当我使用BELNR和GJAHR作为参数使用相同的代码创建程序时,它可以完美运行,并且附件被添加到发票编号中。

我尝试了所有类似增强程序提交的程序,而不是在那里写代码,没运气。

我还创建了一个更新功能模块,在调用功能模块之前放置了代码并使用set update本地任务,但还是没有运气。

在这里感谢您的帮助。

谢谢。

付费偷看设置
发送
5条回答
我是小鹏鹏啊
1楼-- · 2020-09-07 10:46

GOS附件的问题在于,通常文档必须已经存在才能对其进行附加。 例如,在这整个时间的销售订单中,创建订单时无法添加附件(即使在VA01中也是如此)。 您必须先保存它,然后进入编辑模式并添加附件。

仅仅几年前,通过SD客户参与计划最终实现了一项增强功能,因此可以立即添加附件。

这就是为什么在创建文档时尝试执行相同操作时独立程序(文档对象已经存在,因此很容易将附件链接到它)起作用的原因。 我将首先检查标准事务流是否实际上支持所有此类设计。 并在MIRO中查找有关GOS附件的SAP注释,也许有一些建议。

关于这个问题,还有几个老问题,Google"在MIRO网站上添加GOS附件: sap.com "。

CJones
2楼-- · 2020-09-07 10:33

Asif Inamdar ,提到耶利娜说的话,您需要创建对象。 您可以创建一个远程FM来执行此工作,并在Update任务上调用它,并检查对象是否存在(由于系统可能存在延迟)。

Haoba3210
3楼-- · 2020-09-07 10:35

您好

我们创建MIRO IDOC开具的发票。 IDOC定义已扩展为包括附件。 附件通过功能模块IDOC_INPUT_INVOIC_MRM的增强功能中的以下代码链接到物流MIRO发票。 不知道如何检索附件。 可能有所不同,但下面的代码可能有所帮助。

关于杰克

 METHOD创建。
     数据:
       lo_root类型参考cx_root,
       lt_data TYPE solix_tab,
       lv_length TYPE i,
       ls_soodk TYPE soodk,
       ls_sofolenti1类型sofolenti1。
     检查
       cv_subrc EQ 0 AND
       gv_data不是INITIAL。
 *表格数据
     通话功能'SCMS_XSTRING_TO_BINARY'
       出口
         缓冲区= gv_data
       输入
         output_length = lv_length
       桌子
         binary_tab = lt_data。
 *   根文件夹
     通话功能'SO_FOLDER_ROOT_ID_GET'
       出口
         地区='B'
       输入
         folder_id = ls_soodk
       例外情况
         communication_failure = 1
         owner_not_exist = 2
         system_failure = 3
         x_错误= 4
         其他= 5。
     cv_subrc = syst-subrc。
     如果cv_subrc NE 0。
       edids(导出iv_docnum = iv_docnum iv_msgid ='SWUO'iv_msgno = 804更改ct_edids = ct_edids)。
       返回。
     万一。
 *办公文件
     通话功能'SO_DOCUMENT_INSERT_API1'
       出口
         folder_id = CONV so_obj_id(ls_soodk)
         document_data = VALUE sodocchgi1(obj_descr = gv_obj_des doc_size = lv_length)
         document_type = gv_obj_tp
       输入
         document_info = ls_sofolenti1
       桌子
         contents_hex = lt_data
       例外情况
         folder_not_exist = 1
         document_type_not_exist = 2
         operation_no_authorization = 3
         parameter_error = 4
         x_错误= 5
         enqueue_error = 6
         其他= 7。
     cv_subrc = syst-subrc。
     如果cv_subrc NE 0。
       edids(导出iv_docnum = iv_docnum iv_msgid ='SWUO'iv_msgno = 806 iv_msgv1 = CONV syst_msgv(ls_soodk)更改ct_edids = ct_edids)。
       返回。
     万一。
 *链接
     尝试。
         调用方法cl_binary_relation => create_link
           出口
             is_object_a = VALUE sibflporb(
                             instid = VALUE rbkp_awobj(belnr = iv_belnr gjahr = iv_gjahr)
                             typeid ='BUS2081'
                             catid ='BO')
             is_object_b = VALUE sibflporb(
                             instid = ls_sofolenti1-doc_id
                             typeid ='MESSAGE'
                             catid ='BO')
             ip_reltype ='ATTA'。
       抓住
         cx_obl_parameter_error
         cx_obl_model_error
         cx_obl_internal_error INTO lo_root。
         cv_subrc = 4。
         edids(导出iv_docnum = iv_docnum iv_msgid ='SWUO'iv_msgno = 26 iv_msgv1 = CONV syst_msgv(lo_root-> get_text())更改ct_edids = ct_edids)。
         返回。
     ENDTRY。
   终结法。
 
追夢秋陽
4楼-- · 2020-09-07 10:47

idoc扩展的外观如何? Z segment的定义是什么? 它如何包含XSTRING数据?

樱桃小丸子0093
5楼-- · 2020-09-07 10:41

您好

我不想在此包含该详细信息,因为它与问题无关。 但是,IDOC扩展了一个Z1BASE64段,该段以基本64格式保存附件。 基数为64的ASCII数据将转换为二进制XSTRING数据。

关于Jack

一周热门 更多>