getPendingChanges odata v2-如何使用数据?

2020-09-17 07:03发布

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

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


你好

我有一个绑定到OData服务的表单。

用户可以进行更改,然后单击"保存"按钮以...保存更改。

我使用的是SubmitChanges方法来保存更改,但是....什么都没发生。 似乎什么也没提交。

不知道为什么。

我检查getPendingChanges以获取所做更改的地图。

我打算尝试使用此数据进行更新(而不是SubmitChanges),但是...我如何访问未决的更改映射中的数据。

我一直保持空白。

任何帮助表示赞赏。

欢呼

Pas

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

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


你好

我有一个绑定到OData服务的表单。

用户可以进行更改,然后单击"保存"按钮以...保存更改。

我使用的是SubmitChanges方法来保存更改,但是....什么都没发生。 似乎什么也没提交。

不知道为什么。

我检查getPendingChanges以获取所做更改的地图。

我打算尝试使用此数据进行更新(而不是SubmitChanges),但是...我如何访问未决的更改映射中的数据。

我一直保持空白。

任何帮助表示赞赏。

欢呼

Pas

付费偷看设置
发送
2条回答
浮生未央
1楼 · 2020-09-17 07:36.采纳回答

你好!

有一些方法可以做到。当模型发生更改或例如创建条目时,getPendingChanges返回一些信息。 之后,您必须使用submitChanges将这些更改发送到后端。

如果将EntitySet绑定到表单,并用后端的数据填充它,然后修改某些内容,如果模型没有更改,那是因为您的bindingMode。

您必须将其定义为TwoWay。 您可以按照以下步骤进行操作:

如果您使用清单架构:

"型号":{
 " i18n":{
 " type":" sap.ui.model.resource.ResourceModel",
 "设置":{
 " bundleName":" ..... i18n.i18n"
 }
 },
 "":{
 " dataSource":" mainService",
 " preload":是的,
 "设置":{
 " defaultCountMode":"内联",
 " defaultBindingMode":" TwoWay"
 }
 }
 },
 

或者您也可以在onInit中设置绑定模式

this.getView()。getModel()。 setDefaultBindingMode ("双向");

希望这会有所帮助,

问候。

Violet凡
2楼-- · 2020-09-17 07:34

好,在提交时尝试:

 this.getView()。getModel()。submitChange({
      成功:功能(oData){
        调试器;
      },

      错误:函数(oError){
       调试器;
     }
 }); 

检查提交是否有错误。

还要在控制台F12上查看,如果它返回任何错误,如果是,请检查"/img/IWFND/ERROR_LOG-SAP Gateway Error Log"

此外,在您的getPendingChanges上,有多少返回? 默认情况下,您只能使用1。

如果修改的条目超过1个,则必须允许使用批处理调用,这允许发送多个请求。 当您尝试同时执行多个请求时,默认情况下,SAP会抛出异常。

如果可以,请在此处评论.getPendingChanges返回的内容


一周热门 更多>