C4C的OData关联和导航无法按预期工作,Etag错误

2020-09-13 14:29发布

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

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


亲爱的

我需要从Sales Quote获取DocumentOutputRequest,这不过是SalesQuote的Output选项卡,其中包含已发送报价的详细信息。

现在,我们需要创建或使用oData服务,以便我们的DataWarehose可以访问该数据。

首先,对此没有标准的oData服务(这很令人惊讶),其次,当您不创建"启用了Data Workbench的" Odata服务时,该对象可用。X(

因此,我开始为此创建自定义ODataService,

我照做了。

1。 选择了根,以便我可以传递ID

赞: https://myXXXXXX .crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection?$ filter = ID eq'1885'&$ format = json

所以我得到了以下答复

 {
     " d":{
         "结果":[
             {
                 " __metadata":{
                     " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')",
                     " type":" cust.CustomerQuote",
                     " etag":" W/\" datetimeoffset'2018-09-03T11%3A12%3A27.6887360Z'\"
                 },
                 " ObjectID":" 00163E6DB29B1ED8AB8AAF91D03B532A",
                 " ETag":"/日期(1535973147688)/",
                 " ID":" 1885",
                 " UUID":" 00163E6D-B29B-1ED8-AB8A-AF91D03B532A",
                 " DocumentOutputRequestDocumentOutputRequest":{
                     " __deferred":{
                         " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest"
                     }
                 }
             }
         ]
     }
 }
 

您可以看到我收到了URI: https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest

所以我跳起了短暂的喜悦。

所以我打开了Postman的另一个窗口(我用来测试odata的工具)

https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest?$ format = json

并看到下面的响应再次与Joy跳起

 {
     " d":{
         "结果":{
             " __metadata":{
                 " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')",
                 " type":" cust.DocumentOutputRequestDocumentOutputRequest"
             },
             " ObjectID":" 00163E6DB29B1ED8AB8AE08A3921F4B4",
             " ReferenceObjectNodeID":" 00163E6DB29B1ED8AB8AAF91D03B532A",
             " ReferenceObjectNodeTypeCode":" 3807",
             " ReferenceObjectTypeCode":" 30",
             " UUID":" 00163E6D-B29B-1ED8-AB8A-E08A3921F4B4",
             " DocumentOutputRequestItem":{
                 " __deferred":{
                     " uri":" https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')/DocumentOutputRequestItem"
                 }
             }
         }
     }
 } 

因此,现在,关键时刻我到达了 DocumentOutputRequestItem

但是现在它给了我一个错误,它给了我获取 DocumentOutputRequestItem的URI。

所以我使用了URI https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')/DocumentOutputRequestItem

和响应:

http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> Eigensch博物馆。 ETag nicht gefunden; Dienst anpassen。

Etag出现问题,不知道出了什么问题。

有人遇到过C4C OData这种问题吗?

请帮助。

Dhruvin问候


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

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


亲爱的

我需要从Sales Quote获取DocumentOutputRequest,这不过是SalesQuote的Output选项卡,其中包含已发送报价的详细信息。

现在,我们需要创建或使用oData服务,以便我们的DataWarehose可以访问该数据。

首先,对此没有标准的oData服务(这很令人惊讶),其次,当您不创建"启用了Data Workbench的" Odata服务时,该对象可用。X(

因此,我开始为此创建自定义ODataService,

我照做了。

1。 选择了根,以便我可以传递ID

赞: https://myXXXXXX .crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection?$ filter = ID eq'1885'&$ format = json

所以我得到了以下答复

 {
     " d":{
         "结果":[
             {
                 " __metadata":{
                     " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')",
                     " type":" cust.CustomerQuote",
                     " etag":" W/\" datetimeoffset'2018-09-03T11%3A12%3A27.6887360Z'\"
                 },
                 " ObjectID":" 00163E6DB29B1ED8AB8AAF91D03B532A",
                 " ETag":"/日期(1535973147688)/",
                 " ID":" 1885",
                 " UUID":" 00163E6D-B29B-1ED8-AB8A-AF91D03B532A",
                 " DocumentOutputRequestDocumentOutputRequest":{
                     " __deferred":{
                         " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest"
                     }
                 }
             }
         ]
     }
 }
 

您可以看到我收到了URI: https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest

所以我跳起了短暂的喜悦。

所以我打开了Postman的另一个窗口(我用来测试odata的工具)

https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest?$ format = json

并看到下面的响应再次与Joy跳起

 {
     " d":{
         "结果":{
             " __metadata":{
                 " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')",
                 " type":" cust.DocumentOutputRequestDocumentOutputRequest"
             },
             " ObjectID":" 00163E6DB29B1ED8AB8AE08A3921F4B4",
             " ReferenceObjectNodeID":" 00163E6DB29B1ED8AB8AAF91D03B532A",
             " ReferenceObjectNodeTypeCode":" 3807",
             " ReferenceObjectTypeCode":" 30",
             " UUID":" 00163E6D-B29B-1ED8-AB8A-E08A3921F4B4",
             " DocumentOutputRequestItem":{
                 " __deferred":{
                     " uri":" https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')/DocumentOutputRequestItem"
                 }
             }
         }
     }
 } 

因此,现在,关键时刻我到达了 DocumentOutputRequestItem

但是现在它给了我一个错误,它给了我获取 DocumentOutputRequestItem的URI。

所以我使用了URI https://myXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')/DocumentOutputRequestItem

和响应:

http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> Eigensch博物馆。 ETag nicht gefunden; Dienst anpassen。

Etag出现问题,不知道出了什么问题。

有人遇到过C4C OData这种问题吗?

请帮助。

Dhruvin问候


付费偷看设置
发送
5条回答
clever101
1楼 · 2020-09-13 14:50.采纳回答

SAP在事件中得到的答复和纠正。

每当任何oData服务定制/标准缺少Etag时,我们都会引发事件,他们可以在后端添加相同的内容。

此致

Dhruvin

歪着头看世界
2楼-- · 2020-09-13 14:38

嗨阿努拉格,

今天我想让我重新检查一下伊顿的问题!

我想我知道根本原因。

因此 https://myXXXXXX。 crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection?$filter = ID eq'1885'&$ format = json

这会收到一个Eag响应,

 {
     " d":{
         "结果":[
             {
                 " __metadata":{
                     " uri":" XXXX",
                     " type":" cust.CustomerQuote",
                     " etag":" W/\" datetimeoffset'2018-09-03T11%3A12%3A27.6887360Z'\"
                 },
                 " ObjectID":" 00163E6DB29B1ED8AB8AAF91D03B532A",
                 " ETag":"/日期(1535973147688)/",
                 " ID":" 1885",
                 " UUID":" 00163E6D-B29B-1ED8-AB8A-AF91D03B532A",
                 " DocumentOutputRequestDocumentOutputRequest":{
                     " __deferred":{
                         " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest"
                     }
                 }
             }
         ]
     }
 }
 

所以我的第一个服务的Etag很好,因此并发请求正常工作。

但是

 https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/CustomerQuoteCollection('00163E6DB29B1ED8AB8AAF91D03B532A')/DocumentOutputRequestDocumentOutputRequest 

不产生任何Etag,请参见下文!

 {
     " d":{
         "结果":{
             " __metadata":{
                 " uri":" XXXX"
             },
             " ObjectID":" 00163E6DB29B1ED8AB8AE08A3921F4B4",
             " ReferenceObjectNodeID":" 00163E6DB29B1ED8AB8AAF91D03B532A",
             " ReferenceObjectNodeTypeCode":" 3807",
             " ReferenceObjectTypeCode":" 30",
             " UUID":" 00163E6D-B29B-1ED8-AB8A-E08A3921F4B4",
             " DocumentOutputRequestItem":{
                 " __deferred":{
                     " uri":" https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/cust/v1/testop/DocumentOutputRequestDocumentOutputRequestCollection('00163E6DB29B1ED8AB8AE08A3921F4B4')/DocumentOutputRequestItem"
                 }
             }
         }
     }
 }
 

我认为这是根本原因。

有趣的是,我也不能自己添加Etag,

请参阅下文。




四川大学会员
3楼-- · 2020-09-13 14:42

嗨,达鲁文,

我们看到您已经创建了一个自定义OData服务来满足您的要求。

ETag基本上是日期/时间的属性。 无法创建已更新


请检查是否可以将其添加到自定义OData服务。 如果不是,那么您可以向我们报告事件,然后我们可以检查您创建的自定义服务


致谢,
Anurag

太Q了
4楼-- · 2020-09-13 14:58

谢谢,阿南特! 我想知道有没有办法为SCN的最佳主持人提供意见! :) \

此致

Dhruvin

大简至美
5楼-- · 2020-09-13 14:46

Anant Acharya :OData中是否有1个-Rest框架 我可以标记谁?

非常感谢:)总是如此!

Dhruvin问候

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答