点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
我创建了一个脱机MDK应用程序,其中显示了一些订单和相应的项目。 我已经使用表单单元格页面启用了项目的编辑功能,并创建了类型为UpdateEntity的odata操作来保存数据。 当我单击同步时,数据将正确上传到后端。 但是使用这种方法,对于每个项目,都会发送一个单独的请求。 因此,对于相同的订单,如果我编辑两个项目,则会发送两个请求。
为了避免锁定问题,并立即更新订单,如何将订单的所有更新请求或所有内容组合在一起,以便可以从后端将它们作为一个进行处理。
在创建Fiori应用程序时,我需要类似的功能,例如批处理变更集或创建深度实体。 请足够友善地提出实现此目标所需采取的步骤的建议。
谢谢。
Dhanika Wickramaratne
在MDK中,这需要以不同的方式完成,因为MDK没有"模型" 就像UI5一样(即ODataModel),它允许您在将更改作为批量变更集"提交"到OData后端(脱机或在线)之前在运行时模型对象中进行更改。 要在MDK中执行此操作,您将需要创建自己的"模型"实现版本,该版本将临时保存更改,直到准备好将所有更改提交到更改集中为止。 您可以使用自己的JavaScript全局对象跟踪它们,也可以使用 PageProxy的ClientData 来存储和跟踪更改,然后再将它们提交到ChangeSet中。 如果您使用页面的ClientData,当您关闭页面时,数据将被销毁,因此您应该选择在提交变更集之前不会关闭的页面,例如
请注意,如果您这样做,则在提交更改集之前,所做的更改将不会反映在用户界面中。
谢谢 Jitendra Kansal 进行回复。
Dhanika Wickramaratne
当您在离线应用中调用UpdateEntity时, 将第1项,第2项保存在本地,并将这些更改记录在RequestQueue数据库中。 当您触发脱机上载操作时,请求队列数据库的内容将上载/刷新到移动服务(MS)。 然后,MS将向后端重复完全相同的请求,例如
上传时向后端发送2个多带带的请求。
MDK支持ChangeSet操作,请查看此文档。
您好 Jitendra Kansal
请问您是否足够友善,让我知道这在MDK中是否可行。
谢谢
一周热门 更多>