我正在尝试在单个批处理请求中使用多个groupid进行批处理操作。并且需要在两个不同的批处理响应中获得结果。
但是,当我发起请求时,只提交了一个组,并且只获得一个批处理响应。
这是我的代码
oModel = this.getOwnerComponent().getModel("mymodel");
$.sap.itemArray.forEach(function (entry) {
if (p < $.sap.itemArray.length) {
var oData = {
"AUTO_ID": entry.Id,
"VALUE": entry.Value,
};
mParameters.groupId = "createGroup1";
oModel .create("/Table1", oData, mParameters);
}
p++;
});
for (p = 0; p < $.sap.itemArray2.length; p++) {
var oData = {
"Item2ID" : $.sap.itemArray2[p].ItemsId,
"Value" : $.sap.itemArray2[p].Value
};
mParameters.groupId = "createGroup2";
oModel .create("/Table2", oData, mParameters);
}
oModel.setDeferredGroups(["createGroup1","createGroup2"]);
oStyleSizeModel.submitChanges({
success: function(recievedObject){
var responses = recievedObject.__batchResponses;
},
error: function (oError) {
var oBody = oError.responseText;
}
});
这是我得到的回应。
在这里它只执行第一组的请求,只返回一个批处理响应。
如何使用不同的组ID执行多个批处理请求并获取每个组的响应。
我相信你想分别对每个变化进行分组。您需要使用变更集(非集合)的概念。
create
。changeSetId
,但使用相同的groupId
。submitChanges
通过groupId
。