Як відправити IDOC з SAP MII в SAP ERP

Одного разу, ми зіткнулися із завданням реалізації транзакції в 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 message received type.
The IDocs are saved by the function module IDOC_INBOUND_WRITE_TO_DB (COMMIT a 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) та size Pool (на перший час 10 буде достатньо) — зверніться до вашого SAP базису за подробицями.



2. Далі необхідно створити налаштування підключення (користувач/пароль) для з'єднання з першого кроку Security Services — Credential Stores. Необхідно вказати Ім'я та 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 функції.



Це необхідний мінімум для цієї операції. Після цього ви можете перевірити роботу транзакції.

Сподіваюся, моя інструкція буде корисною.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.