Pull to refresh

Как отправить IDOC из SAP MII в SAP ERP

System Analysis and Design *Industrial Programming *Development of communication systems *
Однажды мы столкнулись с задачей реализации транзакции в SAP MII для механизма создания корректного IDOC и отправки его в SAP MDG (эта инструкция применима ко всем SAP ERP системам).

Задача была следующей: реализовать регулярную отправку необходимых данных о контрагентах из не-SAP систем в SAP MDG используя SAP MII.

Во-первых, мы начали поиск механизма отправки IDOC'ов из SAP MII в SAP MDG. После недолгих поисков была найдена RFC функция IDOC_INBOUND_ASYNCHRONOUS на стороне SAP MDG.

IDOC_INBOUND_ASYNCHRONOUS
IDOC_INBOUND_ASYNCHRONOUS. This function module is used for SAP release 4.0 and later.
This function module starts inbound processing in the case of port type «tRFC». The function module is a successor to INBOUND_IDOC_PROCESS, which processes IDocs in the Release 4.0 record types. If you are processing IDocs in Release 3.X record types, the function module INBOUND_IDOC_PROCESS must still be called.
The function module checks the ID 'EDI_MES' in authorization object B_ALE_RECV against the received message type.
The IDocs are saved by the function module IDOC_INBOUND_WRITE_TO_DB (a COMMIT for all IDocs) and then transferred directly to the application by the dispatcher module IDOC_START_INBOUND.


1. Необходимо создать соединение в XMII admin menu: Data Services — Connections. Создаем JCo соединение с любым именем и описанием, затем корректно настраиваем адрес Server, номер Client, номер System (по умолчанию 00) и Pool size (на первое время 10 будет достаточно) — обратитесь к вашему SAP базису за подробностями.



2. Далее необходимо создать настройки подключения (пользователь/пароль) для соединения из первого шага в Security Services — Credential Stores. Необходимо указать Name и Password из требуемой системы (SAP MDG) необходимые для вызова этой RFC функции — обратитесь к вашему SAP базису за подробностями.



3. Сейчас пришло время переключиться на SAP MII Worbench и создать новую транзакцию. Основными блоками этой транзакции будут SAP JCo операции.



Необходимо создать несколько блоков в транзакции в следующей последовательности: SAP JCo Start Session, SAP JCo Function, SAP JCo Commit, SAP JCo End Session.



SAP JCo Start Session операция открывает соединение для RFC в SAP ERP в созданном JCo-коннекторе и настройках подключения. Просто выберите подключение из выпадающего списка Connection Alias и настройки из выпадающего списка Credential Alias.



SAP JCo Function операция непосредственно вызывает RFC в SAP ERP. В SAP JCo Session Action выберите созданное соединение из предыдущего блока и укажите в RFC Name имя RFC функции (в нашем случае IDOC_INBOUND_ASYNCHRONOUS, но вы можете найти необходимую вам функцию из доступных с помощью Search Pattern).



Для получения доступных полей из RFC функции выполните Generate Sample в SAP JCo Function блоке операции.



В окне Links Editor для SAP JCo Function состыкуйте RFC поля с данными из вашего источника данных.



SAP JCo Commit операция отправляет созданную операцию из SAP JCo Function — просто выберите соединение из предыдущих шагов.



SAP JCo End Session закрывает созданное подключение к RFC функции.



Это необходимый минимум для этой операции. После этого вы можете проверить работу транзакции.

Надеюсь, моя инструкция будет полезной.
Tags:
Hubs:
Total votes 10: ↑9 and ↓1 +8
Views 7.7K
Comments Leave a comment