SAP Samouczek IDOC w ABAP: przewodnik krok po kroku

⚡ Inteligentne podsumowanie

SAP IDoc (Intermediate Document) to standardowy kontener danych, który umożliwia przesyłanie informacji biznesowych pomiędzy SAP i nieSAP Systemy za pośrednictwem ALE i EDI. Ten samouczek wyjaśnia definicję, strukturę, typy, tabele, profile partnerów, porty oraz kompleksowe procesy wychodzące i przychodzące.

  • 📦 Definicja podstawowa: IDoc to niezależny od systemu kontener danych oparty na standardach EDI, takich jak ANSI ASC X12 i EDIFACT.
  • 🧱 Trzyczęściowa struktura: Każdy dokument IDoc składa się z rekordu kontrolnego, rekordów danych i rekordów statusu, z których każdy jest przechowywany w dedykowanych tabelach bazy danych.
  • 🆚 Hierarchia typów: Podstawowe typy IDoc są dostarczane z SAP i nie mogą być modyfikowane; Typy rozszerzeń dodają pola niestandardowe, gdy jest to wymagane.
  • 🔁 Przepływy procesów: Moduł Outbound tworzy i wysyła obiekty IDoc; moduł Inbound odbiera je i publikuje za pośrednictwem powiązanych modułów funkcji.
  • 🤖 Włączanie sztucznej inteligencji: Narzędzia monitorujące oparte na sztucznej inteligencji wykrywają awarie IDoc na wczesnym etapie i automatycznie mapują pola w całym SAP i nieSAP wzmacniacz.

SAP Samouczek IDOC

Czym jest IDoc?

IDoc jest po prostu kontener danych używany do wymiany informacji między dowolnymi dwoma procesami, które potrafią zrozumieć składnię i semantykę danych.

Innymi słowy, IDoc to plik danych o określonym formacie, który jest wymieniany między dwoma systemami, które potrafią interpretować te dane.

IDoc oznacza „Dokument pośredni".

Kiedy wykonujesz wychodzące W procesie ALE lub EDI tworzony jest dokument IDoc. W SAP KonfiguracjaObiekty IDoc są przechowywane w bazie danych, a każdy obiekt IDoc ma unikalny numer w obrębie klienta.

Kluczowe funkcje

  • Dokumenty IDoc są niezależny od systemów wysyłających i odbierających (SAP-do-SAP jak również nie-SAP).
  • Dokumenty IDoc oparte są na EDI Standardy: ANSI ASC X12 i EDIFACT. W przypadku konfliktu rozmiaru danych, IDoc przyjmuje dane o większej długości.
  • Dokumenty IDoc są niezależny od kierunku wymiany danychnp. ORDERS01 w module Zakupy obsługuje zarówno ruch przychodzący, jak i wychodzący.
  • Dokumenty IDoc można przeglądać w edytor tekstu ponieważ dane są przechowywane w formacie znakowym, a nie binarnym.

Struktura dokumentu IDoc

Struktura dokumentu IDoc

Struktura IDoc składa się z trzech części:

  1. Część administracyjna (Rejestr Kontroli) — zawiera typ obiektu IDoc, typ wiadomości, aktualny status, nadawcę, odbiorcę i podobne metadane. Jest to tzw. rekord kontrolny.
  2. Dane aplikacji (Rekord danych) — zawiera dane biznesowe. Są one nazywane rekordami danych lub Segmenty.
  3. Informacje o statusie (Rekord statusu) — zawiera informacje o różnych etapach, przez które przeszedł dokument IDoc.

Możesz wyświetlić obiekt IDoc za pomocą transakcji WE02 or WE05.

Rekord IDoc pokazujący kontrolkę, dane i status

Jak widać na powyższym zrzucie ekranu, rekord IDoc składa się z trzech części: Control (Kontrola), Data (Dane) i Status (Status). Każda część jest szczegółowo omówiona poniżej.

Zapis kontrolny

  • Wszystkie dane rekordu kontroli są przechowywane w EDIDC tabela. Kluczem do tej tabeli jest numer IDoc.
  • Zawiera informacje takie jak numer IDoc, kierunek (przychodzący/wychodzący), nadawca, informacje o odbiorcy, używany kanał i używany port.
  • Kierunek „1” oznacza kierunek wychodzący, a „2” oznacza kierunek przychodzący.

Zapis danych

  • Rekord danych zawiera dane aplikacji, takie jak informacje o pracowniku, szczegóły tygodniowe, szczegóły klienta itd.
  • Wszystkie dane rekordu danych są przechowywane w tabelach EDID2 do EDID4, EDIDD jest strukturą, której elementy można zobaczyć.
  • Zawiera dane takie jak numer obiektu IDoc, nazwę i numer segmentu w obiekcie IDoc, hierarchię i same dane.
  • Rzeczywisty ładunek jest przechowywany jako ciąg w polu o nazwie DANE, które jest polem o długości 1000 znaków.

Zapis stanu

  • Rekord statusu jest dołączany do dokumentu IDoc na każdym etapie lub w przypadku wystąpienia błędu.
  • Wszystkie dane rekordu statusu są przechowywane w EDIDS tabela.
  • Statusy 1–42 dotyczą ruchu wychodzącego, a 50–75 przychodzącego.

Typy IDoc

Typ IDoc (podstawowy) definiuje strukturę i format wymienianego dokumentu biznesowego. Obiekt IDoc jest instancją typu obiektu IDoc, podobnie jak koncepcja zmiennych i typów zmiennych w języki programowaniaTypy IDoc można definiować za pomocą transakcji WE30.

Co to jest segment?

Segment definiuje format i strukturę pliku Zapis danych w obiekcie IDoc. Segmenty to komponenty wielokrotnego użytku.

Dla każdego segmentu, SAP tworzy następujące komponenty.

  • Typ segmentu (niezależny od wersji)
  • Definicja segmentu (w zależności od wersji)
  • Dokumentacja segmentu

Ostatnie trzy znaki reprezentują wersję segmentu. Definicje mogą się zmieniać wraz ze zmianą wersji, ale typ segmentu pozostaje ten sam. Transakcja: WE31.

Segment w IDoc

Czym jest typ rozszerzenia IDoc?

Istnieją dwa typy dokumentów IDoc:

  1. Basic
  2. Rozbudowa

Podstawowe i rozszerzone typy IDoc

SAP zapewnia wiele predefiniowanych podstawowych typów IDoc, które nie można modyfikowaćJeśli potrzebujesz dodać więcej danych do ograniczonego typu podstawowego, możesz użyć typu rozszerzenia. W większości przypadków nie potrzebne są rozszerzenia.

Ilustracja typu rozszerzenia IDoc

Dokumenty

Każdy dokument IDoc jest dokładnie udokumentowany w transakcji WE60.

Dokumentacja IDoc w WE60

Typ wiadomości

Wiadomość reprezentuje określony typ dokumentu, który jest transmitmiędzy dwoma partnerami, na przykład Zamówienia, Odpowiedzi na Zamówienia i Faktury.

Typ IDoc może być powiązany z wieloma typami wiadomości. I odwrotnie, typ wiadomości może być powiązany z różnymi typami IDoc. Transakcja: WE81.

Typ wiadomości w obiekcie IDoc

Widoki IDoc

Typ IDoc może być używany dla więcej niż jednego typu wiadomości, co powoduje, że obiekty IDoc będą zawierały więcej pól, niż jest to wymagane dla określonego typu wiadomości.

Widoki IDoc poprawiają wydajność generowania obiektów IDoc, zapewniając wypełnienie danymi tylko odpowiednich segmentów. Widoki IDoc są istotne tylko w przypadku przetwarzania wychodzącego.

Widoki IDoc

Profile partnerów

Partner to partner biznesowy, z którym prowadzisz interesy i wymieniasz dokumenty.

W profilu partnera, z którym wymieniane są dokumenty IDoc, utrzymujesz parametry niezbędne do wymiany danych. Używana transakcja to WE20.

Profile partnerów w IDoc

Port

Port definiuje parametry techniczne połączenia pomiędzy Twoim SAP system i drugi system, z którym chcesz przesyłać dane (podsystem). Port definiuje medium, w którym dane są wymieniane między dwoma systemami.

Istnieją różne rodzaje portów. Dwa najczęściej używane to: Porty TRFC używany w ALE i Porty plików używane przez EDI.

W przypadku portów TRFC należy podać nazwę logicznego miejsca docelowego utworzonego za pomocą SM59. Używając portu pliku, można określić katalog, w którym ma zostać umieszczony plik IDoc. Następnie inny system lub oprogramowanie pośredniczące pobiera plik z tego katalogu. Moduł funkcji może zostać użyty do wygenerowania nazwy pliku dla IDoc. testowanie, możesz użyć opcji „Plik wychodzący”, aby określić stałą nazwę pliku. Karta „wyzwalacz wychodzący„może służyć do dostarczania informacji, jeśli chcesz uruchomić przetwarzanie w podsystemie po utworzeniu obiektu IDoc w tej lokalizacji. Podaj nazwę pliku polecenia i katalog, który ma zostać uruchomiony.

Port w IDoc

Wspólna transakcja IDoc Codes

Transakcja Code Cel
WE02 / WE05 Wyświetlanie i monitorowanie dokumentów IDoc
WE30 Utwórz lub zmień typ IDoc
WE31 Utwórz lub zmień segment
WE20 Utrzymuj profil partnera
WE21 Utrzymuj porty
WE42 Zdefiniuj proces przychodzący Code
WE57 Przypisz moduł funkcji przychodzącej do typu wiadomości
WE60 Dokumentacja IDoc
WE81 / WE82 Utwórz typ wiadomości / powiąż z typem IDoc
BD51 Zdefiniuj charakterystyki modułu funkcyjnego
SM59 Utrzymuj miejsca docelowe RFC

Proces IDoc: przykład z życia wzięty

Rozważmy przykład wysłania zamówienia zakupu do dostawcy za pośrednictwem IDoc.

  • Za każdym razem, gdy tworzone jest zamówienie zakupu (PO), system musi wysłać dokument IDoc do dostawcy.
  • Zamówienie jest wysyłane w formie dokumentu IDoc do dostawcy (partnera). Partner musi mieć włączoną obsługę EDI w systemie. SAP uznaje, że może przesłać dokument do tego sprzedawcy drogą elektroniczną.
  • Zamówienie wysłane przez klienta jako dokument IDoc wychodzący staje się dokumentem IDoc przychodzącym dla dostawcy. SAP System po stronie dostawcy może przetworzyć te dane i utworzyć dokument aplikacji (zamówienie sprzedaży) w swoim systemie.
  • Do najczęściej wymienianych dokumentów za pośrednictwem IDoc należą oferty, zapytania ofertowe, zamówienia zakupu, zamówienia specjalne, faktury i dowody dostawy.

Proces przesyłania danych z Twojego SAP system nazywa się Proces wychodzącypodczas gdy dane są przesyłane do Twojego SAP system nazywa się Proces przychodzącyJako deweloper lub konsultant, który konfiguruje te procesy w swojej organizacji, możesz zapoznać się z poniższymi krokami konfiguracji każdego z nich.

Proces wychodzący

Wymagane kroki:

  1. Utwórz segmenty (WE31).
  2. Utwórz typ IDoc (WE30).
  3. Utwórz typ wiadomości (WE81).
  4. Powiąż typ wiadomości z typem obiektu IDoc (WE82).
  5. Utwórz port (WE21).
  6. Jeśli używasz metody message-control do wyzwalania obiektów IDoc, utwórz moduł funkcji, który buduje obiekt IDoc i połącz go z procesem wychodzącym Code.
  7. W przeciwnym wypadku utwórz moduł funkcji lub samodzielny program, który bezpośrednio utworzy obiekt IDoc.
  8. Utwórz profil partnera (WE20) z niezbędnymi informacjami w parametrach wychodzących dla partnera, z którym wymieniasz dokument IDoc, i uruchom dokument IDoc.

Proces przychodzący

Wymagane kroki:

  1. Utwórz podstawowy typ IDoc (transakcja WE30).
  2. Utwórz typ wiadomości (transakcja WE81).
  3. Powiąż typ wiadomości z podstawowym typem IDoc (transakcja WE82).
  4. Utwórz moduł funkcji do przetwarzania obiektu IDoc.
  5. Zdefiniuj charakterystyki modułu funkcyjnego (BD51).
  6. Przypisz moduł funkcji przychodzącej do typu wiadomości (WE57).
  7. Zdefiniuj proces Code (Transakcja WE42).
  8. Utwórz profil partnera (transakcja WE20).

FAQ

IDoc jest asynchroniczny i służy do przesyłania komunikatów między systemami za pośrednictwem ALE lub EDI. BAPI jest synchroniczny i służy do dostępu w czasie rzeczywistym do SAP obiekty biznesowe. IDoc jest kolejkowany; BAPI zwraca wynik natychmiast.

Typ IDoc definiuje techniczną strukturę segmentów i pól. Typ wiadomości definiuje znaczenie biznesowe, takie jak zamówienia czy faktury. Jeden typ IDoc może obsługiwać wiele typów wiadomości i odwrotnie.

Użyj transakcji WE02 lub WE05 do wyświetlenia obiektów IDoc i sprawdzenia rekordów statusu. Połączenia wychodzące używają kodów statusu 1–42; połączenia przychodzące używają kodów 50–75. Transakcja BD87 ponownie przetwarza błędne obiekty IDoc.

Pole SDATA, które przechowuje ładunek w każdym rekordzie danych, ma długość 1000 znaków. Obiekt IDoc może zawierać wiele rekordów danych, więc łączny ładunek skaluje się wraz z liczbą segmentów.

Tak. Dokumenty IDoc są niezależne od systemu i zgodne ze standardami EDI, takimi jak ANSI ASC X12 i EDIFACT.SAP systemy mogą tworzyć lub pobierać pliki IDoc za pośrednictwem portów plików lub oprogramowania pośredniczącego, takiego jak SAP PI/PO.

Rekordy kontrolne znajdują się w tabeli EDIDC, rekordy danych w EDID2 do EDID4, a rekordy statusu w EDIDS. Numer IDoc jest kluczem łączącym wszystkie trzy tabele dla danego IDoc.

Narzędzia monitorujące oparte na sztucznej inteligencji grupują powtarzające się błędy IDoc, przewidują awarie na podstawie historycznych wzorców i zalecają rozwiązania problemów o statusie 51 lub 56, znacznie skracając czas ręcznego przetwarzania.

Tak. Mapa oparta na sztucznej inteligencjiping silniki porównują definicje segmentów SAP i systemy partnerskie, zaproponuj mapę terenupingi wyciągaj wnioski z poprzednich poprawek — znacznie zmniejszając konieczność ręcznej konfiguracji w projektach ALE i EDI.

Podsumuj ten post następująco: