Difference between revisions of "HVS32 SAP IDOC Schnittstelle (Automatik-Polling)"
Line 33: | Line 33: | ||
= Notwendige SAP-Komponenten/-Parameter = | = Notwendige SAP-Komponenten/-Parameter = | ||
− | * neueste Version 3 der SAP | + | * neueste Version 3 der SAP Bibliotheken Java Connector (JCo) und SAP IDOC in 32Bit |
* SAP GUI Installation auf dem Server, auf welchem der DataGatewayServer installiert ist - alternativ eine manuelle Anpassung der %SystemRoot%\system32\drivers\etc\services und %SystemRoot%\system32\drivers\etc\hosts | * SAP GUI Installation auf dem Server, auf welchem der DataGatewayServer installiert ist - alternativ eine manuelle Anpassung der %SystemRoot%\system32\drivers\etc\services und %SystemRoot%\system32\drivers\etc\hosts | ||
* eine definierte Destination mit Verbindungstyp T (TCP/IP-Verbindung) im SAP-System über die Transaktion SM59 ([[#Destination_.C3.BCber_SM59_definieren|siehe Destination über SM59 definieren]]) | * eine definierte Destination mit Verbindungstyp T (TCP/IP-Verbindung) im SAP-System über die Transaktion SM59 ([[#Destination_.C3.BCber_SM59_definieren|siehe Destination über SM59 definieren]]) |
Revision as of 13:38, 16 September 2020
Voraussetzungen
DGS-Version | 3.6.0.550 oder höher |
DGS-Plugins | HVS32Client, SAP IDoc Server, (optional für Rückmeldungen via IDoc: SAP IDoc Client) |
Funktionsbeschreibung
Der DataGatewayServer (DGS) nutzt für die Kommunikation mit einem SAP System die SAP Bibliothek "JCo" und agiert beim Automatik Polling als JCo Server-Programm.
Der DGS ist die zentrale Kommunikationseinheit, über die sämtliche Daten zwischen dem Versandsystem und dem SAP-System ausgetauscht werden. Er läuft in Form eines Dienstes auf einem Windows-Server.
Die Daten werden im IDoc-Format über das auf TCP/IP basierende SAP-RFC-Protokoll (Remote Function Call) vom DGS empfangen. Je HVS32-Funktion muss ein eigener IDoc Type verwendet werden. Die IDoc-Typen konnen sowohl Basistypen, individualisierte Basistypen als auch komplett individuelle IDocs sein.
Damit vom SAP-System IDocs an den DataGatewayServer gesendet werden können, registriert sich dieser selbständig als externes RFC-Server-Programm (unter einer Programm-ID) bei einem SAP-Gateway (nicht für ein spezifisches SAP-System) und wartet auf eingehende RFC-Aufrufe.
Wenn ein RFC-Aufruf von einem beliebigen SAP-System an dieses SAP Gateway mit der Option "Verbindung mit einem bereits registrierten Programm" (mit der selben Programm-ID) übermittelt wird, findet die Verbindung mit dem DGS statt.
Nach dem Ausführen einer RFC-Funktion wartet der DGS auf weitere RFC-Aufrufe vom selben oder einem anderen SAP-System.
Im Falle einer unterbrochenen oder beendeten RFC-Verbindung registriert sich der DGS automatisch wieder am selben SAP Gateway unter der selben Programm-ID.
Nach dem Erzeugen des IDoc, wird dieses über einen transaktionsbasierten RFC an den DataGatewayServer gesendet. Dabei wird nicht auf eine Antwort gewartet, das heißt der Aufruf erfolgt asynchron.
Sobald das IDoc im DGS ankommt, wird anhand der enthaltenen Steuerinformationen eine passende HVS32-Station zur Verarbeitung gesucht. Falls keine Station zur Verfügung steht, wird das IDoc als fehlerhaft protokolliert und verworfen. Im anderen Fall werden die Daten in das spezielle HVS32-XML-Format umgesetzt, das schließlich an die ausgewählte HVS32-Station zur Verarbeitung weitergereicht wird.
Im HVS32 findet eine sequentielle Verarbeitung aller ankommenden Aufträge statt. Somit kann eine Station nicht mehrere Aufträge parallel verarbeiten. Anschließend werden die Rückmeldedaten an den DGS gegeben, welcher anhand dieser Information das IDoc als erledigt markiert.
Wie im Ablauf zu sehen ist, wird keine direkte Rückmeldung an SAP geschickt. Der Grund dafür liegt bei der asynchronen Verarbeitung von IDocs, wodurch kein Anfrage-Antwort-Dialog zwischen dem Versandsystem und dem SAP-System zustande kommt. Dennoch besteht grundsätzlich die Möglichkeit die Rückmeldedaten (wie z.B. Paketnummer) über ein separates IDoc nach der Verarbeitung, ebenfalls asynchron, an SAP zu senden.
Notwendige SAP-Komponenten/-Parameter
- neueste Version 3 der SAP Bibliotheken Java Connector (JCo) und SAP IDOC in 32Bit
- SAP GUI Installation auf dem Server, auf welchem der DataGatewayServer installiert ist - alternativ eine manuelle Anpassung der %SystemRoot%\system32\drivers\etc\services und %SystemRoot%\system32\drivers\etc\hosts
- eine definierte Destination mit Verbindungstyp T (TCP/IP-Verbindung) im SAP-System über die Transaktion SM59 (siehe Destination über SM59 definieren)
folgende Parameter werden vom DGS benötigt, um sich mit einer Programm-ID an einem SAP Gateway zu registrieren:
Parameter | Beschreibung |
---|---|
jco.server.gwhost | SAP-Gateway an welchem die Funktionsbausteine registriert werden |
jco.server.gwserv | SAP-Gateway-Service (Port) der genutzt wird (z.B. sapgw00) |
jco.server.progid | Programm-ID aus der SM59 unter welcher die Registrierung stattfindet |
jco.server.connection_count | Anzahl gleichzeitiger Verbindungen, die später von SAP zum Aufruf genutzt werden können |
jco.client.ashost | SAP-Applikation-Server auf welchem sich die Struktur des RFC Bausteins befindet |
jco.client.sysnr | SAP System Nr |
jco.client.client | Mandanten ID (SAP) |
jco.client.user | SAP-Benutzer mit Rechten zum Ausführen von RFC |
jco.client.passwd | Passwort |
IDocTypes | Liste von IDoc-Typen, die vom DataGatewayServer interpretiert werden sollen |
Falls für clientseitige RFC-Aufrufe eine Lastverteilung (SAP Message Server) auf Seiten von SAP genutzt wird, muss anstelle der Parameter ashost und sysnr folgendes konfiguriert werden:
Parameter | Beschreibung |
---|---|
jco.client.mshost | IP oder Name des SAP Message Server |
jco.client.r3name | System ID des SAP-Systems |
jco.client.group | Name der SAP-Servergruppe |
Verfügbare HVS32 Funktionen
Artikel-Daten und Gefahrgut-Informationen müssen im IDoc als Untersegment des Packstück-Segments definiert werden, da diese in einer 1:n Beziehung zu den Packstückdaten stehen.
Die Kommunikation ist unidirektional, d.h. eine Rückmeldung aus dem HVS32 erfolgt nicht bzw. asynchron in einer eigenen Trasaktion
Bitte beachten Sie, dass die Feld-Beschreibungen sich nur auf einen Standard beziehen, welcher als Vorschlag für die Schnittstelle dienen soll. Funktionsnamen, Feldnamen /-längen /-formate können prinzipiell abweichen, müssen in diesem Fall jedoch individuell betrachtet/analysiert werden.
Verfügbare HVS32 Funktionen
Beispiele
- DELVRY05, DELVRY07
- DESADV01
FAQ / Troubleshooting
Destination über SM59 definieren
Zur Einrichtung einer RFC-Verbindung im SAP, welche für die Anbindung des HVS32 Versandsystems gedacht ist, gehen Sie bitte wie folgt vor:
- Wechseln Sie zur Transaktion sm59
- Wählen Sie den Typ T (TCP/IP connections) [Abb.1]
- Erstellen Sie mit dem Button "create" eine neue Verbindung
- Geben Sie eine RFC Destination an (z.B. "RFC_HVS32")
- Stellen Sie den Aktivierungstyp auf "Registriertes Serverprogramm"
- Legen Sie eine Programm ID fest (z.B. "HVS32") [Abb.2]
- Öffnen Sie den Reiter "MDMP & Unicode"
- Stellen Sie dort die Art der Kommunikation auf "Unicode" [Abb.3]
- Speichern Sie die Einstellungen
- Sie können die Verbindung über "Connection Test" prüfen, sobald auf dem Zielsystem der DataGatewayServer installiert und als Dienst gestartet ist [Abb.4]