如何使用IDoc通过DataHub删除收货地址并向地址开票?

2020-09-05 23:41发布

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

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


如何使用IDoc通过DataHub删除收货地址和收货地址?

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

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


如何使用IDoc通过DataHub删除收货地址和收货地址?

付费偷看设置
发送
4条回答
callcenter油条
1楼 · 2020-09-06 00:21.采纳回答

我们找到了 answer 。 有点奇怪,但是1)我需要在文件sapcustomer-raw-datahub-extension-spring.xml中删除spring bean

  
       
   

  

2)在其中添加我想删除的地址的sapcustomer-target-datahub-extension.xml

  
       translatorEventCall 
       false 
       false 
       messageFunction 
       @address [translator = com.sap.hybris.sapcustomerb2b.inbound.B2BUnitAddressDeletionNotificationTranslator] 
       false 
  

  

3)发送IDoc中的E1KNA1M-E1KNVVM-E1KNVPM-MSGFN在DEBMAS中为003

DafaDDDa
2楼-- · 2020-09-06 00:32

Hi,

您能提供上述查询的任何指针吗? 我被地址删除更改指针卡住了。 即使OOTB可用。

谢谢

南山jay
3楼-- · 2020-09-06 00:45

Sasha,

据我所知,在customer-b2b-canonical扩展内的自定义分组处理程序中,从原始数据中提取了账单和收货地址。 出于这个原因,我怀疑仅删除仅包含运送和开票地址的iDoc的一部分的尝试是否会成功。 删除基于"全有或全无"的原理,因此,如果您要向iDoc发送客户和地址信息,则客户也将被删除。

但是,如果您知道iDoc中的哪个字段成为RawCustomer类型的sourceId字段,则可以直接在规范模型中删除数据,而无需使用iDocs。 您只需将DELETE请求发送到这些端点:

 /pools/{poolName}/items/CanonicalCustomerAddressRel?keyFields=%7B%22customerId%22%3A%22{iDoc_field_value_for_RawCustomer.sourceId}%22%2C%22addressId%22%3A%22{iDoc_field_value_for_RawCustomer。  }%22%2C%22addressType%22%3A%22billTo%22%7D

  

您可能已经发现,keyFields的值是URL编码的JSON映射表示。 对于送货地址,您需要在addressType字段中使用shipTo值。 这些请求将使客户与送货地址或帐单地址分离,但不会删除客户或地址。 要删除地址,您需要将CanonicalCustomerAddressRel替换为CanonicalAddress,并在keyFields映射中仅保留addressId; 对于客户,请使用CanonicalCustomer,并且在keyFields映射中仅使用customerId。

根据我的知识,这是我能提供的最好的。 希望能帮助到你。

lukcy2020
4楼-- · 2020-09-06 00:34

您好,您采用什么方法删除要寄送的帐单?

一周热门 更多>