如何在使用SAPUI 5执行更新操作时定义HTTP PUT方法

2022-03-09 00:00:00 jquery javascript sapui5 odata sap-fiori

我想执行更新操作,但遇到以下错误。

HTTP请求失败(400Bad Request):未定义或不允许(HTTP Put)&Quot;}、{";error";:{";code";:";SY/530";,";message";:{";lang";:";en";,&Quot;Timestamp&Quot;:&Quot;内联组件(HTTP Put)&Quot;}、";innererror";:{";transactionid";:";50EFF5DC7C760020E005F672522CBC10";,&Quot;Value&Quot;:&Quot;有关使用$BATCH的详细信息,请参阅SAPNote 1797736以进行错误分析(https://service.sap.com/sap/support/notes/1797736),&";Error_Resolution";:{";SAP_Transaction";:";Run;Batch_SAP_Note&Quot;:&q;有关使用$BATCH的详细信息,请参阅SAPNote 1869434。

var oEntry1 = {};
oEntry1.Ebeln = Ebeln;
oEntry1.Bukrs = Bukrs;
oEntry1.Bsart = "EC";
oEntry1.Lifnr = Lifnr;
oEntry1.Ekorg = Ekorg;
oEntry1.Ekgrp = Ekgrp;
oEntry1.Waers = Waers; // set the item data to ProductSet
oEntry1.POItem = itemData;

oModel.update("/POHeaderSet('" + Ebeln + "')", oEntry1, {
  success: function(data) {
    alert("success");
  },
  error: function(e) {
    alert("error");
  }
});

解决方案

可以进行深度插入,但不能进行深度更新,因为这不受支持。

若要在一次网关调用中更新父项和子项,您可以使用$BATCH功能。

查看批次功能的文档:OData v2 Batch Documentation

相关文章