SAP IDOC-Tutorial in ABAP: Schritt-für-Schritt-Anleitung

⚡ Intelligente Zusammenfassung

SAP IDoc (Intermediate Document) ist ein standardisierter Datencontainer, der Geschäftsinformationen zwischen verschiedenen Systemen transportiert. SAP und nicht-SAP Systeme über ALE und EDI. Dieses Tutorial erläutert Definition, Struktur, Typen, Tabellen, Partnerprofile, Schnittstellen sowie die gesamten Prozesse für ausgehenden und eingehenden Datenverkehr.

  • 📦 Kerndefinition: IDoc ist ein systemneutraler Datencontainer, der auf EDI-Standards wie ANSI ASC X12 und EDIFACT basiert.
  • 🧱 Dreiteilige Struktur: Jedes IDoc besteht aus einem Kontrolldatensatz, Datensätzen und Statusdatensätzen, die jeweils in dedizierten Datenbanktabellen gespeichert werden.
  • 🆚 Typenhierarchie: Grundlegende IDoc-Typen werden mitgeliefert SAP und können nicht geändert werden; Erweiterungstypen fügen bei Bedarf benutzerdefinierte Felder hinzu.
  • 🔁 Prozessabläufe: Ausgehende Nachrichten werden erstellt und versendet; eingehende Nachrichten werden über verknüpfte Funktionsbausteine ​​empfangen und versendet.
  • 🤖 KI-Aktivierung: KI-gestützte Überwachungstools erkennen IDoc-Fehler frühzeitig und ordnen Felder automatisch zu. SAP und nicht-SAP Partner.

SAP IDOC-Tutorial

Was ist ein IDoc?

IDoc ist einfach ein Datencontainer Wird zum Austausch von Informationen zwischen zwei beliebigen Prozessen verwendet, die die Syntax und Semantik der Daten verstehen können.

Mit anderen Worten: Ein IDoc ist wie eine Datendatei mit einem festgelegten Format, die zwischen zwei Systemen ausgetauscht wird, die wissen, wie diese Daten zu interpretieren sind.

IDoc steht für „Zwischendokument".

Wenn Sie eine outbound Im ALE- oder EDI-Prozess wird ein IDoc erstellt. SAP SystemIDocs werden in der Datenbank gespeichert, und jedes IDoc hat eine einzigartige Nummer innerhalb eines Kunden.

Hauptfunktionen

  • IDocs sind unabhängig von den Sende- und Empfangssystemen (SAPZuSAP sowie Nicht-SAP).
  • IDocs basieren auf EDI Standards, ANSI ASC X12 und EDIFACT. Bei Konflikten in der Datengröße verwendet IDoc die längere Datei.
  • IDocs sind unabhängig von der Richtung des Datenaustauschsz.B. unterstützt ORDERS01 im Einkaufsmodul sowohl eingehende als auch ausgehende Bestellungen.
  • IDocs können in einem angezeigt werden Texteditor weil die Daten im Zeichenformat anstatt im Binärformat gespeichert sind.

Struktur eines IDocs

Struktur eines IDocs

Die IDoc-Struktur besteht aus drei Teilen:

  1. Der Verwaltungsteil (Kontrolldatensatz) — enthält den IDoc-Typ, den Nachrichtentyp, den aktuellen Status, den Absender, den Empfänger und ähnliche Metadaten. Dies wird als Kontrolldatensatz bezeichnet.
  2. Die Anwendungsdaten (Datensatz) — enthält die Geschäftsdaten. Diese werden als Datensätze bezeichnet oder Segmente.
  3. Die Statusinformationen (Statusdatensatz) — liefert Informationen über die verschiedenen Phasen, die das IDoc durchlaufen hat.

Sie können ein IDoc mithilfe einer Transaktion anzeigen. WE02 or WE05.

IDoc-Datensatz mit Angaben zu Steuerung, Daten und Status

Wie im obigen Screenshot zu sehen ist, besteht der IDoc-Datensatz aus drei Teilen – Steuerung, Daten und Status. Jeder Teil wird im Folgenden detailliert erläutert.

Kontrolldatensatz

  • Alle Kontrolldatensätze werden im EDIDC Tabelle. Der Schlüssel zu dieser Tabelle ist die IDoc-Nummer.
  • Es enthält Informationen wie IDoc-Nummer, Richtung (eingehend/ausgehend), Absender, Empfängerinformationen, verwendeter Kanal und verwendeter Port.
  • Richtung „1“ bedeutet ausgehend und „2“ bedeutet eingehend.

Datensatz

  • Der Datensatz enthält Anwendungsdaten wie Mitarbeiterkopfdaten, wöchentliche Details, Kundendaten usw.
  • Alle Datensätze werden in Tabellen gespeichert. EDID2 zu EDID4 und EDIDD ist eine Struktur, deren Bestandteile man sehen kann.
  • Es enthält Daten wie die IDoc-Nummer, den Namen und die Nummer des Segments im IDoc, die Hierarchie und die Daten selbst.
  • Die eigentliche Nutzlast wird als Zeichenkette in einem Feld namens gespeichert. SDATEN, wobei es sich um ein Feld mit 1000 Zeichen handelt.

Statusaufzeichnung

  • Ein Statusdatensatz wird einem IDoc bei jedem Meilenstein oder beim Auftreten eines Fehlers angehängt.
  • Alle Statusdatensätze werden im EDIDS Tabelle.
  • Die Status 1–42 gelten für ausgehende Nachrichten, die Status 50–75 für eingehende Nachrichten.

IDoc-Typen

Ein IDoc-Typ (Basis) definiert die Struktur und das Format des auszutauschenden Geschäftsdokuments. Ein IDoc ist eine Instanz eines IDoc-Typs., genau wie das Konzept von Variablen und Variablentypen in ProgrammiersprachenIDoc-Typen können mithilfe von Transaktionen definiert werden. WE30.

Was ist ein Segment?

Ein Segment definiert das Format und die Struktur eines Datensatz in einem IDoc. Segmente sind wiederverwendbare Komponenten.

Für jedes Segment, SAP erstellt die folgenden Komponenten.

  • Segmenttyp (versionsunabhängig)
  • Segmentdefinition (versionsabhängig)
  • Segmentdokumentation

Die letzten drei Zeichen repräsentieren die Version des Segments. Definitionen können sich mit der Version ändern, der Segmenttyp bleibt jedoch gleich. Transaktion: WE31.

Segment in IDoc

Was ist ein Extension IDoc-Typ?

Ein IDoc ist von zwei Typen:

  1. Plug-and-Play-Betrieb
  2. Erweiterung

Basic- und Extension-IDoc-Typen

SAP bietet viele vordefinierte Basic IDoc-Typen, die kann nicht geändert werdenWenn Sie einem eingeschränkten Basistyp weitere Daten hinzufügen müssen, können Sie einen Erweiterungstyp verwenden. In den meisten Fällen werden Sie kein Frontalunterricht. Erweiterungen erforderlich.

Illustration des Erweiterungs-IDoc-Typs

Dokumentation

Jedes IDoc ist in der Transaktion vollständig dokumentiert. WE60.

IDoc-Dokumentation in WE60

Nachrichtentyp

Eine Nachricht stellt einen bestimmten Dokumenttyp dar, der transmitzwischen zwei Partnern ausgetauschte Daten, zum Beispiel Bestellungen, Bestellbestätigungen und Rechnungen.

Ein IDoc-Typ kann mehreren Nachrichtentypen zugeordnet sein. Umgekehrt kann ein Nachrichtentyp verschiedenen IDoc-Typen zugeordnet sein. Transaktion: WE81.

Nachrichtentyp in IDoc

IDoc-Ansichten

Ein IDoc-Typ kann für mehr als einen Nachrichtentyp verwendet werden, was dazu führt, dass IDocs mehr Felder enthalten als für einen bestimmten Nachrichtentyp erforderlich sind.

IDoc-Views verbessern die Performance bei der IDoc-Generierung, indem sie sicherstellen, dass nur die relevanten Segmente mit Daten gefüllt werden. IDoc-Views sind nur für die ausgehende Verarbeitung wichtig.

IDoc-Ansichten

Partnerprofile

Ein Partner ist ein Geschäftspartner, mit dem Sie Geschäfte tätigen und Dokumente austauschen.

Im Partnerprofil eines Partners, mit dem IDocs ausgetauscht werden, pflegen Sie die für den Datenaustausch notwendigen Parameter. Die verwendete Transaktion ist WE20.

Partnerprofile in IDoc

Hafen

Der Hafen definiert die technischen Merkmale der Verbindung zwischen Ihrem SAP Das System und das andere System, mit dem Sie Daten austauschen möchten (Subsystem). Der Port definiert das Medium, über das die Daten zwischen den beiden Systemen ausgetauscht werden.

Es gibt verschiedene Arten von Anschlüssen. Die beiden gebräuchlichsten sind: TRFC-Ports wird in ALE verwendet und Dateianschlüsse wird von EDI verwendet.

Für TRFC-Ports müssen Sie den Namen des logischen Ziels angeben, das mit folgendem Befehl erstellt wurde: SM59Bei Verwendung eines Dateiports kann das Verzeichnis angegeben werden, in dem die IDoc-Datei abgelegt werden soll. Das andere System oder die Middleware liest die Datei dann von dort aus. Ein Funktionsbaustein kann verwendet werden, um einen Dateinamen für das IDoc zu generieren. testingSie können „Ausgehende Datei“ verwenden, um einen festen Dateinamen anzugeben. Die Registerkarte „Ausgehender TriggerMit dieser Option können Sie Informationen bereitstellen, wenn Sie beim Erstellen eines IDocs an diesem Speicherort eine bestimmte Verarbeitung im Subsystem auslösen möchten. Geben Sie den Namen der Befehlsdatei und das Verzeichnis an, in dem der Befehl ausgeführt werden soll.

Port in IDoc

Gemeinsame IDoc-Transaktion Codes

Transaktion Code Zweck
WE02 / WE05 IDocs anzeigen und überwachen
WE30 IDoc-Typ erstellen oder ändern
WE31 Segment erstellen oder ändern
WE20 Partnerprofil pflegen
WE21 Häfen instand halten
WE42 Eingangsprozess definieren Code
WE57 Weisen Sie dem Nachrichtentyp das eingehende Funktionsmodul zu.
WE60 IDoc-Dokumentation
WE81 / WE82 Nachrichtentyp erstellen / IDoc-Typ zuordnen
BD51 Funktionsmodulmerkmale definieren
SM59 RFC-Ziele pflegen

IDoc-Prozess: Ein Beispiel aus der Praxis

Nehmen wir als Beispiel das Senden einer Bestellung an einen Lieferanten über IDoc.

  • Immer wenn eine Bestellung (PO) erstellt wird, muss das System ein IDoc an den Lieferanten senden.
  • Die Bestellung wird als IDoc an den Lieferanten (Partner) gesendet. Dieser Partner muss im System EDI-fähig sein. SAP erkennt an, dass es das Dokument elektronisch an diesen Anbieter senden kann.
  • Die vom Kunden als ausgehendes IDoc gesendete Bestellung wird für den Lieferanten zu einem eingehenden IDoc. SAP Das System des Anbieters kann dies verarbeiten, um ein Anwendungsdokument (einen Kundenauftrag) in seinem System zu erstellen.
  • Angebote, Angebotsanfragen, Bestellungen, Auftragsbestätigungen, Rechnungen und Lieferscheine gehören zu den am häufigsten über IDoc ausgetauschten Dokumenten.

Der Prozess der Datenübertragung aus Ihrem SAP System heißt das Ausgehender Prozesswährend Daten in Ihren SAP System heißt das Eingehender ProzessAls Entwickler oder Berater, der diese Prozesse für Ihr Unternehmen einrichtet, finden Sie die einzelnen Konfigurationsschritte im Folgenden detailliert beschrieben.

Der Outbound-Prozess

Beteiligte Schritte:

  1. Segmente erstellen (WE31).
  2. Erstellen Sie einen IDoc-Typ (WE30).
  3. Erstellen Sie einen Nachrichtentyp (WE81).
  4. Verknüpfen Sie den Nachrichtentyp mit dem IDoc-Typ (WE82).
  5. Erstellen Sie einen Port (WE21).
  6. Wenn Sie die Nachrichtensteuerungsmethode zum Auslösen von IDocs verwenden, erstellen Sie das Funktionsmodul, das das IDoc erstellt, und verknüpfen Sie es mit einem ausgehenden Prozess. Code.
  7. Alternativ können Sie ein Funktionsmodul oder ein eigenständiges Programm erstellen, das das IDoc direkt erzeugt.
  8. Erstellen Sie ein Partnerprofil (WE20) mit den erforderlichen Informationen in den Ausgangsparametern für den Partner, mit dem Sie das IDoc austauschen, und lösen Sie das IDoc aus.

Der Inbound-Prozess

Beteiligte Schritte:

  1. Erstellen Sie den Basis-IDoc-Typ (Transaktion WE30).
  2. Erstellen Sie den Nachrichtentyp (Transaktion WE81).
  3. Verknüpfen Sie den Nachrichtentyp mit dem Basis-IDoc-Typ (Transaktion WE82).
  4. Erstellen Sie den Funktionsbaustein zur Verarbeitung des IDocs.
  5. Funktionsbausteinmerkmale definieren (BD51).
  6. Ordnen Sie das eingehende Funktionsmodul dem Nachrichtentyp (WE57) zu.
  7. Definieren Sie den Prozess Code (Transaktion WE42).
  8. Partnerprofil erstellen (Transaktion WE20).

Häufig gestellte Fragen

IDoc ist asynchron und wird für die System-zu-System-Kommunikation über ALE oder EDI verwendet. BAPI ist synchron und wird für den Echtzeitzugriff verwendet. SAP Geschäftsobjekte. IDoc wird in die Warteschlange gestellt; BAPI gibt sofort eine Antwort zurück.

Ein IDoc-Typ definiert die technische Struktur von Segmenten und Feldern. Ein Nachrichtentyp definiert die geschäftliche Bedeutung, z. B. Bestellungen oder Rechnungen. Ein IDoc-Typ kann mehreren Nachrichtentypen zugeordnet werden und umgekehrt.

Verwenden Sie die Transaktionen WE02 oder WE05, um IDocs anzuzeigen und Statusdatensätze zu prüfen. Ausgehende IDocs verwenden die Statuscodes 1–42, eingehende die Statuscodes 50–75. Die Transaktion BD87 verarbeitet fehlerhafte IDocs erneut.

Das SDATA-Feld, das die Nutzdaten in jedem Datensatz speichert, ist 1000 Zeichen lang. Ein IDoc kann viele Datensätze enthalten, daher skaliert die Gesamtnutzdatenmenge mit der Anzahl der Segmente.

Ja. IDocs sind systemneutral und folgen EDI-Standards wie ANSI ASC X12 und EDIFACT. Nicht-SAP Systeme können IDoc-Dateien über Dateischnittstellen oder Middleware wie beispielsweise erzeugen oder verarbeiten. SAP PI/PO.

Die Steuerungsdatensätze befinden sich in der Tabelle EDIDC, die Datensätze in EDID2 bis EDID4 und die Statusdatensätze in EDIDS. Die IDoc-Nummer ist der Schlüssel, der alle drei Tabellen für ein bestimmtes IDoc miteinander verknüpft.

KI-gestützte Überwachungstools gruppieren wiederkehrende IDoc-Fehler, sagen Fehler anhand historischer Muster voraus und empfehlen Lösungen für Probleme mit Status 51 oder 56, wodurch die manuelle Nachbearbeitungszeit erheblich reduziert wird.

Ja. KI-gesteuerte Karteping Suchmaschinen vergleichen Segmentdefinitionen über SAP und Partnersysteme, Feldkarte vorschlagenpingund aus Fehlern der Vergangenheit lernen – wodurch die manuelle Konfiguration in ALE- und EDI-Projekten deutlich reduziert wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: