我想根据从其他服务收到的值更新一个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");
}
);
},
答案 0 :(得分:1)
问题是“UPDATE方法未实现”。这意味着:
您可以在oData(在SAP Gateway中)中修复此问题,如下所示:
在oData实现的DPC(数据提供程序类)中,转到 方法“ORDERSSET_UPDATE_ENTITY”并定义/重新定义它。
将更新实体的实现代码放在此处,然后应该 工作
如果有帮助,请告诉我。