Пакетные операции SAPUI5 OData V2 с несколькими различными группами - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь выполнить пакетную операцию с несколькими групповыми идентификаторами в одном пакетном запросе.и нужно получить результаты в двух разных пакетных ответах.

Но когда я инициирую запрос, была отправлена ​​только одна группа и получен только один пакетный ответ.

Вот мой код

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;

                    }
                });

Вот ответ, который я получил.

enter image description here

И здесь он только выполняет запросы первой группы и возвращает только один пакетный ответ.

Как выполнить несколько пакетных запросов с разными идентификаторами групп и получить ответы каждой группы.

1 Ответ

2 голосов
/ 08 апреля 2019

Я считаю, что вы хотите сгруппировать каждое изменение отдельно.Вам необходимо использовать концепцию набора изменений (не группы).

  1. Использовать метод createEntry вместо create.
  2. Для каждого звонка используйте разные changeSetId, но одинаковые groupId.
  3. Звоните submitChanges, передавая groupId.
...