SAP Підручник з IDOC в ABAP: Покроковий посібник
⚡ Розумний підсумок
SAP IDoc (проміжний документ) – це стандартизований контейнер даних, який переміщує бізнес-інформацію між SAP іSAP системи через ALE та EDI. У цьому посібнику пояснюється його визначення, структура, типи, таблиці, профілі партнерів, порти та наскрізні процеси вихідної та вхідної пошти.

Що таке IDoc?
IDoc є просто контейнер даних використовується для обміну інформацією між будь-якими двома процесами, які можуть зрозуміти синтаксис і семантику даних.
Іншими словами, IDoc — це файл даних із заданим форматом, який обмінюється між двома системами, що знають, як інтерпретувати ці дані.
IDoc розшифровується як «Проміжний документ».
Коли ви виконуєте вихідний У процесі ALE або EDI створюється IDoc. У SAP SYSTEM, IDoc зберігаються в базі даних, і кожен IDoc має унікальний номер всередині клієнта.
Ключові особливості
- IDoc – це незалежно від систем надсилання та отримання (SAP-До-SAP а також не-SAP).
- IDoc базуються на Еді стандарти, ANSI ASC X12 та EDIFACT. У разі будь-якого конфлікту в розмірі даних, IDoc використовує той, що має більшу довжину.
- IDoc – це незалежно від напрямку обміну даними, наприклад, ORDERS01 у модулі закупівель підтримує як вхідні, так і вихідні посилки.
- IDocs можна переглядати в редактор тексту оскільки дані зберігаються в символьному форматі, а не в двійковому.
Структура IDoc
Структура IDoc складається з трьох частин:
- Адміністративна частина (контрольний запис) — містить тип IDoc, тип повідомлення, поточний статус, відправника, одержувача та аналогічні метадані. Це називається контрольним записом.
- Дані програми (Запис даних) — містить бізнес-дані. Вони називаються записами даних або сегменти.
- Інформація про стан (Запис стану) — надає інформацію про різні етапи, які пройшов IDoc.
Ви можете переглянути IDoc за допомогою транзакції WE02 or WE05.
Як видно на скріншоті вище, запис IDoc має три частини — керування, дані та статус. Кожна частина детально розглядається нижче.
Контрольний запис
- Усі дані контрольного запису зберігаються в EDIDC таблиця. Ключем до цієї таблиці є номер IDoc.
- Він містить таку інформацію, як номер IDoc, напрямок (вхідний/вихідний), інформацію про відправника, одержувача, використовуваний канал та використовуваний порт.
- Напрямок «1» вказує на вихідний рух, а «2» — на вхідний.
Запис даних
- Запис даних містить дані програми, такі як інформація про заголовок співробітника, щотижневі відомості, дані про клієнта тощо.
- Усі дані запису даних зберігаються в таблицях EDID2 до EDID4 та EDIDD це структура, де можна побачити її компоненти.
- Він містить такі дані, як номер IDoc, назва та номер сегмента в IDoc, ієрархія та самі дані.
- Фактичне корисне навантаження зберігається як рядок у полі під назвою SDATA, яке є полем довжиною 1000 символів.
Запис статусу
- Запис стану додається до IDoc на кожному етапі або коли виникає помилка.
- Усі дані запису стану зберігаються в EDIDS таблиці.
- Статуси 1–42 стосуються вихідних повідомлень, а 50–75 — вхідних.
Типи IDoc
Тип IDoc (базовий) визначає структуру та формат бізнес-документа, яким буде обмінюватися. IDoc – це екземпляр типу IDoc., так само як і концепція змінних та типів змінних у мови програмуванняТипи IDoc можна визначити за допомогою транзакцій. WE30.
Що таке сегмент?
Сегмент визначає формат і структуру a Запис даних в IDoc. Сегменти – це компоненти, які можна використовувати повторно.
Для кожного сегмента, SAP створює наступні компоненти.
- Тип сегмента (незалежно від версії)
- Визначення сегмента (залежно від версії)
- Документація сегмента
Останні три символи позначають версію сегмента. Визначення можуть змінюватися разом зі зміною версії, але тип сегмента залишається незмінним. Транзакція: WE31.
Що таке тип IDoc розширення?
IDoc буває двох типів:
- Базовий
- Розширення
SAP надає багато попередньо визначених базових типів IDoc, які не може бути зміненоЯкщо вам потрібно додати більше даних до обмеженого базового типу, ви можете використовувати розширений тип. Здебільшого вам доведеться НЕ потрібні розширення.
Документація
Кожен IDoc ретельно документується в транзакції WE60.
Тип повідомлення
Повідомлення представляє собою певний тип документа, який transmitміж двома партнерами, наприклад, замовлення, відповіді на замовлення та рахунки-фактури.
Тип IDoc може бути пов'язаний з багатьма типами повідомлень. І навпаки, тип повідомлення може бути пов'язаний з різними типами IDoc. Транзакція: WE81.
Перегляди IDoc
Тип IDoc може використовуватися для кількох типів повідомлень, що призводить до того, що IDoc містять більше полів, ніж потрібно для певного типу повідомлень.
Представлення IDoc покращують продуктивність створення IDoc, гарантуючи, що даними заповнюються лише відповідні сегменти. Представлення IDoc важливі лише для обробки вихідних повідомлень.
Профілі партнерів
Партнер — це діловий партнер, з яким ви ведете справи та обмінюєтеся документами.
У профілі партнера, з яким обмінюється IDoc, ви ведете параметри, необхідні для обміну даними. Використана транзакція – WE20.
порт
Порт визначає технічні характеристики з'єднання між вашим SAP система та інша система, за допомогою якої потрібно передавати дані (підсистема). Порт визначає середовище, в якому відбувається обмін даними між двома системами.
Існують різні типи портів. Два найпоширеніші: порти TRFC використовується в ALE та Порти файлів використовується EDI.
Для портів TRFC потрібно вказати назву логічного пункту призначення, створеного за допомогою SM59Під час використання файлового порту можна вказати каталог, де слід розмістити файл IDoc. Інша система або проміжне програмне забезпечення потім забере файл звідти. Функціональний модуль можна використовувати для генерації імені файлу для IDoc. Хоча Тестування, ви можете скористатися пунктом «Вихідний файл», щоб вказати постійне ім’я файлу. Вкладка «вихідний тригер" можна використовувати для надання інформації, якщо потрібно запустити певну обробку в підсистемі, коли в цьому місці створюється IDoc. Вкажіть ім'я командного файлу та каталог, який потрібно виконати.
Звичайна транзакція IDoc Codes
| Угода Code | Мета |
|---|---|
| WE02 / WE05 | Відображення та моніторинг IDoc |
| WE30 | Створення або зміна типу IDoc |
| WE31 | Створити або змінити сегмент |
| WE20 | Ведення профілю партнера |
| WE21 | Підтримувати порти |
| WE42 | Визначення вхідного процесу Code |
| WE57 | Виділити модуль вхідних функцій для типу повідомлення |
| WE60 | Документація IDoc |
| WE81 / WE82 | Створити тип повідомлення / пов'язати з типом IDoc |
| BD51 | Визначення характеристик функціонального модуля |
| SM59 | Збереження RFC-адресатів |
Процес IDoc: приклад з реального світу
Розглянемо приклад надсилання замовлення на купівлю постачальнику через IDoc.
- Щоразу, коли створюється замовлення на купівлю (PO), система повинна надіслати IDoc постачальнику.
- Замовлення на замовлення надсилається постачальнику (партнеру) у формі IDoc. Цей партнер повинен мати активований EDI в системі. SAP визнає, що може надіслати документ цьому постачальнику в електронному вигляді.
- Замовлення на замовлення, надіслане клієнтом як вихідний IDoc, стає вхідним IDoc для постачальника. SAP Система на стороні постачальника може обробити це, щоб створити документ заявки (замовлення на продаж) у своїй системі.
- Кошториси, запити цінових пропозицій, замовлення на придбання, замовлення на поставку, рахунки-фактури та накладні на доставку є одними з документів, що найчастіше обмінюються через IDoc.
Процес передачі даних з вашого SAP система називається Вихідний процес, поки дані переміщуються до вашого SAP система називається Вхідний процесЯк розробник або консультант, який налаштовує ці процеси для вашої організації, кроки для налаштування кожного з них детально описані нижче.
Вихідний процес
Потрібні кроки:
- Створіть сегменти (WE31).
- Створіть тип IDoc (WE30).
- Створіть тип повідомлення (WE81).
- Зв’яжіть тип повідомлення з типом IDoc (WE82).
- Створіть порт (WE21).
- Якщо ви використовуєте метод керування повідомленнями для запуску IDoc, створіть функціональний модуль, який будує IDoc, і зв'яжіть його з вихідним процесом. Code.
- В іншому випадку створіть функціональний модуль або окрему програму, яка безпосередньо створює IDoc.
- Створіть профіль партнера (WE20) з необхідною інформацією у вихідних параметрах для партнера, з яким ви обмінюєтеся IDoc, та активуйте IDoc.
Вхідний процес
Потрібні кроки:
- Створіть базовий тип IDoc (транзакція WE30).
- Створіть тип повідомлення (транзакція WE81).
- Зв’яжіть тип повідомлення з базовим типом IDoc (транзакція WE82).
- Створіть функціональний модуль для обробки IDoc.
- Визначте характеристики функціонального модуля (BD51).
- Призначте модуль вхідної функції типу повідомлення (WE57).
- Визначте процес Code (Транзакція WE42).
- Створіть профіль партнера (транзакція WE20).










