DataHub-自定义/覆盖订单Idoc

2020-09-29 17:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)自1个月以来,我一直在使用数据中...

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

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


自1个月以来,我一直在使用数据中心,只是从SAP导入主数据或从Hybris向SAP ERP下达销售订单。

当前正在尝试自定义iDoc结构(要用ZSALESORDERCREATEFROMDAT202代替SALESORDERCREATEFROMDAT202),其中也包括标头值和iDocType的更改。 尝试了如下所示的少量努力,但未获得任何成功:

  1. 从新的idoc.xsd创建的自定义iDoc类,替换为自定义的* .datahub-extension-spring.xml(别名为sapSalesOrderCreateFromDat202ClassProvider)

  2. 替换并尝试覆盖某些标头类型,例如具有TransformationExpression = $ {saporder.zordermessagetype}的MESTYP,其中saporder.zordermessagetype在属性中定义。

我知道我们缺乏扩展它的文档,还尝试在此处查找: https://answers.sap.com/questions/12752626/customize-sap-datahub-integration.html

我可以从一些指针/指导开始以达到相同的目的。

6条回答
落灬小鱼
2020-09-29 18:53

想简要介绍到目前为止已尝试的方法:

** 方法1 :

在自定义扩展名(取决于saporder)中,基于可从客户端获得的自定义idoc xsd(其中SALESORDERCREATEFROMDAT202已扩展为ZSALESORDERCREATEFROMDAT202)创建了自定义iDoc类,并在我的自定义* -extension-spring.xml中将其注册为 :

  
   
      
          <!-允许以下行没有行中断,即使关闭值标签也不行->
          #{T(com.maxim.datahub.order.zsalesordercreatefromdata202.ZSALESORDERCREATEFROMDAT202)} 
      
  

  

意图是要替换" sapSalesOrderCreateFromDat202ClassProvider"这个自定义的iDoc类,该类确实无法解决。

方法2:除上述内容外,还尝试覆盖(名称为" SapErpSystem")来替换某些标头类型,例如,使用带有TransformationExpression = $ {saporder.zordermessagetype}的MESTYP,其中定义了saporder.zordermessagetype 在自定义" saporder.properties"文件中。

方法3:除了#1和#2,还尝试覆盖整个类型系统,其中每个项目类型都被新的自定义项目替换。 例如:

   ZSALESORDER_CREATEFROMDAT202 $ EDI_DC40 
       idockeyfield = SALESDOCUMENTIN 
       .......
  

以及所有在extension-domain.xml中创建和注册的域接口。 但这在加载扩展程序时导致了一些例外。

尽管尝试了上述所有方法,但输出的iDoc结构仍保持不变。

一周热门 更多>