在V2 OdataModel中使用createEntry时出现问题

2020-09-15 06:39发布

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

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


SAPUI5专家,

我需要在表中添加新条目。我直接将sap.ui.model.odata.v2.ODataModel用于绑定。要添加新条目,请使用ODatamodel中的createEntry方法。 但是,当我使用此方法并在将返回的上下文设置为新项目后,立即触发了后端发布请求。

但是我不希望它 happen.It 应该在本地保存数据,当我单击时 保存然后只应将条目提交到后端。我使用过changeetid,batchgroupid和deferreds。 示例代码粘贴在下面

var oContext = oList.getModel()。createEntry("/img/Entityset",{changeSetId:" myGroupId",properties:{},success:function(){alert(" success");},error:function( 错误){alert("错误");}});


请建议我在调用createentry方法后如何防止后端odata调用。

我正在使用的UI5版本是1.28


此致

Venkat


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

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


SAPUI5专家,

我需要在表中添加新条目。我直接将sap.ui.model.odata.v2.ODataModel用于绑定。要添加新条目,请使用ODatamodel中的createEntry方法。 但是,当我使用此方法并在将返回的上下文设置为新项目后,立即触发了后端发布请求。

但是我不希望它 happen.It 应该在本地保存数据,当我单击时 保存然后只应将条目提交到后端。我使用过changeetid,batchgroupid和deferreds。 示例代码粘贴在下面

var oContext = oList.getModel()。createEntry("/img/Entityset",{changeSetId:" myGroupId",properties:{},success:function(){alert(" success");},error:function( 错误){alert("错误");}});


请建议我在调用createentry方法后如何防止后端odata调用。

我正在使用的UI5版本是1.28


此致

Venkat


付费偷看设置
发送
2条回答
哎,真难
1楼-- · 2020-09-15 07:24

如果在用户单击时调用odata create方法,并且控件又返回给用户,则Java脚本事件循环将自动发送已注册的数据创建请求。

我无法理解您的情况,但是如果我正确理解,有两种方法可以解决您的情况。

1。 最终单击保存按钮时调用所有创建请求,并多次循环调用创建odata请求,这将在批处理请求中调用后端

2。 否则使用批处理并提交更改

https://ui5。 sap.com/#/api/sap.ui.model.odata.v2.ODataModel/methods/setDeferredGroups

首先注册延迟组并传递'G1'

对于odata模型,您需要使用" groupId"调用创建请求的第二个条件是说" G1"

https://ui5。 sap.com/#/api/sap.ui.model.odata.v2.ODataModel/methods/create

在最后一次保存时,您需要通过传递defferedgroup来调用subit更改

https://ui5。 sap.com/#/api/sap.ui.model.odata.v2.ODataModel/methods/submitChanges

此提交更改将提交所有为组ID" G1"注册的创建请求。

半个程序猿
2楼-- · 2020-09-15 07:11

我不明白您的问题,您的方法model.createEntry()正常吗 ?

此致

Dieu

一周热门 更多>