了解脱机OData中共享数据的增量跟踪的行为-SAP SDK for iOS

2020-08-24 05:35发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我们正在使用ECC作...

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

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


大家好,

我们正在使用ECC作为后台 end.In 的本机iOS移动应用程序 该应用程序的文件,我们有一个定义查询主数据,并将其设置为跟踪的增量(在后端实现跟踪)和共享的数据。

我们注意到,通过此设置,在增量查询日志表中已确认,服务调用中发送的增量令牌有时属于另一个用户。 这似乎是有道理的,因为作为共享数据,只要知道令牌,该框架就应该能够为任何用户获取更新。

我们现在面临的潜在问题是,在/IWBEP/CL_QUERY_RESULT_LOG类的CREATE_UPDATE_LOG_ENTRY_INT中的某个地方,增量查询框架正在检查当前用户/请求者是否是请求中传递的令牌的所有者。 如果不满足此检查要求,则增量查询将失败,导致应用程序无法获取更新的主数据。

对增量令牌所有者与当前用户/请求者之间的检查似乎与共享数据的概念冲突,所以我想知道是否有人可以帮助我们更好地理解这种参数组合与增量查询框架一起工作的方式 在后端。 可能有一些参考资料或说明,我们可能会错过它们,因此,感谢您的帮助。

谢谢

杰夫

3条回答
clasier
2020-08-24 05:57

杰夫,你好

我只能说明有关共享缓存+后端(ECC)增量跟踪的离线状态

当客户端与服务器同步时,服务器将首先检查缓存是否超时(由refresh_timeout参数控制,默认为15分钟),如果未超时,服务器将直接将缓存中的数据发送给客户端。

如果超时,服务器将使用从上次响应获得的增量令牌请求后端(至少15分钟前取决于上一次同步发生的时间)。 因此,此增量令牌可能由上次缓存超时时同步的另一个用户生成。
从后端获取"增量"后,服务器将计算该设备的增量。 由于后端的增量很可能与该设备所需的增量有所不同,因此请考虑该设备不是触发上次缓存刷新的设备。

因此,如果未使用技术用户配置端点的SSO机制,那么您将看到该用户正在请求具有另一个用户生成的增量令牌的后端。

使用共享缓存时,基本上所有用户都共享同一组数据,而从后端获取数据的用户则无关紧要。 因此,最好不要给delta令牌一个所有者,因为任何人都可以使用任何delta令牌进行查询,他们应该得到相同的结果。

解决增量令牌所有者冲突的另一种方法是在端点配置的SSO机制中使用技术用户。 但这是最不可接受的,因为此终结点的所有其他请求(例如create \ update \ delete一个实体)也将使用技术用户。

谢谢,
Guoping

一周热门 更多>