从另一个更新一个Odata服务中的值

时间:2018-06-07 01:27:48

标签: odata sapui5

我想根据从其他服务收到的值更新一个Odata服务中的字段的值。出于某种原因,我的ODataModel.update(spath,oentry,null,success,error)无法正常工作。我有一种感觉我在stmt 1中错了。但如果我为Read执行了这个确切的代码,它会读取正确的顺序。挑战是我无法更新该订单的字段。

 var sServiceUrl = this.getOwnerComponent().getMetadata().getManifestEntry("sap.app").dataSources["ServiceToBeUpdated"].uri;
                var odataModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl);
                var sPath = "/OrderSet('" + this.orderid + "')"; //1

        var oEntry = {};

            oEntry.FieldToUpdate= fieldfromOtherservice;

            odataModel.update(sPath, oEntry, null,
                 function(data) {
                    alert("success");
                },
                 function(e) {
                    alert("error");
                }
            );
        },

1 个答案:

答案 0 :(得分:1)

问题是“UPDATE方法未实现”。这意味着:

  • oData实现中没有为更新请求编写处理程序。

您可以在oData(在SAP Gateway中)中修复此问题,如下所示:

  

在oData实现的DPC(数据提供程序类)中,转到   方法“ORDERSSET_UPDATE_ENTITY”并定义/重新定义它。

     

将更新实体的实现代码放在此处,然后应该   工作

如果有帮助,请告诉我。