使用odata V4时如何获取创建的对象

2020-09-20 08:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我目前正在尝试确定oDa...

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

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


嗨,

我目前正在尝试确定oData v4模型实现是否符合我们的需求/要求,但是我已经在努力添加新实体。 创建成功后,即使可以看到服务器在其响应中包括该对象,也无法获取返回的对象。

我试图按照已探究,但我无法使其正常工作。

我的代码如下:

 var oContext = this.getView()。byId(" mainmenulist")。getBinding(" items")
                 .create(oMainMenuItem); 

后记,我正在尝试访问此新创建的记录。

 oContext.created()。then(function(){
                 oDialog.close();
                 MessageBox.alert("创建的主菜单项的ID为" + oContext.getProperty(" id")+"。",{
                     图标:MessageBox.Icon.SUCCESS,
                     标题:"成功"
                 });
             },函数(oError){
                 oDialog.close();
                 MessageBox.alert("无法创建主菜单项:" + oError.message,{
                     图标:MessageBox.Icon.ERROR,
                     标题:"错误"
                 });
             }); 

但是我总是不断收到错误消息"无法深入到-1/id,无效的段:id"。

我在做什么错了?

感谢帮助,

橄榄

4条回答
compass1988
2020-09-20 08:56

嗨,奥利弗,

在成功完成POST后,OData V4模型仅更新新创建实体的* selected *属性。 因此,您的问题可能是您没有选择" id"。 可能的原因

(1)您为this.getView()。byId(" mainmenulist")。getBinding(" items")指定一个不包含" id"的$ select绑定参数

(2),您已打开 auto- $ expand/$ select ,但是用户界面没有与实体的" id"绑定,因此自动生成的$ select不包含" id"。

此致,
帕特里克

一周热门 更多>