- 2. Februar 2017
  2 Kommentare

How-to: SAP IDoc über HTTP versenden

Die gängigste Variante der Übertragung von IDocs von einem auf ein anderes System ist der Weg über das Dateisystem. Eine weitere Möglichkeit der Übertragung von IDocs ist das direkte Senden per http. Die Voraussetzungen dafür bringt SAP bereits mit, sodass lediglich die Konfiguration an entsprechenden Stellen notwendig ist jedoch keine weitere Software oder ähnliches benötigt wird.

Damit IDocs per http aus einem SAP-System gesendet werden können, müssen zunächst eine RFC-Verbindung und ein entsprechender Port konfiguriert werden. Wie diese beiden Schritte vollzogen werden und die Verbindung getestet wird kann wird im Folgenden dargestellt.

Wir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.
Schon in der Ideenphase unterstützen wir Sie bei der Definition der Anforderungen. Die Konzeption und Umsetzung erfolgt durch unsere SAP Experten.

Sie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Mit professionellem Projektmanagement sicheren wir den Projekterfolg.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail biermann@erlebe-software.de
Ingo Biermann, Fachbereichsleiter

Schritt 1: Konfiguration RFC-Verbindung

Der erste Schritt ist die Konfiguration einer RFC-Verbindung. Dazu öffnet man die Transaktion SM59 (Konfiguration der RFC-Verbindungen). Hier gibt es mehrere Typen von RFC-verbindungen aus denen einer ausgewählt wird. Im vorliegenden Beispiel, soll das IDoc an einen externen Server versendet werden, daher wird „http-Verbindungen zu ext. Server“ markiert und über die Schaltfläche „Anlegen“ öffnet sich die Konfigurationsmaske.

Konfiguration der RFC-Verbindung

Konfiguration der RFC-Verbindung

Hier wird der Verbindung zunächst ein Name gegeben sowie eine Beschreibung gepflegt. Im vorliegenden Beispiel heisst die RFC-Verbindung „ZTEST“. Im Reiter „Technische Einstellungen“ können Zielmaschine, Servicenummer und Pfadpräfix gepflegt werden. Im Beispiel ist der externe Server ein online Tool, welches den http-Request entgegennimmt und die übermittelten Daten anzeigt. Daher ist die Zielmaschine „mockbin.org“, die Servicenummer (oder Port) bleibt leer und das Pfadpräfix ist der Pfad zu unserem sogenannten „bin“, den wir angelegt haben also „/bin/4502cf8b-b2b8-4ee8-8ff8-f30ab60022ee“. Der „bin“ ist der „Behälter“ in dem die gesendeten Anfragen gesammelt werden. Also gibt der Pfad den Ablageort der Anfragen an. Die übrigen Reiter bleiben unbeachtet.

Tipp: Unter mockbin.org kann mit einem Klick auf „Create Bin“ ganz einfach ein „bin“ angelegt werden. Im Konfigurationsfenster als Vorlage XML auswählen und „bin“ erstellen. Die zugehörige URL kann dann aus der Adressleiste des Browsers übernommen werden.

Daten der RFC-Verbindung

Daten der RFC-Verbindung

Schritt 2: Port einrichten

Der zweite Schritt ist die Einrichtung des Ports. Dies geschieht in der Transaktion WE21. Hier ist das Vorgehen zunächst ähnlich zu Schritt 1. Es gibt erneut mehrere Typen und es wird einer ausgewählt um dann mit der Schaltfläche „Anlegen (F7)“ fortzusetzen. Im Beispiel wird der Port Typ „XML-http“ verwendet. Dieser ist für die Übertragung per http gedacht. Nach dem Klick auf die Schaltfläche „Anlegen“ öffnet sich im rechten Teil des Fensters eine Maske zur Konfiguration des neuen Ports. Zunächst werden ein Name und eine Beschreibung gepflegt. Hinter RFC-Destination wird die in Schritt 1 konfigurierte RFC-Verbindung eingetragen. Im verwendeten Beispiel „ZTEST“. Beim „Content type“ wird text/xml ausgewählt. Die Checkbox „SOAP-Protokoll“ kann wahlweise aktiviert oder deaktiviert werden. SOAP ist ein Netzwerkprotokoll für den Datenaustausch, welches verwendet werden kann, aber nicht muss. Bei der Verwendung von SOAP muss sichergestellt sein, dass das empfangende System das entsprechende Format unterstützt. Im Beispiel bleibt die Checkbox deaktiviert, sodass SOAP nicht verwendet wird.

Hinzufügen des Ports

Hinzufügen des Ports

Schritt 3: IDoc-Verarbeitung Testen

Mit diesen beiden Schritten ist die Konfiguration in SAP bereits abgeschlossen und die Verbindung kann getestet werden. Dazu beinhaltet SAP die Transaktion WE19. Mit dieser Transaktion kann ein IDoc zu Testzwecken versendet werden. Unter anderem gibt es dort die Möglichkeit ein bestehendes IDoc als Vorlage zunehmen und eine Kopie davon zu versenden. Dies ermöglicht einen praxisnahen Test. Diese Variante ist auch diejenige, die im Beispiel verwendet wird. Dazu wird über die Wertehilfe eine passende Vorlage gesucht und verwendet.
Tipp: Am besten verwendet man, falls vorhanden, ein IDoc welches an den Partner gerichtet war, welcher zukünftig per http erreicht werden soll. So kann mit echten Daten getestet werden und eine manuelle Eingabe von Testdaten wird umgangen.

Testwerkzeug - Wahl der Vorlage

Testwerkzeug – Wahl der Vorlage

Im darauffolgenden Fenster, wird das IDoc in einer Baumstruktur dargestellt und die Daten können angepasst werden. Da ein neuer Port angelegt wurde müssen auf jeden Fall die Felder des Kontrollsatzes angepasst werden. Zum Öffnen der entsprechenden Maske genügt ein Doppelklick auf die Daten hinter „EDIDC“.

Testwerkzeug - IDoc Ansicht

Testwerkzeug – IDoc Ansicht

Im Beispiel wird für den Empfänger der Port „ZTEST_PORT“ und „Partnernummer MI7CLNT800″ verwendet. Der Port wurde im zweiten Schritt konfiguriert und die Partnernummer ist die ID des Geschäftspartners, an den das IDoc „adressiert“ sein soll. Für den Absender wird der Port des SAP Systems verwendet und die entsprechende Partnernummer angegeben. Im Beispiel sind sendender und empfangender Partner identisch. Der Nachrichtentyp ist der aus der Vorlage übernommene.
Achtung: Der Port muss in der Partnervereinbarung als Ausgangsparameter vorhanden sein!

Der Versand wird mit einem Klick auf die Schaltfläche „Standard Ausgabe“ gestartet.

Testwerkzeug - Kontrollsatzfelder editieren

Testwerkzeug – Kontrollsatzfelder editieren

Wenn der Versand erfolgreich war erscheint folgende Meldung:

Sendebestätigung

Sendebestätigung

Ergebnis:

Das Ergebnis ist in SAP in der Transaktion WE02 sichtbar. Das versendete IDoc hat den Status 03 „Datenübergabe an Port OK“.

Ergebnis - IDoc Liste

Ergebnis – IDoc Liste

Im online Tool findet man das Ergebnis unter mockbin.org/bin/4502cf8b-b2b8-4ee8-8ff8-f30ab60022ee.

Ergebnis - Test Tool

Ergebnis – Test Tool

Im nächsten Blogbeitrag wird die Konfiguration zum Empfangen eines IDoc beschrieben.


SHARE



2 Kommentare zu "How-to: SAP IDoc über HTTP versenden"

Andreas Mann - 6. Februar 2017 | 09:45

Vielen Dank – sehr informativ.
Wir haben einen externen webshop, welcher mit einer file-Schnittstelle beliefert wird und auch Aufträge aus dem webshop per file zurückmeldet.
Es werden also im batch Stammdaten und Buchungen per xml-file exportiert und importiert.
Man könnte nun also alle relevanten Stammdatenänderungen, Aufträge, Faktura, etc. per idoc über http versenden und das real time?
Und alle idoc Schnittstellen (hier SD) und ports etc sind vorhanden? So daß man das Ganze in ein paar Wochen umstellen könnte?

Antworten
Felix Tissen - 7. Februar 2017 | 18:58

Hallo Herr Mann,
die XML-HTTP Schnittstelle kann den Weg über die XML-Datei Schnittstelle ersetzen. SAP-seitig muss der entsprechende Port eingerichtet werden. Analog zu dem, den es für die XML-Datei Schnittstelle gibt. Hinzu kommt die RFC-Verbindung und die Partnervereinbarung.
Eine weitere wichtige Voraussetzung ist, dass der Webshop mit den HTTP-Anfragen umgehen kann.

Sind diese Voraussetzungen gegeben, ist eine Umstellung möglich.

Viele Grüße
Felix Tissen

Antworten

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.