离线移动应用将在同步过程中提交POST而不是MERGE

2020-09-01 09:53发布

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

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


嗨,

我遵循了使用具有脱机功能以及仅具有在线功能的Android Studio创建移动应用程序的教程。 所以我基本上创建了2个应用。 两者都是使用向导创建的,我没有对创建的应用程序进行任何程序更改。

在一个在线应用程序中,我没有任何与更新后端服务器中的数据相关的问题,所有新数据以及更新数据都已正确地保存到后端的表中。

现在在脱机应用程序中,我遇到的问题是,每次创建新数据或更新现有数据时,即使在尝试进行同步时,数据也不会自动在后端保存,但数据仍未在后端服务器中更新。

我检查了SCP Mobile服务中的日志,发现每次同步过程发生时,在后端,系统总是对OData服务执行POST,这会导致错误。

我尝试通过使用MERGE直接执行OData服务来复制更新,使用以前报告为错误的来自移动设备的确切数据,然后将其正确保存,并且可以看到该表已完美更新 很好。

所以,我的问题是,这是否正常,意味着每次我们执行同步过程时,它将始终执行POST吗?

如何在创建的代码中将POST更改为MERGE,以便每次尝试同步时,系统都会在ODATA服务中执行MERGE。

谢谢

TJ

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

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


嗨,

我遵循了使用具有脱机功能以及仅具有在线功能的Android Studio创建移动应用程序的教程。 所以我基本上创建了2个应用。 两者都是使用向导创建的,我没有对创建的应用程序进行任何程序更改。

在一个在线应用程序中,我没有任何与更新后端服务器中的数据相关的问题,所有新数据以及更新数据都已正确地保存到后端的表中。

现在在脱机应用程序中,我遇到的问题是,每次创建新数据或更新现有数据时,即使在尝试进行同步时,数据也不会自动在后端保存,但数据仍未在后端服务器中更新。

我检查了SCP Mobile服务中的日志,发现每次同步过程发生时,在后端,系统总是对OData服务执行POST,这会导致错误。

我尝试通过使用MERGE直接执行OData服务来复制更新,使用以前报告为错误的来自移动设备的确切数据,然后将其正确保存,并且可以看到该表已完美更新 很好。

所以,我的问题是,这是否正常,意味着每次我们执行同步过程时,它将始终执行POST吗?

如何在创建的代码中将POST更改为MERGE,以便每次尝试同步时,系统都会在ODATA服务中执行MERGE。

谢谢

TJ

付费偷看设置
发送
2条回答
骆驼绵羊
1楼-- · 2020-09-01 10:05

嗨,

我确实有一个问题,无法正确理解该问题。

每当在离线模式下使用FLUSH()在客户端上创建项目时,都会在Gateway中调用CREATE实现。 如果您以在线模式运行该应用程序,则应进行同样的操作。 至少根据我过去几年的经验,就创建和更新功能而言,两个模块的运行几乎相同。

您没有将CREATE模块与GETENTITY一起实现吗? 也许这可能是问题所在。 根据跟踪信息,它在创建后调用GETENTITY,以取回创建的项目。

愤怒的猪头君
2楼-- · 2020-09-01 10:18

嗨,

感谢您的答复。

我的网关类中具有CREATE和GETENTITY方法,如下图所示。

这是我在后端服务器日志中捕获的确切错误

因此,如果您可以在该错误日志(XML格式)中看到,则后端系统实际上正在尝试执行POST以将数据保存到表中。

我尝试使用POST通过Gateway客户端执行相同的操作,也遇到了相同的错误

但是如果我使用MERGE,那么我可以将数据正确地保存到表中

一周热门 更多>