Источники табличных данных предоставляют API для вызова функций. В источнике есть таблица, которую необходимо читать и изменять на клиенте. В настоящий момент платформа позволяет решать такую задачу с помощью двух функций: одна обеспечивает чтение, другая обеспечивает модификацию. Существует подход к формированию функции, которая позволяет модифицировать и читать одновременно. Этот подход осуществляет автоматическую синхронизацию данных между клиентом и сервером.
В источнике данных существует таблица, к которой нет прямого доступа. Для работы с таблицей из платформы используйте специально созданную функцию доступа к таблице с параметрами:
Тип параметра | Имя параметра | Описание |
Входной | upsert_rows | Таблица, структура которой совпадет со структурой базовой таблицы. Строки из этого параметра будут вставлены в базовую таблицу. При совпадении первичного ключа базовая таблица будет обновлена. |
delete_ids | Таблица из одного столбца. Его тип и название соответствуют типу и названию первичного ключа базовой таблицы. Удаление должно происходить после обработки параметра upsert. | |
Выходной | Без имени | Базовая таблица. |
Функция возвращает ошибку в следующих случаях:
некорректная структура входных параметров;
не задано значение для одного из входных параметров. Пустая таблица считается за заданное значение;
возникла ошибка во время работы самой функции. Например, не удалось произвести запись или чтение.
Разница табличного ресурса на сервере и на мобильном устройстве:
в платформе можно создать табличный ресурс на сервере для работы с функцией доступа к таблице. Ресурс должен содержать общий дельта-кэш для любого набора входных параметров. Если при запросе входные параметры не пустые, то необходимо обновление кэша.
ответ табличного ресурса на мобильном устройстве может сохраняться в локальную базу. Мобильный фреймворк предоставляет удобную обертку для чтения и записи в локальную базу.
В источнике данных содержится таблица с каталогом товаров. Для таблицы создана функция доступа. В платформу заведен соответствующий ресурс.
Алгоритм выполнения примера:
При инициализации мобильное приложение делает запрос к ресурсу c пустыми параметрами, т.е. с пустыми таблицами в качестве значений параметров.
Сервер делает запрос к источнику данных, получает в ответе каталог товаров, кэширует каталог, отдает каталог мобильному приложению.
Приложение получает каталог и сохраняет его.
Пользователь приложения удаляет товар.
Приложение отправляет запрос с заданным параметром для удаления товара.
Сервер отправляет запрос на удаление товара источнику данных. В ответ сервер получает полный обновленный каталог товаров. Сервер обновляет кэш и отправляет приложению дельту.
Приложение получает и обрабатывает дельту.
Обработка нажатия кнопки в приложении завершена.
См. также:
Настройка интеграции с табличными источниками данных | Базовая процедура SAP