SAPUI5 - 批量操作 - 怎么做才对?

dot*_*huZ 5 entity crud batch-processing sapui5

我有多个 EntitySets 我想在我的 SAP 后端更新,因此我将我的数据(有效负载)作为 JSON 获取并将其放入请求中(它成功地在节点“数据”中):

代码:

var oTreeJSON = oTreeTable.getModel().getProperty("/root");
var oModel = sap.ui.getCore().getModel();
var batchChanges = [];  

for (var i = 0; i < oTreeAll.length; i++) {
    batchChanges.push(oModel.createBatchOperation("/sap/opu/odata/sap/MY_SERVICE/?$batch", "POST", oTreeAll[i]));
}

oModel.submitBatch();
Run Code Online (Sandbox Code Playgroud)

我的请求如下所示:

在此处输入图片说明

它应该到达 SAP 的哪个位置(哪种方法)?我做错了什么,任何地方都没有错误,但是我的后端没有调用......很高兴每一个提示!谢谢。

降低复杂性的工作示例:

var oEntry = {};
oEntry.MyId = "00000001";
oEntry.Value = "300";

batchChanges.push(oModel.createBatchOperation("MyEntitySet", "POST", oEntry, null));
oModel.addBatchChangeOperations(batchChanges); 
oModel.setUseBatch(true);
oModel.submitBatch();
Run Code Online (Sandbox Code Playgroud)

为了记录,方法调用:

  • 1) /IWBEP/IF_MGW_CORE_SRV_RUNTIME~CHANGESET_BEGIN:SAP 提案退出。
  • 2) /iwbep/if_mgw_appl_srv_runtime~create_entity。(n-times) // 用实体做你的事
  • 3) /iwbep/if_mgw_core_srv_runtime~changeset_end:SAP 提案提交工作。

Hao*_*jie 4

oModel.addBatchChangeOperations(batchChanges);
oModel.setUseBatch(true);
Run Code Online (Sandbox Code Playgroud)

CHANGESET_BEGIN如果需要在后端设置断点进行批量操作,只需在方法或中设置断点即可CHANGESET_END