我正在尝试在单个批处理请求中使用多个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执行多个批处理请求并获取每个组的响应。
答案 0 :(得分:2)
我相信您希望将每个更改单独分组。您需要使用变更集(而不是组)的概念。
create
。 changeSetId
,但要使用相同的groupId
。 submitChanges
呼叫groupId
。