使用SAP C4C OData服务和CPI将多个产品添加到机会

2020-08-14 03:11发布

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

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


我们正在使用SAP C4C OData服务和CPI与3rd Part App集成。 在我们的一种情况下,我们需要将产品数据添加到以前创建的机会中。但是,该服务一次只能添加1个新产品。

示例请求: https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/OpportunityCollection(' ')/OpportunityItem

正文:{" ParentObjectID":" "," OpportunityID":" 2702"," ProductID":" 10000010"," Quantity":" 34"}

结果:机会项目已创建

我们需要知道如何利用该服务,以便我们可以仅通过"一个"服务呼叫(而不是针对每个产品的呼叫)创建所有机会产品。 尤其是增加了添加产品的数量。

更多测试信息:

当我们尝试使用OpportunityItemCollection实体并发送了多个机会项目时,该服务仅处理了第一个项目,将其添加到机会中,而忽略了其余的项目。

谢谢。

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

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


我们正在使用SAP C4C OData服务和CPI与3rd Part App集成。 在我们的一种情况下,我们需要将产品数据添加到以前创建的机会中。但是,该服务一次只能添加1个新产品。

示例请求: https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/OpportunityCollection(' ')/OpportunityItem

正文:{" ParentObjectID":" "," OpportunityID":" 2702"," ProductID":" 10000010"," Quantity":" 34"}

结果:机会项目已创建

我们需要知道如何利用该服务,以便我们可以仅通过"一个"服务呼叫(而不是针对每个产品的呼叫)创建所有机会产品。 尤其是增加了添加产品的数量。

更多测试信息:

当我们尝试使用OpportunityItemCollection实体并发送了多个机会项目时,该服务仅处理了第一个项目,将其添加到机会中,而忽略了其余的项目。

谢谢。

付费偷看设置
发送
8条回答
zhangjiyang1323
1楼 · 2020-08-14 03:27.采纳回答

约翰,嗨,

有时,您在批处理请求中得到状态201。 但是,有效负载可能存在问题。 检查有效载荷中的空间,因为它对空间敏感,或者您可以复制粘贴上面的有效载荷并进行修改。

此外,请检查是否已在标题部分中维护了Content-Type,如下面的屏幕截图所示。

如果仍未创建记录,请向SAP引发事件。

此致

Palani。

zZ12138
2楼-- · 2020-08-14 03:45

亲爱的Palani,

非常感谢您提供更新和帮助。

这实际上是缺少的东西。 现在,您可以使用您之前发送的批处理请求有效负载示例以及上面的适当请求参数,将多个产品添加到业务机会中。

谢谢与问候

John

My梦
3楼-- · 2020-08-14 03:39

嗨,约翰,

我不得不尝试,但首先想到的是使用/$ batch端点。 您是否考虑过或者已经尝试过?

借助该功能,通常可以在一个POST调用中执行甚至不同的操作。

BR Tobias

野沐沐
4楼-- · 2020-08-14 03:26

亲爱的Tobias,

确定这是一个有效的选项。 但是,我们在那里仍然面临着一些问题,因此我们目前正在寻找最佳的选择。

BR约翰

clever101
5楼-- · 2020-08-14 03:32

你好约翰,

也许这些链接会为您提供帮助。

https://apps.support.sap .com/sap/support/knowledge/zh/2330688

https://github.com/SAP/C4CODATAAPIDEVGUIDE

最好的问候

Peter

d56caomao
6楼-- · 2020-08-14 03:36

亲爱的彼得,

感谢您的帮助,我们将对他们进行调查:)

最诚挚的问候,

John

bbpeas
7楼-- · 2020-08-14 03:52

嗨,约翰,

请使用以下批处理请求。 从Postman调用此请求后,记录已成功创建。

URL:https://myXXXXX.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/$batch

有效载荷:

-批量
 内容类型:多部分/混合;  boundary = changeset_guid_01

 --changeset_guid_01
 内容类型:application/http
 内容传输编码:二进制

 POST OpportunityItemCollection HTTP/1.1
 内容类型:application/json
 内容ID:1
 内容长度:10000

 {
 " ParentObjectID":" XXXXXXXXX",
 " ProductID":" XXXXXXX",
 "数量":" 1"
 }

 --changeset_guid_01
 内容类型:application/http
 内容传输编码:二进制

 POST OpportunityItemCollection HTTP/1.1
 内容类型:application/json
 内容ID:2
 内容长度:10000

 {
 " ParentObjectID":" XXXXXX",
 " ProductID":" XXXXX",
 "数量":" 1"
 }

 --changeset_guid_01--
  - 批量 - 
 

您也可以参考博客,

https://blogs.sap.com/2020/04/06/how-to-send-a-odata-batch-request-to-sap-cloud-for -customer-system-using-postman-tool/

如果此解决方案解决了您的问题,请将其标记为"已回答"。

一周热门 更多>