Интерфейсы BAPI

WebSphere Adapter for SAP Software поддерживает обработку исходящих и входящих событий для простых BAPI. Во время обработки входящих событий приложение-клиент вызывает BAPI и другие функции с поддержкой RFC на SAP server. При обработке входящих событий SAP server отправляет функцию с поддержкой RFC (например, функцию BAPI) через адаптер в конечную точку.

Предположим, требуется создать службу, которая создает клиента на SAP server. Сначала запускается мастер внешних служб для обнаружения функции BAPI_CUSTOMER_CREATEFROMDATA. Затем мастер создает определение бизнес-объекта для BAPI_CUSTOMER_CREATEFROMDATA и другие артефакты. Во время обработки исходящих событий BAPI адаптер получает запрос службы и преобразует данные в вызов BAPI.

Простой BAPI выполняет одну операцию, такую как извлечение списка клиентов. Адаптер поддерживает вызовы простых интерфейсов BAPI, представляя каждый из них с помощью отдельной схемы бизнес-объекта.

Простые BAPI можно использовать для обработки входящих и исходящих событий. Во время настройки модуля для простых BAPI можно выбрать синхронную обработку RFC или асинхронную обработку RFC с поддержкой транзакций (tRFC). Кроме того, во время обработки исходящих событий можно использовать асинхронную обработку RFC с поддержкой очередей (qRFC), при которой BAPI передаются в очередь, существующую в SAP server.
  • Во время обработки синхронных RFC SAP server и адаптер должны быть доступны друг другу.
    • Во время обработки исходящих событий приложение-клиент отправляет запрос и ожидает ответа от SAP server.
    • Во время обработки входящих событий SAP server отправляет запрос через адаптер в конечную точку и ожидает ответа от адаптера.
  • При асинхронной обработке исходящих событий tRFC адаптер связывает ИД транзакции с вызовом функции в SAP server. Адаптер не ожидает ответа от SAP server. В случае сбоя передачи приложение-клиент может воспользоваться TID для повторения запроса.
  • При асинхронной обработке входящих событий tRFC от адаптера не требуется быть доступным во время вызова функции системой SAP server. Вызов функции помещается в список вызываемых функций, и вызов повторяется вплоть до его успешного выполнения.

    Для отправки вызовов функций из пользовательской очереди исходящих событий в SAP server также задается асинхронная обработка входящих событий tRFC.

  • Процесс асинхронной обработки исходящих событий qRFC подобен асинхронной обработке исходящих событий tRFC. TID не связывается с вызовом функции, а адаптер не ожидает ответа от SAP server. Кроме того, BAPI передаются в очередь, существующую в SAP server. Помещая BAPI в существующую очередь, можно управлять порядком их передачи.
Адаптер поддерживает следующие типы данных в импорте, экспорте и изменении списка параметров:
  1. Элементарные типы
  2. Составной тип данных
    1. Табличные типы
      1. Строчные типы
        1. Структура (пример - BAPIRET2)
        2. Табличный тип (пример - TRTEXTS)
        3. Элемент данных (пример - TRACKTEXT)
        4. Панели (пример - T001W_BIW)
      2. Предварительно определенные типы (пример - BIC_ADD_DATA_TT)
    2. Структура
Адаптер поддерживает следующие типы данных в списке табличных параметров -
  1. Таблицы со структурой простой строки (пример - BAPIRET2)
Прим.: Если опция Создавать бизнес-объекты в стандарте SAP XI в окне Задание свойств поиска выбрана, то элемент типа таблиц будет иметь анонимный составной тип оболочки, к имени которого добавляется суффикс “_Item”.