HVS32 SAP RFC Schnittstelle (Automatik-Polling)

From Wiki - Heidler Strichcode GmbH
Jump to navigation Jump to search


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
  • 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
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
'Z_HVS_VERSANDDATENANFRAGE'

IMPORTING
  PACKSTUECK STRUCTURE
    KUNDEN_NR CHAR(20)
    ZIEL_ADR_NAME1 CHAR(50)
    ZIEL_ADR_NAME2 CHAR(50)
    ZIEL_ADR_NAME3 CHAR(50)
    ZIEL_ADR_STRASSE CHAR(50)
    ZIEL_ADR_LKZ CHAR(5)
    ZIEL_ADR_PLZ CHAR(10)
    ZIEL_ADR_ORT CHAR(50)
    ZIEL_ADR_REGION CHAR(20)
    ZIEL_ADR_BAHNHOF CHAR(30)
    ANSPRECHPARTNER CHAR(20)
    TELEFON_NR CHAR(20)
    FAX_NR CHAR(20)
    UST_ID_NR CHAR(20)
    ILN_NR CHAR(20)
    AUFTRAGGEBER_ID CHAR(10)
    VERSANDART_ID CHAR(10)
    AVIS_HINWEIS1 CHAR(30)
    AVIS_HINWEIS2 CHAR(30)
    AVIS_ZUSATZ1 CHAR(20)
    AVIS_ZUSATZ2 CHAR(20)
    LIEFERSCHEIN_NR CHAR(40)
    AUFTRAG_NR CHAR(20)
    BESTELL_NR CHAR(20)
    WARENWERT CHAR(19)
    WW_WAEHRUNG CHAR(3)
    NACHNAHME CHAR(19)
    NN_WAEHRUNG CHAR(3)
    NN_VERMERK CHAR(1)
    NN_VERWENDUNG CHAR(30)
    VERSICHERUNGSWERT CHAR(19)
    VW_WAEHRUNG CHAR(3)
    FRANKATUR_KENNUNG CHAR(10)
    ZAHLUNGSBEDIGNUNG CHAR(10)
    ZB_ZOLL CHAR(1)
    FRACHTFUEHRER_KD_NR CHAR(10)
    SONDERDIENSTE CHAR(30)
    SENDUNGS_INHALT CHAR(30)
    TERMIN_ART CHAR(1)
    TERMIN_DATUM CHAR(10)
    TERMIN_ZEIT CHAR(5)
    NEUTABSENDER_NAME1 CHAR(30)
    NEUTABSENDER_NAME2 CHAR(30)
    NEUTABSENDER_NAME3 CHAR(30)
    NEUTABSENDER_STRASSE CHAR(30)
    NEUTABSENDER_LKZ CHAR(3)
    NEUTABSENDER_PLZ CHAR(10)
    NEUTABSENDER_ORT CHAR(30)
    RECHNUNGS_EMPF_NAME1 CHAR(50)
    RECHNUNGS_EMPF_NAME2 CHAR(50)
    RECHNUNGS_EMPF_NAME3 CHAR(50)
    RECHNUNGS_EMPF_STRASSE CHAR(50)
    RECHNUNGS_EMPF_LKZ CHAR(5)
    RECHNUNGS_EMPF_PLZ CHAR(10)
    RECHNUNGS_EMPF_ORT CHAR(50)
    POST_LEITCODE CHAR(15)
    POST_ZIEL_FRACHTZENT CHAR(5)
    FRACHT_BRIEF CHAR(20)
    GEWICHT CHAR(9)
    NETTO_GEWICHT CHAR(9)
    PACK_STK_GES CHAR(10)
    PACK_STK_NR CHAR(10)
    VERPACKUNGSART CHAR(6)
    PACKSTUECK_LAENGE CHAR(10)
    PACKSTUECK_BREITE CHAR(10)
    PACKSTUECK_HOEHE CHAR(10)
    PACKPLATZ CHAR(10)
    PACKSTUECK_ID CHAR(15)
    ANZAHL_ARTIKEL CHAR(10)
    ZUSATZ_ZEILE1 CHAR(150)
    ZUSATZ_ZEILE2 CHAR(150)
    FREI_AVIS1 CHAR(62)
    FREI_AVIS2 CHAR(62)
    HV_ELEKTRONIK_ARTIKEL CHAR(1)
    EMPF_EMAILADRESSE CHAR(100)
    KOSTENSTELLE CHAR(30)
    DRUCKERNAME CHAR(30)
  DGPOSITIONS STRUCTURE
    UNNR CHAR(4)
    KLASSE CHAR(6)
    VPG CHAR(5)
    K_CODE CHAR(5)
    BEZEICHNUNG CHAR(110)
    MENGE CHAR(9)
    BEGRENZTE_MENGE CHAR(1)
    VERP_ANZAHL CHAR(10)
    VERPACKUNGSART CHAR(8)
    NEBEN_GEFAHR CHAR(20)
    BUCHST640 CHAR(1)
    MENGEN_EINHEIT CHAR(2)
    BEFOERD_KAT CHAR(10)
    FAKTOR CHAR(10)
    NETTO_EXPL_MASSE CHAR(9)
    TUNNEL_B_CODE CHAR(10)
    FREIGEST_MENGE CHAR(1)
    FF_CODE 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
    TRACKING_NR CHAR(35)
    VERSAND_SENDUNGS_NR CHAR(20)
    DRUCK_DATE_TIME CHAR(10)
    AUSGANG_DATE_TIME CHAR(10)
    GEBUEHR CHAR(19)
    GEBUEHR_WAEHRUNG 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]