IDoc
Inhaltsverzeichnis
- Was ist SAP IDoc?
- IDoc-Terminologie
- Pflege der Partnervereinbarung
- IDoc-Struktur
- Senden und empfangen von IDocs
- IDoc-Verarbeitung
- Testen und bearbeiten von IDocs
- Änderung des IDoc-Status
- Suchen von IDocs in SAP
- IDoc-Validierungen, häufige IDoc-Fehler und Lösungen
- Dokumentation für IDoc-Typen
- Allgemeine Informationen für gängige IDoc-Nachrichtentypen
- Archivierung / Löschung von IDocs aus der Datenbank
- Fazit
- FAQ
Was ist SAP IDoc?
IDoc (Intermediate Document) ist ein SAP-Objekt, das Daten eines Geschäftsvorfalls in Form einer elektronischen Nachricht von einem System zum anderen überträgt. Der Zweck eines IDocs ist es, Daten oder Informationen von SAP an andere Systeme zu übertragen und umgekehrt. Die Übertragung von SAP- zu Non-SAP-Systemen erfolgt über EDI-Subsysteme (Electronic Data Interchange), während Sie für die Übertragung zwischen zwei SAP-Systemen ALE (Application Link Enabling) verwenden.
Das IDoc können Sie im SAP-System oder im EDI-Subsystem auslösen. Dies hängt von der Richtung ab, in der Sie das IDoc senden, da Sie es entweder als Eingangs- oder Ausgangs-IDoc entsprechend aufrufen. Im Falle eines Ausgangsflusses lösen Sie das IDoc in SAP durch die Steuerung der Dokumentennachrichten aus senden es an das EDI-Subsystem. Das EDI-System konvertiert die Daten aus dem IDoc in XML oder ein gleichwertiges Format und sendet die Daten dann per Internet an das Partnersystem.
Für den Eingangsfluss konvertiert EDI die Partnerdaten und das IDoc wird in SAP erstellt. Nach erfolgreicher Verarbeitung dieses IDocs wird der Anwendungsbeleg in SAP gebucht.
EDI-Normen und IDoc
EDI steht für den elektronischen Austausch von Dokumenten zwischen Partnern. Dabei sind die Dokumente in einem Standardformat, damit unterschiedliche Systeme die Nachrichten entschlüsseln können. Für diese elektronische Übertragung gibt es zwei weit verbreitete Standards: ANSI ASC X12 und EDIFACT.
ANSI ASC X12 ist ein Gremium, das sich aus Vertretern großer Organisationen, Regierungsstellen und EDI-Softwareunternehmen zusammensetzt und Standards und Richtlinien für den Informationsaustausch über EDI definiert. UN/EDIFACT steht für United Nations EDI for Administration, Commerce and Transport und wurde 1985 mit ANSI X12 und UNTDI (United Nations Trade Data Interchange) als Basisstandards gegründet. ANSI X12 beschreibt Geschäftsdokumente als Transaktionen und jede Transaktion wird durch eine dreistellige Nummer dargestellt, z.B. 850 – Bestellung, 855 – Auftragsbestätigung. EDIFACT beschreibt Geschäftsdokumente als Nachrichten, die durch Standardnamen repräsentiert werden, z.B. ORDERS für Bestellungen.
IDoc-Terminologie
In diesem Kapitel erläutere ich Ihnen die unterschiedlichen Terminologien rund um IDoc.
IDoc (Basis)-Typ
IDoc-Typen basieren auf den EDI-Standards und meist auf EDIFACT-Standards. Basistypen (oder IDoc-Typ) definieren den Aufbau eines IDocs. Dabei beschreibt jeder Basistyp Standard IDoc-Segmente, das Format der Datenfelder und deren Größe. Der Basistyp definiert auch die Anzahl der Segmente und Felder in einem IDoc. Alle Felder, die für die Übertragung der Nachricht zu einem bestimmten Geschäftsvorgang notwendig sind, werden in verschiedenen Segmenten abgebildet. Sie definiert auch den Aufbau und die Beziehung von IDoc-Segmenten sowie von Muss- und Optionssegmenten.
IDoc-Erweiterung
Der Basistyp enthält alle Standardfelder, die für die Durchführung eines Geschäftsvorfalls erforderlich sind. Wenn Sie jedoch zusätzliche Werte an Ihren Partner senden wollen, können Sie die Funktion IDoc-Erweiterung nutzen. Die IDoc-Erweiterung ist eine Erweiterung des Basistyps und enthält zusätzliche benutzerdefinierte IDoc-Segmente und Felder, die im Standard-Basistyp nicht verfügbar sind.
IDoc-Segmente
IDoc-Segmente enthalten die eigentlichen Daten, die Sie an einen Partner senden oder von ihm empfangen. Diese Segmente enthalten die IST-Werte, die Sie im Rahmen der IDoc-Übertragung senden.
Über- und untergeordnete Segmente
Das IDoc-Segment wird als übergeordnetes Segment bezeichnet, wenn es eigene Segmente enthält. Die abhängigen Segmente werden als Untersegmente aufgerufen.
Eingang und Ausgang
Außerhalb des Systems gesendete IDocs heißen Ausgangs-IDocs und IDocs, die in das System eingehen, sind Eingangs-IDocs. SAP stellt die IDoc-Richtungen mit einer „1“ (Ausgang) bzw. einer „2“ (Eingang) dar.
Partner
Wenn Sie Nachrichten erhalten, sind Sie „Receiving Partner“ und wenn Sie Nachrichten verschicken, sind Sie „Sending Partner“. Außerdem unterscheiden Sie bei den Partnerarten zwischen „KU“ für Kunden, „LI“ für Lieferanten und „LS“ für logistische Systeme.
Prozesscode
Der Vorgangscode enthält die Details des Funktionsbausteins, die das System für die IDoc-Verarbeitung verwendet. Der Nachrichtentyp können Sie mit dem Vorgangscode verknüpfen.
Port
Der IDoc-Port enthält die Informationen darüber, wie Daten zwischen dem Quell- und Zielsystem gesendet werden. Die Art des Ports definiert die im Port enthaltenen Informationen. Für den Porttyp „Internet“ enthält der Port die IP-Adresse des Zielsystems. Für den Porttyp „Datei“ werden Verzeichnis- oder Dateinameninformationen gepflegt. Der Port „tRFC“ enthält Informationen über die RFC-Destination des Zielsystems. Die IDoc-Übertragung über ALE verwendet „tRFC“-Ports.
Pflege der Partnervereinbarung
In diesem Kapitel erläutere ich, wie Sie die unterschiedlichen Partnervereinbarungen pflegen können.
Partnerprofil (WE20)
Die Partnervereinbarung müssen Sie für alle Geschäftspartner pflegen, an die Sie die IDocs senden oder empfangen wollen. Der TCODE für die Pflege der Partnervereinbarung ist WE20. Die Partnervereinbarung enthält Parameter für die Eingangs- und Ausgangsverarbeitung von IDocs. Für jeden Nachrichtentyp können Sie Eingangs- / Ausgangsoptionen, Nachrichtensteuerung, Nachbearbeitungsoptionen und Kontaktinformationen innerhalb der Eingangs- und Ausgangsparameter pflegen.
Ausgangsoptionen
Zu den Ausgangsoptionen gehören der Sender-/Empfängerport, der Ausgabemodus und die Beziehung zum IDoc-Typ.
Nachrichtensteuerung
Die Nachrichtensteuerung enthält die Anwendung, für die ein IDoc erstellt wird. Wenn Sie z. B. eine Bestellung an den Lieferanten AXXXXXXZ senden wollen, dann müssen Sie in der Ausgangsoption des Partners AXXXXXXZ den Nachrichtentyp ZXX1 pflegen und mit dem Vorgangscode ME10 verknüpfen. Bei Auslösung des Nachrichtentyps ZXX1, wird ein IDoc für den Partnerlieferanten AXXXXXXZ erstellt.
Der Vorgangscode ist mit dem Funktionsbaustein in SAP verknüpft, der die Anwendungsdaten in ein IDoc umwandelt. Für diese Konvertierung stellt SAP Standardfunktionsbausteine zur Verfügung, die Sie jedoch auch an die jeweiligen Geschäftsanforderungen anpassen können.
Das Kennzeichen der Änderungsnachricht gibt an, ob das IDoc als Änderungsmitteilung gesendet wird. Bspw. senden Sie Änderungsnachrichten zur Bestellung über den EDI-Standardnachrichtentyp 860 an den Lieferanten.
In der Bestelländerung sollten Sie eine eigene Nachrichtenart auslösen. Dafür müssen Sie auf der Registerkarte „Nachrichtensteuerung“ mit eingeschaltetem Kennzeichen für Änderungsnachrichten eine zusätzliche Zeile mit Änderungsnachrichtentyp hinzufügen.
Eingangsoptionen (Eingangsparameter)
Bei Eingangsoptionen pflegen Sie den Vorgangscode nur im Eingangsbild.
Erhalten Sie in diesem zweitägigen Seminaren einen vollständigen Überblick über den technischen Aufbau von IDocs in SAP und lernen Sie, wie Sie eigene IDoc-Typen entwickeln und bestehende (z.B. SAP Standard-IDocs) erweitern können.
Nachbearbeitung (Eingangs- / Ausgangsparameter)
In der Nachbearbeitungsoption können Sie die Workflow-Details der Benutzer oder Positionen pflegen, an die eine Fehlermeldung gesendet wird, wenn eine IDoc-Verarbeitung fehlschlägt.
Telefonie (Inbound / Outbound-Parameter)
Im Reiter „Telefonie“ können Sie Kontaktdaten pflegen.
EDI-Standard (Ausgangsparameter)
Das EDI-Standardbild enthält die Details der Standard-EDI-Terminologie, die für die IDoc-Übertragung verwendet wird.
Der Nachrichtentyp 850 ist beispielsweise ein EDI-Standard für das Bestell-IDoc und ist mit dem IDoc-Nachrichtentyp Aufträge verknüpft.
IDoc-Struktur
Die IDoc-Struktur ist unterteilt in Kontroll-, Daten- und Statussätze, die Sie in transparenten Tabellen von SAP ablegen. Diese sind:
- Kontrollsatz (EDIDC): Der Kontrollsatz enthält Informationen wie IDoc-Nummer, Richtung, IDoc-Status, Basistyp, Nachrichtentyp, Partner (Sender / Empfänger), Datum und Uhrzeit der Erstellung/Aktualisierung, Austauschdatei oder ISA-Nummer, etc.
- Datensatz (EDID4): Der Datensatz enthält die Details zu den IDoc-Segmenten, die wiederum Felder für die Buchung der Belege der erforderlichen Daten enthalten.
- Statussatz (EDIDS): Ein Statussatz definiert den Verarbeitungsstatus des IDocs, damit Sie die verschiedenen Verarbeitungszustände stets verfolgen können.
Senden und empfangen von IDocs
Hier erläutere ich Ihnen, wie Sie IDocs in Ihrem System senden und empfangen.
Auslösen eines ausgehenden IDocs
Ausgangs-IDocs können Sie aus den Nachrichtentypen von u. a. Bestellungen, Lieferungen und Rechnungen auslösen. Die folgende Abbildung zeigt, dass nach der Verarbeitung der Ausgabe ZXX1 von PO XXXXXXXXXXX1 ein IDoc „00000000XXXXXXXXXXXXXXX1“ hinzugefügt wird.
Die Beziehung zwischen dem IDoc und dem Anwendungsbeleg können Sie entweder im IDoc oder im Anwendungsbeleg über die Registerkarte „Beziehung“ finden.
Ein erfolgreiches Ausgangs-IDoc durchläuft jeden Status in umgekehrter Reihenfolge (01-03-18-06-12-16), die jeweils einen IDoc-Validierungsschritt repräsentieren:
- 01: IDoc-Erzeugung erfolgreich
- 30: IDoc ist bereit für die Verarbeitung durch den IDoc-Verarbeitungsauftrag.
- 03: IDoc-Daten werden an den Port übergeben.
- 18: IDoc erfolgreich ausgelöst EDI-Subsystem
- 06: IDoc-Daten in EDI-Format übersetzt
- 12: IDoc wird erfolgreich an den Partner versendet.
- 16: Partner hat das IDoc erfolgreich empfangen.
Empfangen eines eingehenden IDocs
Der Initialstatus eines eingehenden IDocs ist 64 und der Erfolgsstatus 53. Weitere Statusnummern sind:
- 50: IDoc erfolgreich im System empfangen.
- 64: IDoc ist zur Verarbeitung durch den IDoc-Verarbeitungsauftrag bereit.
- 53: Anwendungsbeleg erstellt und erfolgreich gespeichert. Die Dokumentennummer können Sie durch Aufklappen des Statusknotens 53 finden.
Ein Eingangs-IDoc durchläuft alle oben genannten Status in umgekehrter Reihenfolge (50-64-53).
IDoc-Verarbeitung
Wie IDocs verarbeitet werden, erfahren Sie im Folgenden.
Automatisierte / sofortige Verarbeitung
In diesem Fall verarbeitet das System das IDoc sofort so, wie Sie es im System erzeugt oder hinzugefügt haben. In den Ausgangsoptionen ist die Option „IDoc sofort übertragen“ und in der Eingangsoption „Sofort auslösen“ ausgewählt. Diese Prüfungen werden im Allgemeinen eingesetzt, wenn der Echtzeit-Informationsaustausch zwischen zwei Systemen erforderlich ist.
Manuelle Verarbeitung
IDocs können Sie auch manuell über den TCODE BD87 in SAP verarbeiten.
Verarbeitung über Hintergrundjob
Die IDoc-Verarbeitung im Hintergrund ist die bevorzugte Art der Verarbeitung von IDocs. Folgende Programme werden von der Verarbeitung der IDocs über den Hintergrundjob verwendet:
- RBDAPP01 (Eingangs-IDocs)
- RSEOUT00 (Ausgangs-IDocs)
Aufbereitung von IDocs
Anhand des IDoc-Status können Sie verschiedene Programme zur Nachbearbeitung von fehlerhaften IDocs verwenden. Diese sind:
Testen und bearbeiten von IDocs
Wenn ein IDoc einen Fehler in den Daten enthält, können Sie solche IDocs mit dem TCode WE02 oder WE05 bearbeiten. Beim Bearbeiten eines IDocs speichern Sie die ursprünglichen IDoc-Informationen (Sicherung) in einem neuen IDoc unter dem Status 70 (für den Eingang) / 33 (für den Ausgang). Dieses IDoc bleibt nur als Referenz im System und Sie können es nicht verarbeiten. IDocs im Status 69 (Eingang) bzw. 32 (Ausgang) können Sie über die Transaktion BD87 oder Batch-Jobs verarbeiten.
Das Debuggen von IDocs erfolgt durch das Kopieren der IDocs mit dem TCode WE19, das ein Testwerkzeug für die Verarbeitung von IDocs ist. Dafür kopiert WE19 den vorhandenen IDoc und erstellt ein neues IDoc, das Sie dann je nach Testbedarf anpassen können. Das neu erzeugte IDoc können Sie dann auch über BD87 verarbeiten.
Änderung des IDoc-Status
Mit dem Report RC1_IDOC_SET_STATUS können Sie den Status des IDocs ändern.
Suchen von IDocs in SAP
Um IDocs zu suchen, können Sie unterschiedlich vorgehen.
Allgemeine Suche (TCODE WE02/WE05)
Über TCODE WE02 und WE05 können Sie sich IDocs im System anzeigen lassen. Wenn Ihnen die IDoc-Nummer nicht bekannt ist, können Sie das IDoc anhand des Datums, der Richtung, des Grundtyps, des Nachrichtentyp und der Partnernummer suchen. Die Partnernummer finden Sie in den Ausgabemeldungen der Dokumente. Die IDoc-Suche kann auch auf Basis von ISA oder Transferfile Reference erfolgen.
Datensuche in IDoc-Segmenten (TCODE WE09)
Wenn Sie nach spezifischen Informationen innerhalb der IDoc-Segmente suchen, können Sie TCODE WE09 nutzen. Dieser ist nützlich, wenn Sie innerhalb von IDoc-Segmenten nach einer bestimmten Information suchen. Wenn Sie bspw. eine bestimmte Bestellnummer, z.B. 10000000001, in mehreren IDocs suchen möchten, die im Segment E1EDK01 eines IDocs unter dem Feld BELNR liegt. Dann können Sie die Suche, wie in der Abbildung zu sehen ist, durchführen.
IDoc-Validierungen, häufige IDoc-Fehler und Lösungen
In der folgenden Abbildung finden Sie häufige Fehler mit Möglichkeiten, wie Sie diese lösen können:
Dokumentation für IDoc-Typen
Die IDoc-Dokumentation finden Sie mit dem TCODE WE60, der Ihnen dabei helfen kann, Informationen über den IDoc-Typ oder sein bestimmtes Segment zu erhalten. Es enthält auch Informationen wie obligatorische und optionale Segmente oder minimale und maximale Anzahl von Segmenten.
Allgemeine Informationen für gängige IDoc-Nachrichtentypen
Die folgende Liste enthält die Kombination aus Basistyp und Nachrichtentyp für gängige IDocs:
Archivierung / Löschung von IDocs aus der Datenbank
Archivierte IDocs können Sie mit TCODE SARI im Achieve Explorer über das Archivierungsobjekt als IDoc betrachten. Nachfolgend sind die wenigen Programme aufgeführt, die Sie zum Archivieren und Löschen von IDocs von der Datenbank verwenden können:
Fazit
Die Terminologie rund um IDocs ist sehr groß, wodurch die Bedeutung einzelner Begriffe schnell mal in Vergessenheit geraten kann. Daher hoffe ich, dass Ihnen dieser Artikel dabei geholfen hat, einen besseren Überblick der IDoc-Begriffswelt bekommen zu haben.
Websession: IDoc
Sollten Sie Fragen zu uns und unserer Arbeit oder konkret zu Umstellungsprojekten haben, dann vereinbaren Sie eine kostenlose Websession mit uns.
FAQ
Was ist SAP IDoc?
IDoc ist ein Werkzeug in SAP, mit dem Sie Nachrichten zwischen SAP-Systemen verschicken und empfangen können. Bei den Nachrichten handelt es sich um Geschäftsdokumente, wie Lieferscheine, Rechnungen und Bestellungen.
Wie werden SAP IDocs gesendet und empfangen?
Ausgangs-IDocs werden aus SAP ausgelöst und an ein EDI-Subsystem gesendet. Eingehende IDocs werden von EDI-Systemen empfangen, ins SAP-System konvertiert und dann dort verarbeitet.
Was ist der Unterschied zwischen einem Basistyp und einer IDoc-Erweiterung?
Der Basistyp definiert den grundlegenden Aufbau eines IDocs. Eine IDoc-Erweiterung fügt zusätzliche benutzerdefinierte Felder hinzu, um spezielle Anforderungen zu erfüllen.
Ein Kommentar zu "IDoc"
Schöner Guide, vielen Dank dafür!