Получение данных для oData сервиса посредством вызова ФМ из сторонней SAP системы
В этой заметке хочу рассмотреть небольшой пример работы с oData сервисом, в результате запуска которого выполняется вызов функционального метода, располагающегося на стороннем SAP сервере.
Постановка задачи
Создать и настроить oData сервис, который будет получать данные из "соседней" SAP системы, посредством вызова функционального метода, также располагающегося в этой системе.
Немного матчасти
См. SAP Gateway Foundation Configuration Guide
Решение вопроса
Исходные данные
Для демонстрации в этой заметке я буду использовать системы с идентификаторами NPL и A4H. Разработка сервиса будет выполняться в системе NPL, а данные, которые мне нужно будет получить, располагаются на стороне системы A4H (там же находится и соответствующий ФМ).
Погнали!
Шаг 1. Настройка RFC соединений между двумя системами (NPL, A4H)
С помощью транзакции SM59 необходимо настроить RFC соединения в обеих системах. Соединения должны безошибочно находить целевые сервера, указанные в их же внутренностях.
Шаг 2. Проверка наличия функционального модуля (A4H)
В системе A4H должен функционировать ФМ с активированной опцией возможности вызова через RFC
Как представлено на скриншоте выше, исходный код этого ФМ не выделяется особенной изысканностью. Производится чтение данных из Z* таблицы с последующим их присвоением экспортируемому параметру. На следующем видеофрагменте представлен результат его работы.
Шаг 3. Создание oData сервиса (NPL)
На следующем видеофрагменте представлена последовательность действий, в результате которой создается новый oData сервис. В этом сервисе присутствует один entitySet, структура которого определяется на основании ранее созданного функционального модуля из системы A4H (см. пункт Шаг 2. Проверка наличия RFC функционального модуля (A4H) )
Шаг 4. Настройка системных псевдонимов (NPL)
Выполните настройку, находящуюся по следующему пути в SPRO
SAP NetWeaver => Gateway Service Enablement => Backend OData Channel => Connection Settings to SAP Gateway => SAP Gateway Settings
Смысл настройки весьма прост: необходимо определить системный псевдоним (алиас) для системы, откуда можно забрать данные, нужные для oData сервиса. Важно здесь не промахнуться с наименованием RFC соединения.
Шаг 5. Регистрация oData сервиса (NPL)
На следующем видеофрагменте представлена последовательность действий, в результате которой выполняется регистрация oData сервиса в системе NPL, с последующим присвоением зарегистрированному oData сервису алиаса системы A4H.
Шаг 6. Проверка работоспособности oData сервиса (NPL)
Проверяю работоспособность oData сервиса в системе NPL с предварительной демонстрацией факта отсутствия таблицы с данными в этой же системе. Все данные по-прежнему хранятся в Z* таблице системы A4H.
Шаг 7. Создание SAPUI5 приложения и вызов oData сервиса (NPL)
Проверяю работоспособность oData сервиса, посредством разворачивания в системе NPL приложения на SAPUI5, в котором выполняется вызов ранее созданного oData сервиса.
Лето было непозволительно скоротечным. С любовью, ignatov.