Chat with us, powered by LiveChat
3 min Lesezeit

Wie kann man ein IDoc als XML-Datei speichern?

IDocs in SAP

IDocs sind das zentrale Import- und Exportformat von SAP ERP-Systemen. So kommen IDocs beispielsweise beim Datenaustausch mit anderen Softwaremodulen zur Anwendung – zB bei der Übernahme von Kundendaten aus einem CRM-System. IDoc spielen auch beim elektronischen Datenaustausch (EDI) mit externen Lieferanten und Kunden eine wichtige Rolle.

Egal um welches Anwendungsszenario es sich handelt – oft steht man vor der Herausforderung, dass man genau ein bestimmtes IDoc als XML-Datei auf der lokalen Festplatte braucht. Ein erneuter Export über die in Transaktion WE20 eingerichteten Partnerprofile ist dabei oft nicht möglich, da dies zu unerwarteten Nebeneffekten führt – zB zu einem erneuten Auslösen einer Lieferavisierung an einen Kunden.

Stattdessen wird nur die XML-Datei benötigt – beispielsweise um ein Debugging von fehlerhaftem Verhalten in einer dem SAP nachgelagerten Software durchzuführen. Für den Export von IDoc-Daten stehen in SAP dabei eine Reihe von Funktionen zur Verfügung. In einem vergangenen Beitrag haben wir bereits den Export von IDoc-Daten als Excel-Datei vorgestellt. Auch für den Export von einem IDoc als XML-Datei stellt SAP Funktionen zur Verfügung.

Im Folgenden stellen wir eine Methode vor, die ohne die Verwendung von eigenem ABAP-Code auskommt. Dabei muss kein ABAP-Code erstellt und auf eine P-Stufe transportiert werden. Damit eignet sich die Methode auch gut für das Debugging auf einem P-System – vorausgesetzt der Benutzer verfügt über die notwendigen Rechte für Transaktion SE37.

IDoc als XML exportieren

Um ein IDoc als XML zu exportieren im ersten Schritt Transaktion SE37 öffnen.


Transaktion SE37 in SAP
Transaktion SE37 in SAP

Im Feld Funktionsbaustein den Baustein IDOC_XML_TRANSFORM eintragen und mit einem Klick auf F8 ausführen. Anschließend startet der Baustein mit folgender Benutzeroberfläche.


Nummer des IDocs eintragen
Nummer des IDocs eintragen

Im Feld DOCNUM nun die Nummer des IDocs eintragen, welches exportiert werden soll. Bevor ein Wert eingetragen werden kann, müssen die Nullen entfernt werden. Anschließend die Transaktion mit F8 ausführen. Wie in der folgenden Abbildung dargestellt, wird das IDoc nun als XML-Datei angezeigt.


XML-Darstellung des IDoc
XML-Darstellung des IDoc

Mit Strg+A, Strg+C und Strg+V kann der XML-Inhalt in einen beliebigen Editor übernommen werden.

Wie man auch im Screenshot erkennen kann, hat das erzeugte XML einen kleinen Schönheitsfehler – auf die öffnenden Spitzklammern (< und </) der Elemente folgen jeweils Leerzeichen und den schließenden Spitzklammern (>) sind Leerzeichen vorangestellt. Dadurch erfüllt das XML leider nicht die Anforderung der Wohlgeformtheit.

Abhilfe schafft hier das Kopieren der XML-Daten in einen Editor (zB Notepad++) und ein anschließendes Suchen und Ersetzen der Leerzeichen rund um die Spitzklammern.

Zusammen­fassung

Mit der hier vorgestellten Methode können IDoc-Daten rasch und unkompliziert als XML-Dateien aus einem SAP-System exportiert werden. Einziger Wehrmutstropfen ist die Tatsache, dass das resultierende XML nicht valide ist und mit einem Editor nach­bearbeitet werden muss, bevor es an eine andere Anwendung übergeben werden kann.

Noch Fragen?

Sie haben noch Fragen zum Thema IDocs und XML-Datein? Zögern Sie nicht und Nehmen Sie mit uns Kontakt auf oder benutzen Sie unseren Chat – wir helfen Ihnen gerne weiter!

Themen

Meistgelesen

Weiterlesen

Cookie Einstellungen

Hier sind alle Cookies aufgelistet die für Marketing Zwecke eingesetzt werden
LinkedIn (cn_LinkedINActive)
LinkedIn verwendet Cookies unter anderem um Ihre Einstellungen zu nutzen, Ihnen eine personalisierte Nutzererfahrung bieten zu können, und Ihnen auf Sie zugeschnittene Werbung anzeigen zu können.
Google Analytics (cn_AnalyticsActive)
Wird verwendet um Daten über das Nutzerverhalten und das Gerät des Nutzers an Google Analytics zu senden. Trackt den Besucher über verschiedene Geräte und Marketing Kanäle
Facebook (cn_FacebookActive)
Wird von Facebook genutzt, um eine Reihe von Werbeprodukten anzuzeigen, zum Beispiel Echtzeitgebote dritter Werbetreibender.
Google Adwords (cn_AddWordsActive)
Wird verwendet um Benutzer zu identifizieren, die die Website via Google Werbeanzeigen besuchen.
Pardot (cn_PardotActive)
Pardot verwendet Cookies, um Ihre Interaktion mit unserer Website sinnvoller zu gestalten. Sie helfen uns, die Nutzung unserer Websites besser zu verstehen, damit wir die Inhalte für Sie maßschneidern können.