02.02.2013 Aufrufe

HVS32 Anbindung an SAP - Heidler Strichcode GmbH

HVS32 Anbindung an SAP - Heidler Strichcode GmbH

HVS32 Anbindung an SAP - Heidler Strichcode GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

eratung<br />

pl<strong>an</strong>ung<br />

projektbetreuung<br />

umsetzung<br />

support<br />

ein Vers<strong>an</strong>dsystem...<br />

<strong>Anbindung</strong><br />

<strong>an</strong> <strong>SAP</strong> Systeme<br />

www.heidler-strichcode.de<br />

...das immer passt<br />

benutzerfreundlich<br />

multi-carrierfähig<br />

modularer aufbau<br />

flexibel


HVS 32 - <strong>Anbindung</strong> <strong>an</strong> <strong>SAP</strong><br />

Mit dem <strong>HVS32</strong>-Gateway des <strong>Heidler</strong> Vers<strong>an</strong>dsystems (<strong>HVS32</strong>) besteht die<br />

Möglichkeit via Remote Function Call (RFC) mit einem <strong>SAP</strong> System zu kommunizieren.<br />

Über einen solchen RFC können alle vers<strong>an</strong>drelev<strong>an</strong>ten Daten<br />

ermittelt werden: z.B. Empfängerdaten, Fr<strong>an</strong>katuren, Packstückdaten etc.,<br />

sowie besteht die Möglichkeit auch Informationen wie Tracking-Nummer,<br />

Gewicht, Gebühr, etc. <strong>an</strong> das <strong>SAP</strong> System zurückzumelden.<br />

<strong>HVS32</strong>-Gateway:<br />

Der <strong>SAP</strong>-Client ist ein Plugin des <strong>HVS32</strong><br />

Gateway, das zur Kommunikation mit<br />

einem <strong>SAP</strong> – System via RFC (Remote<br />

Function Call) dient.<br />

Über einen RFC können folgende Aufga-<br />

ben realisiert werden.<br />

Daten<strong>an</strong>forderung: Lieferscheinkopf-<br />

daten, Kundendaten, etc. diese werden<br />

durch eine Referenznummer in der<br />

Eingabemaske des HVS 32 Clients <strong>an</strong>-<br />

gefordert.<br />

Datenrückmeldung: TrackingNr, Gewicht,<br />

Gebühr, etc. wird vom <strong>HVS32</strong> <strong>an</strong> das<br />

<strong>SAP</strong>-System zurück gemeldet.<br />

<strong>SAP</strong> Client Plugin<br />

Das <strong>HVS32</strong> nutzt den <strong>SAP</strong>-Client für den<br />

interaktiven Gatewaybetrieb. Daraus folgt,<br />

dass der Funktionsaufruf immer durch das<br />

Vers<strong>an</strong>dsystem <strong>an</strong>gestoßen wird. Das<br />

<strong>SAP</strong>-System k<strong>an</strong>n bei diesem Plugin also<br />

nicht der Auslöser für eine Verarbeitung<br />

sein.<br />

<strong>SAP</strong> Server Plugin<br />

Für den Automatikpollingbetrieb besteht<br />

die Möglichkeit das <strong>SAP</strong>-Server Plugin<br />

einzusetzen. Dieses verfügt über die<br />

Funktion sich am <strong>SAP</strong>-System zu registrie-<br />

iren. Das <strong>SAP</strong> System hat nun die Möglich-<br />

keit via RFC einen Paketschein zu erzeu-<br />

gen.<br />

Voraussetzungen<br />

... ein Vers<strong>an</strong>dsystem das immer passt!<br />

Der <strong>SAP</strong>-Client wurde mit Hilfe der RFC-Bibliothek von <strong>SAP</strong> realisiert und setzt deshalb<br />

voraus, dass die dafür notwendigen <strong>SAP</strong>-Komponenten bereits auf dem PC installiert sind,<br />

auf dem der Gateway zum Einsatz kommt. Ein <strong>SAP</strong>-GUI-Frontend bringt in der Regel<br />

schon die notwendigen Komponenten mit sich und würde somit ausreichen.<br />

<strong>SAP</strong>-Client<br />

<strong>HVS32</strong>-Gateway<br />

<strong>SAP</strong>-Server<br />

Client<br />

Seite 1


Das <strong>HVS32</strong>-Gateway wartet auf eine<br />

Anfrage welches durch erfassen einer<br />

Referenznummer z.B. Lieferscheinnum-<br />

mer aktiv wird. Das <strong>SAP</strong>-Client Plugin des<br />

Vers<strong>an</strong>dsystems untertützt diese Anfrage<br />

am <strong>SAP</strong> System.<br />

Für die Anfrage wird der dafür hinterlegte<br />

RFC zunächst mit den Übergabepara-<br />

metern laut der Schnittstellendefinition<br />

befüllt (Für jede Art von Anfrage k<strong>an</strong>n ein<br />

separater RFC definiert werden).<br />

Anschließend wird mit Hilfe der konfigu-<br />

... ein Vers<strong>an</strong>dsystem das immer passt!<br />

Funktionsweise des <strong>HVS32</strong>-Gateway<br />

Das <strong>HVS32</strong>-Gateway befindet sich auf einem <strong>HVS32</strong> Server welches mit dem <strong>SAP</strong> System per RFC<br />

(remote function call) kommuniziert.<br />

Anfrage<br />

Suche im <strong>SAP</strong> System<br />

via RFC<br />

Packplatz<br />

1,2,3,...n<br />

Sc<strong>an</strong>nen der<br />

LS Nummer<br />

<strong>HVS32</strong>-Gateway<br />

<strong>SAP</strong> / R3<br />

rierten Logindaten eine Verbindung zum<br />

<strong>SAP</strong>-System aufgebaut und die Funktion<br />

mittels RFC aufgerufen.<br />

Sobald das <strong>SAP</strong>-System mit der Ausfüh-<br />

rung der Funktion fertig ist, werden die<br />

Rückgabeparameter des RFC durch das<br />

Gateway eingelesen und die Verbindung<br />

zum <strong>SAP</strong>-System wieder geschlossen. Die<br />

eingelesenen Parameter werden ab-<br />

schließend <strong>an</strong> das <strong>HVS32</strong> Vers<strong>an</strong>dsystem<br />

weitergegeben, wo diese zum Beispiel als<br />

Rückmeldung<br />

Antwort aus <strong>SAP</strong><br />

Empfängeradresse <strong>an</strong>gezeigt und weiter-<br />

verarbeitet werden können.<br />

Eine Muster<strong>an</strong>frage vom Client zum<br />

<strong>HVS32</strong>-Gateway ist unten als Beispielkon-<br />

figuration dargestelt. In Zeile 7 wird die<br />

Datei <strong>an</strong>gegeben, in welcher sich die<br />

vordefinierten Parameter des RFCs befin-<br />

den.<br />

Beispielkonfiguration<br />

Konfiguration einer Vers<strong>an</strong>dDatenAnfrage zur Ermittlung von<br />

Lieferscheindaten:<br />

...<br />

<br />

<br />

<br />

OFF<br />

<strong>SAP</strong>Client<br />

<br />

SapRfcVers<strong>an</strong>dDatenAnfrage.xml<br />

GatewayData<br />

<br />

<br />

<br />

<br />

<br />

<strong>SAP</strong>ClientGateway<br />

<br />

<br />

<br />

...<br />

Seite 2


RFC-Konfiguration<br />

Für jede konfigurierte Gatewayfunktion muss eine XML-Datei vorh<strong>an</strong>den sein, in der<br />

die Logindaten zum <strong>SAP</strong>-System und die Schnittstelle des RFC definiert ist. Folgend<br />

ist der Dateiinhalt am Beispiel einer Vers<strong>an</strong>dDatenAnfrage.xml dargestellt, welche<br />

über einen RFC Lieferscheinkopfdaten aus einem <strong>SAP</strong>-System ermittelt:<br />

Beschreibung der Parameter<br />

einer XML Datei:<br />

destination<br />

Schlüsselname für eine Verbindung, die in<br />

der Datei saprfc.ini konfiguriert ist.<br />

client<br />

Client / M<strong>an</strong>d<strong>an</strong>t im <strong>SAP</strong>-System mit dem<br />

beim Aufruf gearbeitet wird.<br />

user<br />

Benutzer im <strong>SAP</strong>-System der für den Funktionsaufruf<br />

verwendet wird. ACHTUNG:<br />

Der verwendete Benutzer muss in der<br />

Lage sein RFCs aufzurufen. Es gibt unterschiedliche<br />

Arten von Benutzern, bei<br />

denen unter Umständen kein RFC erlaubt<br />

ist.<br />

password<br />

Passwort des zuvor gen<strong>an</strong>nten <strong>SAP</strong>-<br />

Benutzers.<br />

l<strong>an</strong>guage<br />

Sprache die auf Seite des <strong>SAP</strong>-System<br />

verwendet wird. In der Regel wird hier E für<br />

Englisch verwendet.<br />

function<br />

Name des Funktionsbausteins im <strong>SAP</strong>-<br />

System, der via RFC aufgerufen wird.<br />

trace<br />

Mögliche Werte: 0 / 1<br />

Deaktiviert/Aktiviert ein Tracelog der RFC-<br />

Bibliothek. Näheres dazu befindet sich in<br />

der Dokumentation des RFC-SDK.<br />

exports<br />

Unter exports werden die Parameter definiert,<br />

die durch das Gateway <strong>an</strong> die <strong>SAP</strong>-<br />

Funktion beim RFC übergeben werden.<br />

... ein Vers<strong>an</strong>dsystem das immer passt!<br />

<br />

<br />

<strong>HVS32</strong>TEST<br />

110<br />

RFC-HVS<br />

heidler<br />

E<br />

ZBAPI_HEIDLER<br />

1<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

imports<br />

Hier sind die Parameter definiert, die durch<br />

die <strong>SAP</strong>-Funktion <strong>an</strong> das <strong>HVS32</strong>-Gateway<br />

zurückgeliefert werden.<br />

parameter<br />

Definiert einen Parameter innerhalb von<br />

imports, exports, STRUCTURE-Parameter<br />

oder einer table. Es können immer 1 bis n<br />

Parameter hinterlegt werden.<br />

Seite 3


RFC-Konfiguration<br />

name<br />

Durch das Attribut name wird der Name<br />

festgelegt. Dieser muss mit dem jeweiligen<br />

Feldnamen übereinstimmen, der aus oder<br />

in das <strong>HVS32</strong> gemeldet wird.<br />

type<br />

Zusätzlich muss über das Attribut typ: der<br />

Datentyp des Parameters festgelegt sein.<br />

Zur Auswahl stehen derzeit folgende<br />

Datentypen:<br />

CHAR = String mit fester Länge<br />

NUMC = String mit ausschließlich<br />

numerischen Zeichen<br />

INT4 = 4 Byte numerische G<strong>an</strong>zzahl<br />

STRUCTURE = Struktur in der weitere<br />

Parameter gekapselt sind. Bei der Definition<br />

müssen diese als Unterknoten im XML<br />

definiert sein. Die Parameter einer Struktur<br />

werden im Gateway wie normale Felder<br />

beh<strong>an</strong>delt und können somit im <strong>HVS32</strong> mit<br />

Ihren Namen verwendet bzw.<br />

<strong>an</strong>gesprochen werden.<br />

size<br />

Bei den Datentypen CHAR und NUMC<br />

muss außerdem über das Attribut size die<br />

Länge des Parameters definiert sein.<br />

table<br />

Definiert eine Tabelle, die beim RFC<br />

übertragen wird. Eine Tabelle k<strong>an</strong>n 0 bis N<br />

Datensätze enthalten. Die Felder der<br />

Tabelle sind als “normale parameter” zu<br />

definieren. Derzeit können Tabellen im<br />

Gateway nur empf<strong>an</strong>gen, nicht aber als<br />

Übergabeparameter <strong>an</strong> eine <strong>SAP</strong>-<br />

Funktion gesendet werden.<br />

mapping<br />

Über das Attribut mapping k<strong>an</strong>n<br />

festgelegt werden, wie die Daten der<br />

Tabelle <strong>an</strong> das <strong>HVS32</strong> weiterzuleiten<br />

sind. Mögliche Werte sind:<br />

first = Die Felder des ersten Datensatzes<br />

werden wie normale Parameter<br />

<strong>an</strong> das <strong>HVS32</strong> übergeben.<br />

Falls die Tabelle leer ist, sind die Felder<br />

bei der Rückmeldung <strong>an</strong> das <strong>HVS32</strong><br />

definiert aber haben einen leeren Wert.<br />

all = Für die Tabelle wird im<br />

Rückmelde-XML <strong>an</strong> das <strong>HVS32</strong> ein<br />

Knoten eingefügt, der den Namen der<br />

Tabelle trägt. Für jeden Datensatz der<br />

Tabelle wird darunter ein RECORD-<br />

Knoten geschrieben, der die einzelnen<br />

Felder der Tabelle enthält.<br />

... ein Vers<strong>an</strong>dsystem das immer passt!<br />

saprfc.ini<br />

In der saprfc.ini werden Parameter für<br />

Verbindungen zu <strong>SAP</strong>-Systemen<br />

konfiguriert. Diese Datei wird von der<br />

<strong>SAP</strong> RFC-Bibliothek für den Verbindungsaufbau<br />

benötigt. Nähere Informationen<br />

zu dieser Datei sind der <strong>SAP</strong>-<br />

Dokumentation zu entnehmen.<br />

Beispiel für den Inhalt einer saprfc.ini:<br />

DEST=<strong>HVS32</strong>TEST<br />

TYPE=A<br />

ASHOST=testsapserver<br />

SYSNR=00<br />

RFC_TRACE=0<br />

ABAP_DEBUG=0<br />

USE_<strong>SAP</strong>GUI=0<br />

Debugprotokolle<br />

<strong>SAP</strong>CG<br />

Seite 4

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!