3级深度扩展的OfflineODataDefiningQuery错误

2020-08-26 15:01发布

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

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


OfflineODataDefiningQuery具有2个初始化程序,

其中一个将查询作为字符串,另一个作为DataQuery

使用查询字符串选项,您可以传递任何有效的OData并起作用

但是,如果我传递的查询具有3级深度的扩展子句,则DataQuery会出现错误

 GetEntityA('abc')?$ expand = EntityB/EntityC,EntityB/EntityD,EntityB/EntityE

 实体A
   ->实体B
       -> EntityC
       -> EntityD
       -> EntityE 

这是我的DataQuery(相同的查询经过了OnlineOData的测试,并且正在运行)

 let query = DataQuery()。withKey(EntityA.key(number:" abc"))。expand(EntityA.entitiesB,withQuery:DataQuery()。expand(EntityB.entitiesC,EntityB.entitiesD,EntityB.entitiesE)  )

这是将请求发送到后端的方式(打开离线商店)

 EntityASet('abc')?$ expand = EntitiesB($ expand = EntitySetC,EntitySetD,EntitySetF)

代替

 EntitySetA('abc')?$ expand = EntitySetB/EntitySetC,EntitySetB/EntitySetD,EntitySetB/EntitySetE 

谢谢

alex

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

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


OfflineODataDefiningQuery具有2个初始化程序,

其中一个将查询作为字符串,另一个作为DataQuery

使用查询字符串选项,您可以传递任何有效的OData并起作用

但是,如果我传递的查询具有3级深度的扩展子句,则DataQuery会出现错误

 GetEntityA('abc')?$ expand = EntityB/EntityC,EntityB/EntityD,EntityB/EntityE

 实体A
   ->实体B
       -> EntityC
       -> EntityD
       -> EntityE 

这是我的DataQuery(相同的查询经过了OnlineOData的测试,并且正在运行)

 let query = DataQuery()。withKey(EntityA.key(number:" abc"))。expand(EntityA.entitiesB,withQuery:DataQuery()。expand(EntityB.entitiesC,EntityB.entitiesD,EntityB.entitiesE)  )

这是将请求发送到后端的方式(打开离线商店)

 EntityASet('abc')?$ expand = EntitiesB($ expand = EntitySetC,EntitySetD,EntitySetF)

代替

 EntitySetA('abc')?$ expand = EntitySetB/EntitySetC,EntitySetB/EntitySetD,EntitySetB/EntitySetE 

谢谢

alex

付费偷看设置
发送
4条回答
何必丶何苦呢
1楼-- · 2020-08-26 15:49

Alexandre Giguere 错误报告应该转到 support.sap.com 系统...此社区论坛用于帮助问题。 如果您想交叉发布,也可以,但是没有官方的跟踪或SLA期望,它来自此处发布的问题,而不是 support.sap .com

浮生未央
2楼-- · 2020-08-26 15:34

好了,谢谢,我会制造一个支持事件!

Climb_Ma
3楼-- · 2020-08-26 15:40

使用此API:

展开(_项目:PropertyPath ...)。

这允许扩展几个导航属性。

您正在使用API​​ expand(_项目:PropertyPath,withQuery查询:DataQuery)。

嗨,尼克,这几乎相同,要降低一级就必须使用

expand(_ item:PropertyPath,withQuery查询:DataQuery

您无法通过单个属性路径(例如

expand = EntityA/EntityB/EntityC)来表示多个扩展

如果有办法,请告诉我

您所说的内容没有任何意义,因为我已使用在线odata对其进行了测试,并且我的odata请求网址已正确构建,这是 离线odata定义查询API中的错误

感谢

一周热门 更多>