Обновление значения в одной службе Odata из другой - PullRequest
0 голосов
/ 07 июня 2018

Я хочу обновить значение для поля в одной службе Odata на основе значения, полученного от другой службы.По некоторым причинам, мой ODataModel.update (spath, oentry, null, success, error) не работает правильно.У меня есть ощущение, что я ошибаюсь в STMT 1. Но если я делаю этот точный код для чтения, он читает в правильном порядке.Проблема в том, что я не могу обновить поле для этого заказа.

 var sServiceUrl = this.getOwnerComponent().getMetadata().getManifestEntry("sap.app").dataSources["ServiceToBeUpdated"].uri;
                var odataModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl);
                var sPath = "/OrderSet('" + this.orderid + "')"; //1

        var oEntry = {};

            oEntry.FieldToUpdate= fieldfromOtherservice;

            odataModel.update(sPath, oEntry, null,
                 function(data) {
                    alert("success");
                },
                 function(e) {
                    alert("error");
                }
            );
        },

1 Ответ

0 голосов
/ 07 июня 2018

В сообщении говорится, что «метод ОБНОВЛЕНИЯ не реализован».Это означает, что:

  • В реализации oData для запроса на обновление не написан обработчик.

Эту проблему можно исправить в oData (в SAP Gateway) следующим образом:

В DPC (классе провайдера данных) вашей реализации oData перейдите к методу "ORDERSSET_UPDATE_ENTITY" и определите / переопределите его.

Поместите здесь свой код реализации объекта обновления, и он должен работать.

Дайте мне знать, если это поможет.

...