SAP Учебное пособие по IDOC в ABAP: пошаговое руководство

⚡ Умное резюме

SAP IDoc (промежуточный документ) — это стандартизированный контейнер данных, используемый для передачи деловой информации между различными системами. SAP и не-SAP Системы, использующие ALE и EDI. В этом руководстве объясняется их определение, структура, типы, таблицы, профили партнеров, порты, а также сквозные процессы исходящих и входящих соединений.

  • 📦 Основное определение: IDoc — это системно-нейтральный контейнер данных, основанный на стандартах EDI, таких как ANSI ASC X12 и EDIFACT.
  • 🧱 Трехчастная структура: Каждый IDoc состоит из записи управления, записей данных и записей состояния, каждая из которых хранится в отдельных таблицах базы данных.
  • 🆚 Иерархия типов: Базовые типы IDoc поставляются с SAP и не могут быть изменены; типы расширений добавляют пользовательские поля по мере необходимости.
  • 🔁 Потоки процесса: Исходящие сообщения создают и отправляют IDoc-документы; входящие сообщения получают и обрабатывают их через связанные функциональные модули.
  • 🤖 Поддержка ИИ: Инструменты мониторинга на основе искусственного интеллекта выявляют сбои в работе IDoc на ранних стадиях и автоматически сопоставляют поля. SAP и не-SAP партнеры.

SAP Учебное пособие по IDOC

Что такое IDoc?

IDoc — это просто контейнер данных используется для обмена информацией между любыми двумя процессами, которые могут понимать синтаксис и семантику данных.

Иными словами, IDoc — это файл данных определенного формата, которым обмениваются две системы, знающие, как интерпретировать эти данные.

IDoc расшифровывается как «Промежуточный документ».

При выполнении исходящий В процессе ALE или EDI создается IDoc. SAP СистемаIDoc-документы хранятся в базе данных, и каждый IDoc-документ имеет свой идентификатор. уникальный номер внутри клиента.

Ключевые особенности

  • IDoc-документы — это независимо от систем отправки и получения (SAPКSAP а также не-SAP).
  • IDoc основаны на ЭДИ стандарты ANSI ASC X12 и EDIFACT. В случае любого несоответствия в размере данных IDoc использует больший размер.
  • IDoc-документы — это независимо от направления обмена даннымиНапример, транзакция ORDERS01 в ​​модуле «Закупки» поддерживает как входящие, так и исходящие заказы.
  • Документы IDoc можно просмотреть в Текстовый редактор потому что данные хранятся в символьном формате, а не в двоичном.

Структура IDoc

Структура IDoc

Структура IDoc состоит из трех частей:

  1. Административная часть (контрольная запись) — содержит информацию о типе IDoc, типе сообщения, текущем статусе, отправителе, получателе и аналогичные метаданные. Это называется управляющей записью.
  2. Данные приложения (запись данных) — содержит бизнес-данные. Они называются записями данных или сегментами.
  3. Информация о состоянии (Запись о состоянии) — предоставляет информацию о различных этапах, пройденных IDoc-документом.

Просмотреть IDoc можно с помощью транзакции. WE02 or WE05.

Запись IDoc, отображающая управление, данные и состояние.

Как видно на скриншоте выше, запись IDoc состоит из трех частей — «Управление», «Данные» и «Статус». Каждая часть подробно рассматривается ниже.

Контрольная запись

  • Все данные контрольной записи хранятся в EDIDC Таблица. Ключом к этой таблице является номер IDoc.
  • Он содержит такую ​​информацию, как номер IDoc, направление (входящее/исходящее), отправитель, информация о получателе, используемый канал и используемый порт.
  • Направление «1» означает направление в одну сторону, а «2» — направление в другую сторону.

Запись данных

  • В записи данных содержатся такие данные приложения, как информация о сотруднике, еженедельные сведения, данные о клиенте и так далее.
  • Все данные записей хранятся в таблицах. EDID2 в EDID4 и EDIDD Это структура, в которой можно увидеть ее компоненты.
  • Он содержит такие данные, как номер IDoc, название и номер сегмента в IDoc, иерархию и сами данные.
  • Фактический объем полезной нагрузки хранится в виде строки в поле, называемом SDATAЭто поле вместимостью 1000 символов.

Запись состояния

  • К каждому IDoc-документу при каждом достижении контрольной точки или при возникновении ошибки прикрепляется запись о состоянии.
  • Все данные записей о состоянии хранятся в РЕДИСЫ таблице.
  • Статусы 1–42 относятся к исходящим звонкам, а 50–75 — к входящим.

Типы IDoc

Тип IDoc (Basic) определяет структуру и формат делового документа, подлежащего обмену. IDoc — это экземпляр типа IDoc., точно так же, как и концепция переменных и типов переменных в языки программированияТипы IDoc можно определить с помощью транзакции. WE30.

Что такое сегмент?

Сегмент определяет формат и структуру Запись данных В IDoc-документе сегменты представляют собой многократно используемые компоненты.

Для каждого сегмента, SAP создает следующие компоненты.

  • Тип сегмента (независимо от версии)
  • Определение сегмента (зависит от версии)
  • Документация по сегменту

Последние три символа обозначают версию сегмента. Определения могут меняться по мере изменения версии, но тип сегмента остается неизменным. Транзакция: WE31.

Сегмент в IDoc

Что такое тип IDoc расширения?

IDoc бывает двух типов:

  1. Базовый
  2. Расширение

Базовые и расширенные типы IDoc

SAP предоставляет множество предопределенных базовых типов IDoc, которые не может быть измененоЕсли вам нужно добавить больше данных к ограниченному базовому типу, вы можете использовать расширенный тип. В большинстве случаев вам это понадобится. не Необходимы расширения.

Иллюстрация типа IDoc расширения

Документация

Каждый IDoc тщательно документирован в транзакции. WE60.

Документация по IDoc в транзакции WE60

Тип сообщения

Сообщение представляет собой документ определенного типа, который transmitОбмен данными между двумя партнерами, например, заказы, ответы на заказы и счета-фактуры.

Тип IDoc может быть связан со многими типами сообщений. И наоборот, тип сообщения может быть связан с различными типами IDoc. Транзакция: WE81.

Тип сообщения в IDoc

Представления IDoc

Один и тот же тип IDoc может использоваться для нескольких типов сообщений, в результате чего IDoc-документы могут содержать больше полей, чем требуется для конкретного типа сообщения.

Представления IDoc повышают производительность генерации IDoc-документов, гарантируя заполнение данными только соответствующих сегментов. Представления IDoc важны только для исходящей обработки.

Представления IDoc

Профили партнеров

Партнер — это деловой партнер, с которым вы ведете дела и обмениваетесь документами.

В профиле партнера, с которым осуществляется обмен IDoc-сообщениями, вы указываете параметры, необходимые для обмена данными. Используемая транзакция: WE20.

Профили партнеров в IDoc

Порт отгрузки

Порт определяет технические характеристики соединения между вашим SAP система и другая система, с которой вы хотите передавать данные (подсистема). Порт определяет среду, по которой происходит обмен данными между двумя системами.

Существуют разные типы портов. Два наиболее распространенных: TRFC-порты используется в ALE и Файловые порты Используется в системе EDI.

Для портов TRFC необходимо указать имя логического назначения, созданного с помощью SM59При использовании файлового порта можно указать каталог, куда должен быть помещен IDoc-файл. Другая система или промежуточное ПО затем получит этот файл оттуда. Для генерации имени файла для 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 система называется Входящий процессДля разработчиков или консультантов, которые настраивают эти процессы в вашей организации, ниже подробно описаны шаги по настройке каждого из них.

Исходящий процесс

Включенные шаги:

  1. Создание сегментов (WE31).
  2. Создайте тип IDoc (WE30).
  3. Создайте тип сообщения (WE81).
  4. Свяжите тип сообщения с типом IDoc (WE82).
  5. Создайте порт (WE21).
  6. Если вы используете метод управления сообщениями для запуска IDoc, создайте функциональный модуль, который формирует IDoc, и свяжите его с исходящим процессом. Code.
  7. В противном случае создайте функциональный модуль или автономную программу, которая будет создавать IDoc напрямую.
  8. Создайте профиль партнера (WE20) с необходимой информацией в исходящих параметрах для партнера, с которым вы обмениваетесь IDoc, и запустите отправку IDoc.

Входящий процесс

Включенные шаги:

  1. Создайте базовый тип IDoc (транзакция WE30).
  2. Создайте тип сообщения (транзакция WE81).
  3. Свяжите тип сообщения с базовым типом IDoc (транзакция WE82).
  4. Создайте функциональный модуль для обработки IDoc.
  5. Определите характеристики функционального модуля (BD51).
  6. Назначьте функциональный модуль для входящих сообщений типу сообщения (WE57).
  7. Определите процесс Code (Транзакция WE42).
  8. Создание профиля партнера (транзакция WE20).

Часто задаваемые вопросы (FAQ)

IDoc — асинхронный протокол, используемый для обмена сообщениями между системами через ALE или EDI. BAPI — синхронный протокол, используемый для доступа в реальном времени к данным. SAP бизнес-объекты. IDoc поставлен в очередь; BAPI возвращает результат немедленно.

Тип IDoc определяет техническую структуру сегментов и полей. Тип сообщения определяет бизнес-значение, например, «Заказ» или «Счета-фактуры». Один тип IDoc может обслуживать множество типов сообщений и наоборот.

Для отображения IDoc-документов и проверки записей о состоянии используйте транзакции WE02 или WE05. Для исходящих документов используются коды состояния 1–42; для входящих — 50–75. Транзакция BD87 выполняет повторную обработку IDoc-документов с ошибками.

Поле SDATA, в котором хранится полезная нагрузка каждой записи данных, имеет длину 1000 символов. IDoc может содержать множество записей данных, поэтому общий объем полезной нагрузки масштабируется в зависимости от количества сегментов.

Да. IDoc-документы являются системно-нейтральными и соответствуют стандартам EDI, таким как ANSI ASC X12 и EDIFACT. Не-SAP Системы могут создавать или получать файлы IDoc через файловые порты или промежуточное программное обеспечение, например. SAP PI/PO.

Управляющие записи находятся в таблице EDIDC, записи данных — в таблицах EDID2–EDID4, а записи статуса — в таблице EDIDS. Номер IDoc является ключом, связывающим все три таблицы для данного IDoc.

Инструменты мониторинга на основе искусственного интеллекта группируют повторяющиеся ошибки IDoc, прогнозируют сбои на основе исторических данных и рекомендуют решения для проблем со статусом 51 или 56, что значительно сокращает время ручной обработки.

Да. Карта, созданная с помощью ИИ.ping поисковые системы сравнивают определения сегментов в разных системах. SAP и партнерские системы, предложить карту поляpingи извлекать уроки из прошлых исправлений, что позволит значительно сократить ручную настройку в проектах ALE и EDI.

Подведем итог этой публикации следующим образом: