Получение данных для 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.