Aufbau eines IDocs: Technische Realisierung
IDocs sind SAP-intern in drei Datenbanktabellen abgelegt: Einer Tabelle für den Kontrollsatz, einer für die Datensätze, und einer für die Statussätze.
In der IDoc-Schnittstelle nach außen (d.h. wie sie an das Folgesystem übergeben werden) befinden sich die IDocs in drei Strukturen, die den Datenbanktabellen entsprechen: Dort gibt es also genauso Kontroll- Daten- und Statussatz. Die Beschreibung der einzelnen Felder ist im System über die Dokumentationswerkzeuge zugänglich.
Die folgende Abbildung zeigt den Grundaufbau der IDocs im SAP-System (IDoc-Schnittstelle nach außen, d.h. die „externen Strukturen"), mit einigen Beispielfeldern.
Die Eltern-Kind-Struktur der Segmente wird durch das Feld
PSGNUM ermöglicht, das die Nummer des Elternsegmentes (falls vorhanden) trägt. Das Feld HLEVEL enthält zudem noch die Hierarchieebene. Die eigentlichen Anwendungsdaten, d.h. das eigentliche Segment, finden sich im Feld SDATA . Dieses Feld wird wiederum in einzelne Anwendungsfelder unterteilt. Die Maximallänge von SDATA beträgt 1000 Bytes.Das Feld
SEGNUM im Statussatz dient dazu, Segmente zu identifizieren, bei denen es zu Syntaxfehlern gekommen ist. SEGFLD erfüllt die gleiche Funktion auf der untersten Ebene der Segmentfelder.Ein Segment ist als Mußsegment im IDoc-Typ definiert, wurde aber beim Erzeugen des konkreten IDocs nicht gefüllt. Daher gibt es dieses Mußsegment im betreffenden IDoc nicht - die Syntaxprüfung meldet einen Fehler, im Feld