Warum fehlerhafte IDocs auftreten können
Fehlerhafte IDocs sind eine typische Begleiterscheinung eines SAP ERP-Systems. Dabei trifft allerdings das ERP-System an sich keine Schuld, sondern zumeist werden unvollständige Daten von Anwendungsbausteinen erzeugt (bei ausgehenden IDocs) oder unvollständige Daten von Geschäftspartnern gesendet (bei eingehenden IDocs). Eine Übersicht über den aktuellen IDoc-Stand in einem SAP-System gibt unter anderem Transaktion BD87
. Übrigens: Wie Sie fehlerhafte IDocs einfach löschen können, lesen Sie in diesem Artikel.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
In jedem Fall müssen die fehlerhaften IDocs korrigiert werden, sodass eine erneute Verarbeitung angestoßen werden kann. Dabei unterscheiden wir im Folgenden zwischen zwei Arten der Nachbearbeitung, für die jeweils unterschiedliche Vorgehensweisen notwendig bzw. möglich sind.
Im ersten Fall sollen nur bestehende Daten in Segmenten und Feldern korrigiert werden. Hierzu verwenden wir Transaktion BD87
. Im zweiten Fall sollen neben der Korrektur von bestehenden Daten auch neue Segmente hinzugefügt werden. Für diesen Zweck ziehen wir Transaktion WE19
heran.
Wichtigster Unterschied: bei Transaktion BD87
wird das existierende IDoc bearbeitet — d.h. es wird keine Kopie angelegt. Bei Transaktion WE19
bleibt das ursprüngliche IDoc unangetastet und es wird automatisch eine Kopie des IDocs erzeugt und die Kopie verarbeitet.
Korrektur von bestehenden Daten
Sollen in einem IDoc nur bestehende Daten editiert werden, aber keine neuen Segmente hinzufügt werden, so kann man direkt über Transaktion BD87
eine Bearbeitung des IDocs anstoßen. Zu diesem Zweck auf den gewünschten IDoc-Typen doppelt klicken.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Anschließend öffnet sich eine Übersicht mit den betroffenen IDocs. Hier wiederum auf die gewünschte IDoc-Nummer klicken. In der unten abgebildeten Übersicht ist einfacherweise nur ein IDoc betroffen.
Anschließend öffnet sich die IDoc-Detailansicht, welche die internen Details des IDocs preisgibt.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Der Kontrollsatz ganz oben gibt Auskunft über die Details, welche sich in einem IDoc im EDI_DC40
-Segment verstecken. Wie man die Beschreibung der einzelnen IDoc-Segmente einsehen kann, haben wir in einem früheren Beitrag vorgestellt.
Unter Datensätze kann man die einzelnen Datensegmente einsehen. Im abgebildeten Lieferabruf-Typ DELFOR
ist das ROOT-Segment E1EDK09
. Mit einem Klick auf einen Subknoten kann man den Baum weiter aufspannen, sofern dies möglich ist. Vorhandene Subknoten werden durch das Symbol >
angezeigt. Im oben abgebildeten IDoc hat beispielsweise das Segment E1EDP10
weitere Subsegmente.
Von besonderem Interesse für die Fehlerbehebung sind die Statussätze eines IDocs, welche ganz unten abgebildet sind. Der letzte und damit aktuellste Zustand eines IDocs wird an oberster Stelle angeführt. Mit einem Klick auf den Statussatz kommt man zur Detailansicht, aus der man die genaue Fehlermeldung entnehmen kann. Sofern ein Fehlerstatus direkt einem Segment zugeordnet werden kann, ist auch das Segment in rot markiert.
Je nach Fehlerstatus sind die Fehlermeldungen mehr oder weniger aussagekräftig. Kommt man anhand der Fehlermeldung nicht auf den Fehler bzw. das fehlerhafte Segment, so hilft es einen SAP-Profi im Unternehmen zu fragen, der den Ablauf der IDoc-Verarbeitung in ABAP debuggen kann.
Hat man das fehlerhafte Segment identifiziert, kann man sich an die Korrektur machen. Mit einem Doppelklick auf das Papiersymbol öffnet sich die Detailansicht eines bestimmten Segments.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Anschließend kann man über die Menüleiste die Bearbeitung aktivieren.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Die Rückmeldung „Änderungen des IDocs werden auf die Datenbank geschrieben.“ muss bestätigt werden. Anschließend können bestehende Werte editiert und leere Felder befüllt werden.
Durch die Bearbeitung wechselt das IDoc den Status.
Bei eingehenden IDocs wechselt das IDoc zum Status 69 (IDoc wurde editiert). Gleichzeitig wird eine Kopie des ursprünglichen IDocs unter dem Status 70 (Original eines IDocs, welches editiert wurde) gespeichert.
Bei ausgehenden IDocs wechselt das IDoc zum Status 32 (Idoc wurde editiert). Gleichzeitig wird eine Kopie des ursprünglichen IDocs unter dem Satus 33 (Original eines IDocs, welches editiert wurde) gespeichert.
Die Verarbeitung des IDocs im Status 69 bzw. 32 kann anschließend in Transaktion BD87
noch einmal angestoßen werden.
Hinzufügen von neuen Segmenten
Das Hinzufügen von neuen Segmenten kann nicht direkt in der IDoc-Detailansicht erfolgen, sondern hierzu muss Transaktion WE19
verwendet werden.
Noch Fragen?
Sie haben noch Fragen zum Thema IDoc-Verarbeitung oder zum elektronischen Datenaustausch mit einem SAP ERP-System? 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.