Как обновить данные в backend системе из SAPUI5 приложения?
Как обновить данные в backend системе, используя SAPUI5 приложение?
Согласно статистическим данным, в проектной деятельности у SAP консультантов и разработчиков наличествует мало запросов на создание приложений с применением технологии SAPUI5, где требуется только вывести информацию из backend системы.
См. заметку Создание Web приложения с помощью фреймворка SAPUI5 (8)
Бизнес-пользователь заинтересован в максимальном погружении в процесс работы с данными, которые выводятся на frontend. Все, что будет им (пользователем) изменено/удалено/создано/проанализировано(!), впоследствии, должно найти место в отражении результатов работы какого-то отчета, или стать основой для смежного бизнес-процесса.
Задача
Рассмотреть простой пример, в котором выполняется обновление данных пользовательской таблицы в backend системе, содержимое которой визуализировано посредством SAPUI5 приложения.
Исходные данные
Пользовательская таблица с каким-то набором данных

OData сервис, заполняющий EntitySet с наименование Person

SAPUI5 приложение, которое отражает наполнение пользовательской таблицы
Изменение данных. Шаг 1 (frontend)
По моей задумке, пользователь может внести изменения для какой-то записи таблицы, если нажмет на иконку карандаша. По нажатию на иконку открывается фрагмент с информацией о записи из общей таблицы, которую пользователь впоследствии и меняет.
См. class sap.ui.core.Fragment
Функция, открывающая фрагмент из контроллера приложения
Исходный код открываемого фрагмента
Пользователь вносит изменения для выбранной записи и нажимает на кнопку обновления данных. На ниже представленном видеофрагменте функциональность обновления пока недоступна.
Изменение данных. Шаг 2 (backend)
Также необходимо добавить возможность обработки измененных на frontend-e данных, но уже на стороне принимающей системы (backend), коей в моем случае неизменно выступает SAP Netweaver.
В OData сервисе необходимо переопределить метод *UPDATE_ENTITY

Добавить в него, в моем случае, глазки разъедающий ABAP код
См. Service Implementation
Проверяю, что вновь определенный метод может обновить данные в таблице
Изменение данных. Шаг 3 (frontend)
Осталось отправить в backend обновленные данные из SAPUI5 приложения. Для этого необходимо определить событие, вызываемое по нажатию на кнопку Обновить. Код самого события необходимо добавить в контроллер приложения
См. class sap.ui.model.odata.v2.ODataModel
Тестирование
Аналогичные действия под другим пользователем