Согласно статистическим данным, в проектной деятельности у 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

Тестирование

Аналогичные действия под другим пользователем