HVS32 SAP RFC Schnittstelle (Automatik-Polling)

Aus Wiki - Heidler Strichcode GmbH
Zur Navigation springen Zur Suche springen


Voraussetzungen

DGS-Version 3.6.0.550 oder höher
DGS-Plugins HVS32Client, SAP RFC Server


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.

Es können beliebige RFC Funktionen im DGS implementiert werden, welche von einem RFC-Client (SAP) aus aufgerufen werden.

Je HVS32 Funktion muss ein separater RFC Baustein genutzt werden. Die Struktur des RFC-Bausteins (Felder, Tabellen, Strukturen) ohne Implementierung muss im SAP System auf einem Applikationsserver für den DGS verfügbar sein - da die Metadaten der RFC Bausteine bei Systemstart abgerufen werden.

Der DGS registriert sich selbst unter einer Programm-ID an 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.

Notwendige SAP-Komponenten/-Parameter

  • neueste Version 3 der SAP Bibliothek Java Connector "JCo" in 64Bit
    • Die Verwendung vom SAP JCo 3.1 setzt die Installation vom Microsoft Visual Studio 2013 C/C++ (64bit) voraus.
  • SAP GUI Installation auf dem HVS32 Server, auf welchem die Heidler Applikationen installiert sind
    • alternativ eine manuelle Anpassung der %SystemRoot%\system32\drivers\etc\services und %SystemRoot%\system32\drivers\etc\hosts
    • Die SAP GUI installiert unter anderem auch die Microsoft Visual Studio komponenente (nach Installation prüfen, ob für die korrekte Version für die eingesetzte SAP JCo vorhanden ist)
  • 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
rfcfunctions Liste von Funktionsbausteinen, die vom DataGatewayServer dem SAP bereitgestellt werden

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 RFC Baustein als Table oder Struct definiert werden, da diese in einer 1:n Beziehung zu den Packstückdaten stehen.
Alle Parameter, welche an das HVS32 gesendet werden sollen, müssen in die Import-Parameter geschrieben werden. Die Rückmeldung aus dem HVS32 erfolgt in den Export-Parametern. Die Kommunikation ist bidirektional, d.h. die Rückmeldung erfolgt synchron in der gleichen Transaktion wie die Anfrage.

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

Beispiel für eine RFC Baustein Struktur für die VersandDatenAnfrage
'ZHVSVERSANDDATENANFRAGE'

IMPORTING
  PACKSTUECK STRUCTURE
    KUNDENNR CHAR(20)
    ZIELADRNAME1 CHAR(50)
    ZIELADRNAME2 CHAR(50)
    ZIELADRNAME3 CHAR(50)
    ZIELADRSTRASSE CHAR(50)
    ZIELADRLKZ CHAR(5)
    ZIELADRPLZ CHAR(10)
    ZIELADRORT CHAR(50)
    ZIELADRREGION CHAR(20)
    ZIELADRBAHNHOF CHAR(30)
    ANSPRECHPARTNER CHAR(20)
    TELEFONNR CHAR(20)
    FAXNR CHAR(20)
    USTIDNR CHAR(20)
    ILNNR CHAR(20)
    AUFTRAGGEBERID CHAR(10)
    VERSANDARTID CHAR(10)
    AVISHINWEIS1 CHAR(30)
    AVISHINWEIS2 CHAR(30)
    AVISZUSATZ1 CHAR(20)
    AVISZUSATZ2 CHAR(20)
    LIEFERSCHEINNR CHAR(40)
    AUFTRAGNR CHAR(20)
    BESTELLNR CHAR(20)
    WARENWERT CHAR(19)
    WWWAEHRUNG CHAR(3)
    NACHNAHME CHAR(19)
    NNWAEHRUNG CHAR(3)
    NNVERMERK CHAR(1)
    NNVERWENDUNG CHAR(30)
    VERSICHERUNGSWERT CHAR(19)
    VWWAEHRUNG CHAR(3)
    FRANKATURKENNUNG CHAR(10)
    ZAHLUNGSBEDIGNUNG CHAR(10)
    ZBZOLL CHAR(1)
    FRACHTFUEHRERKDNR CHAR(10)
    SONDERDIENSTE CHAR(30)
    SENDUNGSINHALT CHAR(30)
    TERMINART CHAR(1)
    TERMINDATUM CHAR(10)
    TERMINZEIT CHAR(5)
    NEUTABSENDERNAME1 CHAR(30)
    NEUTABSENDERNAME2 CHAR(30)
    NEUTABSENDERNAME3 CHAR(30)
    NEUTABSENDERSTRASSE CHAR(30)
    NEUTABSENDERLKZ CHAR(3)
    NEUTABSENDERPLZ CHAR(10)
    NEUTABSENDERORT CHAR(30)
    RECHNUNGSEMPFNAME1 CHAR(50)
    RECHNUNGSEMPFNAME2 CHAR(50)
    RECHNUNGSEMPFNAME3 CHAR(50)
    RECHNUNGSEMPFSTRASSE CHAR(50)
    RECHNUNGSEMPFLKZ CHAR(5)
    RECHNUNGSEMPFPLZ CHAR(10)
    RECHNUNGSEMPFORT CHAR(50)
    POSTLEITCODE CHAR(15)
    POSTZIELFRACHTZENT CHAR(5)
    FRACHTBRIEF CHAR(20)
    GEWICHT CHAR(9)
    NETTOGEWICHT CHAR(9)
    PACKSTKGES CHAR(10)
    PACKSTKNR CHAR(10)
    VERPACKUNGSART CHAR(6)
    PACKSTUECKLAENGE CHAR(10)
    PACKSTUECKBREITE CHAR(10)
    PACKSTUECKHOEHE CHAR(10)
    PACKPLATZ CHAR(10)
    PACKSTUECKID CHAR(15)
    ANZAHLARTIKEL CHAR(10)
    ZUSATZZEILE1 CHAR(150)
    ZUSATZZEILE2 CHAR(150)
    FREIAVIS1 CHAR(62)
    FREIAVIS2 CHAR(62)
    HVELEKTRONIKARTIKEL CHAR(1)
    EMPFEMAILADRESSE CHAR(100)
    KOSTENSTELLE CHAR(30)
    DRUCKERNAME CHAR(30)
  DGPOSITIONS STRUCTURE
    UNNR CHAR(4)
    KLASSE CHAR(6)
    VPG CHAR(5)
    KCODE CHAR(5)
    BEZEICHNUNG CHAR(110)
    MENGE CHAR(9)
    BEGRENZTEMENGE CHAR(1)
    VERPANZAHL CHAR(10)
    VERPACKUNGSART CHAR(8)
    NEBENGEFAHR CHAR(20)
    BUCHST640 CHAR(1)
    MENGENEINHEIT CHAR(2)
    BEFOERDKAT CHAR(10)
    FAKTOR CHAR(10)
    NETTOEXPLMASSE CHAR(9)
    TUNNELBCODE CHAR(10)
    FREIGESTMENGE CHAR(1)
    FFCODE CHAR(20)
  DELIVERYPOSITIONS STRUCTURE
    ANZAHLPOSETIKETTEN CHAR()
    ARTIKELBTNNR CHAR(25)
    ARTIKELEAN CHAR(20)
    ARTIKELEINHEIT CHAR(10)
    ARTIKELGEWICHT CHAR(9)
    ARTIKELMENGE CHAR(9)
    ARTIKELSOLLMENGE CHAR(9)
    ARTIKELTEXT1 CHAR(100)
    ARTIKELTEXT2 CHAR(100)
    ARTIKELTEXT3 CHAR(100)
    ARTIKELTEXT4 CHAR(100)
    ARTIKELWAEHRUNG CHAR(3)
    ARTIKELWERT CHAR(9)
    CHARGEFLAG CHAR(1)
    KUNDENARTIKELNR CHAR(50)
    KUNDENBESTELLNR CHAR(50)
    POSAUFTRAGNR CHAR(50)
    POSITIONNR CHAR(40)
    POSLIEFERNR CHAR(40)
    SERIENNR CHAR(30)
    URSPRUNGLAND CHAR(2)
    ARTIKELGRUPPE CHAR(50)
    ARTIKELSERVICES CHAR(100)
    ARTIKELVOLUMEN CHAR(9)


EXPORTING
  PACKSTUECKRUECK STRUCTURE
    TRACKINGNR CHAR(35)
    VERSANDSENDUNGSNR CHAR(20)
    DRUCKDATETIME CHAR(10)
    AUSGANGDATETIME CHAR(10)
    GEBUEHR CHAR(19)
    GEBUEHRWAEHRUNG CHAR(3)
    FEHLERTEXT1 CHAR(200)
    FEHLERTEXT2 CHAR(200)


}

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:

  1. Wechseln Sie zur Transaktion sm59
  2. Wählen Sie den Typ T (TCP/IP connections) [Abb.1]
  3. Erstellen Sie mit dem Button "create" eine neue Verbindung
  4. Geben Sie eine RFC Destination an (z.B. "RFC_HVS32")
  5. Stellen Sie den Aktivierungstyp auf "Registriertes Serverprogramm"
  6. Legen Sie eine Programm ID fest (z.B. "HVS32") [Abb.2]
  7. Öffnen Sie den Reiter "MDMP & Unicode"
  8. Stellen Sie dort die Art der Kommunikation auf "Unicode" [Abb.3]
  9. Speichern Sie die Einstellungen
  10. Sie können die Verbindung über "Connection Test" prüfen, sobald auf dem Zielsystem der DataGatewayServer installiert und als Dienst gestartet ist [Abb.4]