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 има уникален номер в рамките на клиент.

Основни функции

  • IDocs са независимо от изпращащата и получаващата системи (SAP-да се-SAP както и не-SAP).
  • IDoc-ите са базирани на EDI стандарти, ANSI ASC X12 и EDIFACT. В случай на конфликт в размера на данните, IDoc приема този с по-голяма дължина.
  • IDocs са независимо от посоката на обмен на данни, напр. ORDERS01 в ​​модула „Покупки“ поддържа както входящи, така и изходящи поръчки.
  • IDocs могат да се видят в текстов редактор защото данните се съхраняват в символен, а не в двоичен формат.

Структура на 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 на всеки етап или когато възникне грешка.
  • Всички данни за записа на състоянието се съхраняват в EDIDS масата.
  • Статуси 1–42 са за изходящи, докато 50–75 са за входящи.

Типове IDoc

Типът IDoc (основен) определя структурата и формата на бизнес документа, който ще се обменя. IDoc е екземпляр на тип IDoc, точно както концепцията за променливи и типове променливи в програмни езициТиповете IDoc могат да бъдат дефинирани чрез транзакция. WE30.

Какво е сегмент?

Сегментът определя формата и структурата на a Запис на данни в IDoc. Сегментите са компоненти за многократна употреба.

За всеки сегмент, SAP създава следните компоненти.

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

Последните три знака представляват версията на сегмента. Дефинициите могат да се променят с промяната на версията, но типът на сегмента остава същият. Транзакция: WE31.

Сегмент в IDoc

Какво е тип IDoc на разширение?

IDoc е от два вида:

  1. Basic
  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.

  • Всеки път, когато се създава поръчка за покупка (ПО), системата трябва да изпрати IDoc до доставчика.
  • Поръчката се изпраща под формата на IDoc до доставчика (партньора). Този партньор трябва да има активиран EDI в системата. SAP признава, че може да изпрати документа на този доставчик по електронен път.
  • Поръчката, изпратена като изходящ IDoc от клиента, става входящ IDoc за доставчика. SAP Системата от страна на доставчика може да обработи това, за да създаде документ за кандидатстване (поръчка за продажба) в своята система.
  • Оферти, заявки за поръчка (RFQ), поръчки за поръчки (PO), заявки за доставка (SO), фактури и бележки за доставка са едни от най-често обменяните документи чрез 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).

Въпроси и Отговори

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

Типът IDoc определя техническата структура на сегментите и полетата. Типът съобщение определя бизнес значението, като например Поръчки или Фактури. Един тип IDoc може да обслужва много типове съобщения и обратно.

Използвайте транзакция WE02 или WE05, за да покажете IDoc документи и да проверите записите за състоянието. Изходящите документи използват кодове за състояние 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 проекти.

Обобщете тази публикация с: