SAPUI5 使用 post 创建多个值(批处理)

SAPUI5 create multiple value(batch) using post

我使用的 SAP 后端中的 post 数据:

oModel.create("/Dummyset", oEntry); //so far it works fine

现在我的 oEntry 中有多行,但它不起作用。我找到了以下解决方案

aBatchOperation.push(contactBatchOperation);        
oModel.addBatchChangeOperations(aBatchOperation);
oModel.submitBatch(fSuccess,fError,true);

但不幸的是,它不适用于我的 OData 2.0 版。我总是收到错误

"addBatchChangeOperations is not a function"

然后我试图找出可以与 OData v2 一起使用的功能。我能找到这个。

batchChanges.push(oModel._createBatchRequest("/AttributesSet", "POST", wert.Atrributes[i].name));
oModel._submitBatchRequest(oModel.setProperty("/AttributesSet", batchChanges), true);

但是还是不行。我该如何解决?

我想你想把几个创建请求打包成一个批次,对吧?

对于ODataModel create 方法,您可以定义额外的groupId。见下文。

mParameters.groupId? ID of a request group; requests belonging to the same group will be bundled in one batch request

基本上你可以提交多个 create 与相同的 groupId 你可以定义自己。

首先你必须为ODataModel

设置一个deferredGroups
var aDeferredGroup = oModel.getDeferredGroups().push("batchCreate");
oModel.setDeferredGroups(aDeferredGroup);

然后调用multiple create。

var mParameters = {groupId:"batchCreate"};
oModel.create("/Dummyset", oEntry1, mParameters);
oModel.create("/Dummyset", oEntry2, mParameters);
oModel.create("/Dummyset", oEntry3, mParameters);

最后,您可以调用 submitChanges 一个批处理多个请求。

oModel.submitChanges(mParameters);