Меню

Методика интеграции MII с SAP ERP

|

В статье описываются особенности при интеграции MII с системой SAP ERP на основе IDOC, RFC и WEB SERVICE. Данная статья предназначена как для тех, кто уже работал с интеграционной шиной SAP MII (далее просто MII), так и для новичков.

Оглавление

1. Общие сведения об интеграции MII с SAP ERP

2. Интеграция на основе IDOC

3. Интеграция на основе RFC

4. Интеграция на основе WEB SERVICE

Заключение

Особенности интеграции MII с SAP ERP

1. Общие сведения об интеграции MII с SAP ERP

В статье описываются особенности при интеграции MII с системой SAP ERP на основе IDOC, RFC и WEB SERVICE. Данная статья предназначена как для тех, кто уже работал с интеграционной шиной SAP MII (далее просто MII), так и для новичков. При интеграции SAP ERP и MII будем классифицировать каждую систему или как систему отправитель (та система, которая инициирует начало интеграции), или как систему получатель. Каждый интеграционный поток можно разделить на 2 типа:

  • Асинхронный вызов – когда система отправитель передает данные системе получателю и не дожидается ответа от системы получателя, интеграция происходит в отдельном потоке.

Пример: интеграция на основе IDOC.

  • Синхронный вызов – когда система отправитель передает данные системе получателя и ожидает ответа. Дальнейшее выполнение программы происходит только после того, как система получатель даст ответ (вернет управление) системе отправителю.

Пример: интеграция на основе RFC или WEB SERVICE.

2. Интеграция на основе IDOC

Рассмотрим пример интеграции на основе IDOC, когда система отправитель SAP передает IDOC в систему получатель MII. Интеграционная логика основывается на следующем принципе:

На стороне MII настраивается Listener, который прослушивает систему SAP ERP по определенному Program ID. Как только система SAP ERP осуществит передачу IDOC по определенному порту (не важно, какой системе), SAP MII перехватит отправленный IDOC.

В системе SAP ERP необходимость провести следующие настройки:

  • Необходимо в транзакции SALE создать фиктивную логическую систему, на которую будут отправляться IDOC.
  • В транзакции SM59 необходимо создать новое TCP/IP соединение (Рис.1.).

Рисунок 1. Настройка TCP/IP соединения

В поле “Ид. прогр.” Необходимо указать ID программы, которое до этого нигде не было зарезервировано.

Параметры хоста и сервиса шлюза заполняется на основе транзакции SMGV (Рис. 2).

Рисунок 2. Настройка Шлюзового хоста и Сервиса шлюза

На вкладке «Уникод» необходимо выбрать RadioButton «Уникод» (Рис. 3). Это связано с тем, что MII во время передачи IDOC из SAP проверяет, есть ли на сервере описание типа IDOC, который пришел. Если описания нет, то MII запрашивает у ERP описание сегментов и полей типа IDOC, и система SAP ERP передает описание типа IDOC в спецификации XML. Если не указать тип «Уникод», то при передаче описания IDOC произойдет ошибка чтения XML, связанная с кодировкой.

Рисунок 3. Настройка Уникода

Если сегменты или тип хотя бы один раз переданного IDOC изменятся, то при передачи нового IDOC на стороне MII будет некорректно отображена XML IDOC. Чтобы изменения вступили в силу необходимо на стороне MII сбросить кэш, в котором хранится описание типа IDOC, с помощью вызова сервиса по адресу: http://server:port/XMII/JCOProxy?Mode=Reset&target=IDocRepository

  • В транзакции SM21 необходимо создать порт и связать его с RFC соединением (Рис. 4).

Рисунок 4. Настройка порта

В поле RFC-адрес необходимо указать название RFC соединения, которое было создано на предыдущем шаге (см. рис. 1).

  • В транзакции SM20 необходимо создать партнера вида LS (Рис. 5). В поле
    «№ партнера» указывается название фиктивной локальной системы, которая была создана на предыдущем шаге.

Рисунок 5. Определение данных партнеров

В выходные параметры необходимо добавить тип сообщения SYNCH с базисным типом SYNCHRON (Рис. 6).

Рисунок 6. Тип документа SYNCH

  • Также в выходные параметры настройки данных партнера необходимо добавить все типы IDOC, которые будут передаваться из SAP в MII. В поле «ПортПолучател» укажите тот порт, который был создан на предыдущем шаге (см. рис. 4). Для того, чтобы IDOC передавались сразу же после создания, укажите Режим вывода «НемедлПеренос IDOC» (см. рис. 6).

В системе SAP MII необходимо провести следующие настройки:

  • В SAP NetWeaver необходимо настроить Resource Adapter, указав в поле ProgramID название ProgramID, которое было создано на предыдущем шаге (см. рис. 1)
  • В настройках SAP MII в меню Message Services -> Message Listeners выберите IDOC Listener, нажмите «Update» и убедитесь, что во вкладке Configuration указаны актуальные данные (Рис. 7).

Рисунок 7. Настройка Message Listener

  • На вкладке «Message Processing Rules» создайте правило для обработки входящих IDOC (Рис. 8).

Рисунок 8. Настройка Message Processing Rules

В нашем примере мы будем рассматривать обработку IDOC на основе категорий. В данном случае пришедшим IDOC будет присваиваться категория в зависимости от правила, и в дальнейшем можно настроишь Scheduler на вызов транзакций для обработки IDOC определенной категории. При таком подходе, в фоне будет отрабатываться только одна транзакция, которая запустится службой Scheduler. Альтернативный вариант обработки IDOC - это обработка на основе транзакций, в таком случае, как только IDOC придет в MII, будет запущена транзакция в отдельном потоке.

Если ландшафт системы SAP ERP не совпадает с ландшафтом системы MII, а именно: инстанций SAP ERP больше чем серверов SAP MII, то тогда можно для каждой инстанции SAP ERP настроить отправку на свой порт, а на стороне MII создать правило обработки входящих IDOC так, чтобы IDOC’ам, пришедшим с разных портов, присваивалась различная категория. Таким образом, в одной системе SAP MII будут храниться и обрабатываться IDOC из различных систем SAP и в дальнейшем, благодаря различным категориям IDOC, можно настроить обработку IDOC из различных систем независимо друг от друга.

Если MII получит IDOC, и к нему будет применено правило для определения категории, то статус IDOC станет «Categorised».

  • Настройте правило удаления полученных IDOC. Для этого перейдите на вкладку Message Cleanup Rules и настройте правило удаления IDOC (Рис. 9).

Рисунок 9. Настройка Message Cleanup Rules

  • Создадим транзакцию для обработки IDOC. Для выборки IDOC используем Action «Query Messages» (Рис. 10).

Рисунок 10. Action Query Messages

В поле «Message Name» указывается тип IDOC, в поле «Message Category» указывается категория, которая была присвоена IDOC с помощью Message Rule (см. рис. 8). Если требуется выбрать новые IDOC, то в поле «Message Status» необходимо выбрать «Categorised».

После выполнения Action в логике транзакции можно описать правило обработки всех выбранных IDOC.

  • Настроим вызов транзакции, созданной на предыдущем шаге по расписанию, для этого выполним настройку в System Management -> Scheduler (Рис. 11).

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев1

Комментарий от  

Константин Дудура

  |  19 декабря 2017, 01:05

Илья, добрый день.  
 
Насколько я понимаю, интеграция через IDOC, RFC, WS для интеграции с различными, в том числе и не SAP, системами.
 
В чем особенность интеграции именно с MII? И для каких случаев эти преимущества нужно использовать?