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 uses cookies so as to provide you with a personalised user experience and show you relevant content.
Google Analytics (cn_AnalyticsActive)
Used to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across devices and marketing channels.
Facebook (cn_FacebookActive)
Used by Facebook to display a range of promotional products, such as third-party real-time bidding.
Google Adwords (cn_AddWordsActive)
Used to identify users visiting the website via Google Ads.
Pardot (cn_PardotActive)
Pardot uses cookies to make your interactions with our website more meaningful. They help us better understand what you’re looking for, so we can tailor content for you