点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我遵循了使用具有脱机功能以及仅具有在线功能的Android Studio创建移动应用程序的教程。 所以我基本上创建了2个应用。 两者都是使用向导创建的,我没有对创建的应用程序进行任何程序更改。
在一个在线应用程序中,我没有任何与更新后端服务器中的数据相关的问题,所有新数据以及更新数据都已正确地保存到后端的表中。
现在在脱机应用程序中,我遇到的问题是,每次创建新数据或更新现有数据时,即使在尝试进行同步时,数据也不会自动在后端保存,但数据仍未在后端服务器中更新。
我检查了SCP Mobile服务中的日志,发现每次同步过程发生时,在后端,系统总是对OData服务执行POST,这会导致错误。
我尝试通过使用MERGE直接执行OData服务来复制更新,使用以前报告为错误的来自移动设备的确切数据,然后将其正确保存,并且可以看到该表已完美更新 很好。
所以,我的问题是,这是否正常,意味着每次我们执行同步过程时,它将始终执行POST吗?
如何在创建的代码中将POST更改为MERGE,以便每次尝试同步时,系统都会在ODATA服务中执行MERGE。
谢谢
TJ
嗨,
我确实有一个问题,无法正确理解该问题。
每当在离线模式下使用FLUSH()在客户端上创建项目时,都会在Gateway中调用CREATE实现。 如果您以在线模式运行该应用程序,则应进行同样的操作。 至少根据我过去几年的经验,就创建和更新功能而言,两个模块的运行几乎相同。
您没有将CREATE模块与GETENTITY一起实现吗? 也许这可能是问题所在。 根据跟踪信息,它在创建后调用GETENTITY,以取回创建的项目。
嗨,
感谢您的答复。
我的网关类中具有CREATE和GETENTITY方法,如下图所示。
这是我在后端服务器日志中捕获的确切错误
因此,如果您可以在该错误日志(XML格式)中看到,则后端系统实际上正在尝试执行POST以将数据保存到表中。
我尝试使用POST通过Gateway客户端执行相同的操作,也遇到了相同的错误
但是如果我使用MERGE,那么我可以将数据正确地保存到表中
一周热门 更多>