IDocs sind das zentrale Format für den Import und den Export von Dokumenten in und aus einem SAP ERP-System. Dabei wird der Begriff *IDoc* jedoch nicht immer einheitlich verwendet und je nach Anwender wird unter IDoc etwas Anderes verstanden. Wir geben im folgenden Beitrag einen Überblick über die Grundlagen hinter einem IDoc und nehmen eine Begriffsabgrenzung vor für IDoc-Basistyp und IDoc-Nachrichtentyp..
IDoc – Begriffsabgrenzung Nachrichtentyp
Für den Import- und Export von Daten in und aus einem SAP ERP-System sind IDocs ein unerlässliches Hilfsmittel. Die Grundidee hinter einem IDoc haben wir bereits in einem früheren Beitrag vorgestellt.
Der Begriff IDoc wird nicht immer eindeutig verwendet. Oft versteht ein ABAP-Programmierer etwas Anderes unter einem IDoc als ein SAP-Consultant oder ein EDI-Projektmanager. In diesem Beitrag wollen wir daher die folgenden fünf IDoc-Begriffe voneinander abgrenzen und genauer auf die einzelnen Konzepte eingehen.
- IDoc-Instanz
- IDoc-Datei
- Logischer Nachrichtentyp
- IDoc Basistyp
- IDoc-Erweiterungstyp
IDoc-Instanz
Unter einer IDoc-Instanz versteht man ein konkretes IDoc, das in einem SAP-System existiert. IDocs werden SAP-intern in der Datenbank gespeichert, wobei folgende Tabellen befüllt werden:
- EDIDC
Enthält einen Control Record pro IDoc mit einer eindeutigen IDoc-Nummer. - EDID4
Enthält einen bis mehrere Data Records. Die Referenz auf den Control Record erfolgt über die eindeutige IDoc-Nummer. - EDIDS
Enthält einen bis mehrere Status Records. Die Referenz auf den Control Record erfolgt über die eindeutige IDoc-Nummer.
Üblicherweise greift man als Anwender aber nicht direkt auf die Datenbanktabellen zu, sondern verwendet eine entsprechende SAP-Transaktion, wie beispielsweise BD87. Die folgende Abbildung zeigt das IDoc Nr. 1068215 in Transaktion BD87.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
IDoc-Datei
Um ein IDoc zwischen einem SAP-System und einem externen System auszutauschen, wird eine IDoc-Instanz in eine physische Datei serialisiert. Dabei gibt es prinzipiell zwei Darstellungsarten – ASCII-IDocs und XML-IDocs. In modernen SAP ERP-Systemen kommen üblicherweise XML-IDocs zur Anwendung.
Die folgende Abbildung zeigt das XML-IDoc eines Lieferabrufs. Dieses XML-IDoc wurde an das SAP-System gesendet, wo es als IDoc Nr. 1068215 gespeichert wurde.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Die Hierarchie des IDocs im XML-Baum ist ähnlich zu der Darstellung in Transaktion BD87. Die folgende Abbildung zeigt das in der Datenbank gespeicherte IDoc 1068215 in Transaktion BD87.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Logischer IDoc-Nachrichtentyp
Unter einem logischen Nachrichtentyp versteht man den Typ eines Geschäftsdokuments in einem SAP-System. Der Nachrichtentyp definiert dabei die Art des IDocs – z. B. eine Bestellung (ORDERS). Ein Nachrichtentyp kann dabei verschiedene Zwecke haben. So kann der Nachrichtentyp ORDERS zum Beispiel für eine ausgehende Bestellung oder für eine eingehende Bestellung verwendet werden.
In der XML-Darstellung eines IDocs findet man den logischen Nachrichtentyp im Element <MESTYP>
, ein Subelement von <EDI_DC40>
. Siehe hierzu auch noch einmal die XML-Darstellung des IDocs weiter oben.
Der logische Nachrichtentyp definiert, welche Anwendungslogik für das IDoc in einem SAP-System angesteuert wird. Damit ist der logische Nachrichtentyp die Verbindung zwischen Struktur der Information und der Programmlogik.
Die Struktur des logischen Nachrichtentyps wird dabei durch den IDoc-Basistyp beschrieben, den wir im nächsten Abschnitt vorstellen.
IDoc Basistyp
Der IDoc-Basistyp gibt die Struktur für einen logischen Nachrichtentyp vor. Die folgende Abbildung zeigt die Struktur von IDoc Nr. 1068215 in Transaktion WE19. Der verwendete IDoc-Basistyp ist in diesem Fall DELFOR02.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Ein IDoc-Basistyp kann die Basis für mehrere Arten von logischen Nachrichtentypen sein. Ein ORDERS05-Basistyp ist beispielsweise die Grundlage einer Bestellung (ORDERS), Bestelländerung (ORDCHG), Bestellbestätigung (ORDRSP), Angebotsanfrage (REQOTE) usw.
In der XML-Darstellung eines IDocs findet man den Basistyp im Element <IDOCTYP>
, ein Subelement von <EDI_DC40>
. Siehe hierzu auch noch einmal die XML-Darstellung des IDocs weiter oben.
Um eine Liste aller Basistypen mit den dazugehörigen logischen Nachrichtentypen zu bekommen, kann man im SAP eine Abfrage über folgende drei Tabellen vornehmen.
- EDIMSG (Nachrichtenarten und Zuordnung zu IDoc-Typen)
- EDBAS (Basistypen)
- EDBAST (Kurzbeschreibung des Basistyps)
Dazu kann man beispielsweise den QuickViewer (Transaktion SQVI) verwenden.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Die zwei logischen Nachrichtentypen für den IDoc Basistyp DELFOR02 sind beispielsweise DELINS (Lieferabruf) und DELJIT (Feinabruf).
IDoc-Erweiterungs-Typ
Ein IDoc-Erweiterungs-Typ ist ein IDoc-Basistyp mit einem oder mehreren erweiterten Segmenten. Der SAP-Nomenklatur folgend, beginnen IDoc-Erweiterungstypen mit einem Z
.
Noch Fragen?
Sie haben noch Fragen zum Thema IDoc, SAP oder zum Thema elektronischer Datenaustausch? Zögern Sie nicht und nehmen Sie mit uns Kontakt auf oder benutzen Sie unseren Chat – wir helfen Ihnen gerne weiter!
SAP ERP und SAP S/4HANA sind die Marken oder eingetragenen Marken der SAP SE oder ihrer verbundenen Unternehmen in Deutschland und mehreren anderen Ländern.