IDoc

IDocs werden in den meisten SAP-Anwendungen zur Übertragung von Nachrichten (Informationen) vom SAP-System an andere Systeme und umgekehrt verwendet. Hier gibt es eine Menge an unterschiedlichen Terminologien, die ich Ihnen in diesem Knowhow-Artikel erläutern werde.

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.

IDoc Informationsfluss

Abb. 1: Informationsfluss In- und Outbound.

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.

IDoc Segmente

Abb. 2: IDoc über- und untergeordnete Segmente.

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.

Unser E-Book zum Thema SAP IDoc

SAP IDoc [E-Book]

In diesem E-Book ist unser Know-how zu SAP IDoc zusammengefasst.

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.

IDoc Nachrichtentyp

Abb. 3: Mit dem Nachrichtentyp ZXX1 wird ein IDoc für den Partnerlieferanten 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.

IDoc Änderungsnachrichtentyp

Abb. 4: Fügen Sie eine zusätzliche Zeile mit Änderungsnachrichtentyp hinzu.

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.

IDoc Nachbearbeitungsoption

Abb. 5: Workflow-Details in der Nachbearbeitungsoption pflegen.

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.

IDoc EDI-Standard

Abb. 6: Das EDI-Standardbild.

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.

IDoc

Abb. 7: Ein neues IDoc wurde hinzugefügt.

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:

IDoc Nachbearbeitung

Abb. 8: Verschiedene Programme zur Nachbearbeitung von fehlerhaften IDocs.

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.

Beitragsbild-So sparen Sie mit Testmanagement Zeit und Ressourcen
In diesem Webinar zeigen wir Ihnen, wie Sie mit einem systematischen Testmanagement schnell und gezielt Fehler minimieren und die Qualität Ihrer Software erhöhen können. 

Ä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 Bestellnummer Suche

Abb. 9: Nach einer bestimmten Bestellnummer suchen.

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:

IDoc Fehler

Abb. 10: Häufige IDoc-Fehler und deren Lösungen.

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:

IDoc-Typen

Abb. 11: Gängige IDoc-Typen.

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:

IDoc Archivierung

Abb. 12: Archivierung und Löschung von IDocs.

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.

Lordieck

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.

Was können SAP IDocs?

SAP IDocs werden dafür genutzt, um Geschäftsdokumente in das SAP-Systemen zu importieren bzw. aus dem System zu exportieren.

 Save as PDF

Christoph Lordieck

Christoph Lordieck

Als Bereichsleiter SAP Entwicklung berate ich Unternehmen rund um das Thema SAP Individualentwicklung. Einige Jahre Projekt- und Umsetzungserfahrung haben meinen Wissenshunger noch nicht gestillt und ich suche ständig nach neuen Themen und Entwicklungen im ABAP-Umfeld.

Sie haben Fragen? Kontaktieren Sie mich!


Verwandte Beiträge

Im Bereich Anwenderfreundlichkeit und Bedienbarkeit, Stichwort SAP User Experience, sind die Möglichkeiten im SAP besser als ihr Ruf. Es kommt auf die richtigen Strategie und eine gut überlegte Technologieauswahl an. […]

weiterlesen

In vielen Unternehmen wurde die Softwareentwicklung in den vergangenen Jahren durch Methoden wie Scrum oder Kanban immer agiler gestaltet. Dieses agile Arbeiten findet immer mehr Einzug in größere IT-Projekte, da […]

weiterlesen

Mit SAP PO ist es möglich, On-Premises- und Cloud-Lösungen zu integrieren und so eine hybride IT-Systemlandschaft zu schaffen. Trotzdem setzt SAP aus strategischen Gründen bald auf eine andere Middleware: Spätestens […]

weiterlesen

Ein Kommentar zu "IDoc"

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice