调用相同的OfflineOData定义查询,但具有不同的expand子句

2020-08-26 16:54发布

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

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


大家好,我知道SAP说,如果我们使用参照约束而不是扩展,那么OfflineStore的性能将更高。

但是有时候在一次调用中获取所有数据而不是在所有子实体中复制约束更有意义

让我们考虑以下OData模式:

 —>实体A
   —>实体B
     ->实体C
     ->实体D
     —>实体E
   —>实体F 

我想称其为ASIS来进行初始加载,因此我将使用适当的expand子句将其添加为定义查询

但是,稍后在应用程序中,我想使用另一个定义请求仅刷新部分数据:

这就是我们要刷新的内容

 —>实体A
   —>实体B
     ->实体C
   —>实体F 

实体D&E已从expand子句中删除,因为它们包含不经常更改的主数据。

调用第二个reduce定义查询后,脱机odata存储将发生什么情况。

保存实体D和E是否足够智能,否则它们将不在第二个DQ中而消失?

谢谢

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

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


大家好,我知道SAP说,如果我们使用参照约束而不是扩展,那么OfflineStore的性能将更高。

但是有时候在一次调用中获取所有数据而不是在所有子实体中复制约束更有意义

让我们考虑以下OData模式:

 —>实体A
   —>实体B
     ->实体C
     ->实体D
     —>实体E
   —>实体F 

我想称其为ASIS来进行初始加载,因此我将使用适当的expand子句将其添加为定义查询

但是,稍后在应用程序中,我想使用另一个定义请求仅刷新部分数据:

这就是我们要刷新的内容

 —>实体A
   —>实体B
     ->实体C
   —>实体F 

实体D&E已从expand子句中删除,因为它们包含不经常更改的主数据。

调用第二个reduce定义查询后,脱机odata存储将发生什么情况。

保存实体D和E是否足够智能,否则它们将不在第二个DQ中而消失?

谢谢

付费偷看设置
发送
1条回答
callcenter油条
1楼-- · 2020-08-26 17:22

请参阅以下线程以了解不同的选择以及它们的优缺点:

为具有$ expand和增量查询的馆藏建立离线商店的最佳方法: https://answers.sap.com/questions/12048996/best-approach-to-build-an-offline-store-for -collec.html

初始化离线商店后,无法更改定义查询。 因此,您无法更改定义查询以缩小展开列表。

然后,如果您有两个定义的查询,则将同时下载两个查询。

但是对于以后的下载,您可以对部分定义的查询使用部分下载,而其他下载则不受影响。

download(withSubset子集:[OfflineODataDefiningQuery],completionHandler:@escaping(_错误:OfflineODataError?)->无效)->无效

如果主数据不变,则可以将主数据和事务数据分成两个定义的查询。 将主数据配置为在服务器上的应用程序配置INI文件中共享。

结果是只有一位用户会点击此链接下载共享数据。

计算复杂扩展查询的增量可能会花费一些时间,您可以测试并比较哪种情况下性能会更好。

希望这会有所帮助,

尼克

一周热门 更多>