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.

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
Die IDoc-Struktur besteht aus drei Teilen:
- 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.
- Die Anwendungsdaten (Datensatz) — enthält die Geschäftsdaten. Diese werden als Datensätze bezeichnet oder Segmente.
- 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.
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.
Was ist ein Extension IDoc-Typ?
Ein IDoc ist von zwei Typen:
- Plug-and-Play-Betrieb
- Erweiterung
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.
Dokumentation
Jedes IDoc ist in der Transaktion vollständig dokumentiert. 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.
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.
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.
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.
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:
- Segmente erstellen (WE31).
- Erstellen Sie einen IDoc-Typ (WE30).
- Erstellen Sie einen Nachrichtentyp (WE81).
- Verknüpfen Sie den Nachrichtentyp mit dem IDoc-Typ (WE82).
- Erstellen Sie einen Port (WE21).
- 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.
- Alternativ können Sie ein Funktionsmodul oder ein eigenständiges Programm erstellen, das das IDoc direkt erzeugt.
- 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:
- Erstellen Sie den Basis-IDoc-Typ (Transaktion WE30).
- Erstellen Sie den Nachrichtentyp (Transaktion WE81).
- Verknüpfen Sie den Nachrichtentyp mit dem Basis-IDoc-Typ (Transaktion WE82).
- Erstellen Sie den Funktionsbaustein zur Verarbeitung des IDocs.
- Funktionsbausteinmerkmale definieren (BD51).
- Ordnen Sie das eingehende Funktionsmodul dem Nachrichtentyp (WE57) zu.
- Definieren Sie den Prozess Code (Transaktion WE42).
- Partnerprofil erstellen (Transaktion WE20).










