HVS32 Ehrhardt + Partner LFS Schnittstelle (Automatik-Polling)
Voraussetzungen
DGS-Version | 3.6.0.550 oder höher |
DGS-Plugins | HVS32Client, EPServer |
Funktionsbeschreibung
Der DataGatewayServer (DGS) nutzt für die Kommunikation mit einem E+P LFS ein spezielles Kommunikationsprotokoll und stellt einen TCP-Server bereit, der auf
Verbindungen vom E+P LFS wartet.
Der DGS ist die zentrale Kommunikationseinheit, über die sämtliche Daten zwischen dem Versandsystem und dem E+P-System ausgetauscht werden. Er läuft in Form eines Dienstes auf einem Windows-Server.
Pro LFS Druck-Job wird vom LFS eine Verbindung zum Gateway aufgebaut, in der dann die Anfragen (Druck,Storno, etc.) mittels eines auf TCP basierenden Protkolles in einem XML-Dokument übermittelt werden. Auf E+P Seite ist ebenfalls eine Standardschnittstelle für diese Art der Kommunikation hinterlegt.
Ablauf
Das Server-Plugin wartet auf eine ankommende TCP-Verbindung vom LFS. Der LFS Job Verbindet sich auf diesen Server und hält dann dauerhaft die Verbindung, in einem bestimmten Intervall werden KEEPALIVE Meldungen von E+P gesendet.
Sobald eine Verbindung aufgebaut ist und Daten gesendet werden, vermittelt der DGS die Anfrage an den entsprechenden HVS32-Client / HVS32 Monitoringservice. Der Packplatz / Druckername wird dabei vom LFS im Feld HCOUTQ übergeben und die auszuführende Gatewayfunktion in HCUSAG.
Nach der Verarbeitung im HVS32 werden die Rückmeldedaten als XML-Dokument über die gleiche Verbindung an das LFS zurückgemeldet.
Kommunikationsprotokoll
Das verwendete Kommunikationsprotokoll basiert auf TCP und ist folgendermaßen aufgebaut:
Name | Beschreibung | Länge |
---|---|---|
Startflag | Fest ASCII-Wert 0x02 <STX> | 1 Byte |
Bytecount | Anzahl der Bytes des XML | 4 Byte |
XML Daten | XML-Dokument mit den Anfragedaten | Wert von Bytecount |
Endeflag | Fest ASCII-Wert 0x03 (ETX) | 1 Byte |
XML-Format
Der Rootknoten des XML-Dokuments hat stets den Namen LFS. Die darin enthaltenen Knoten stehen für jeweils einen Datensatz. Diese tragen den Namen PESSSND bei Anfragen vom LFS an das HVS, oder PESSRCV bei Rückmeldungen vom HVS zum LFS. In einem Datensatz sind die Felder mit den Namen aus den LFS-Tabellen enthalten. Numerische Felder habenzusätzlich noch einen Suffix _NUM.
Zusätzlich können bei einer Anfrage neben den PESSSND Knoten weitere Knoten für Gefahrgut- und Lieferscheinpositionen im Rootknoten enthalten sein. Die Namen dieser Knoten sind frei konfigurierbar, müssen aber nach dem PESSSND-Knoten übergeben werden. Für Gefahrgutdaten wird z.B. momentan PESSGGV verwendet.
Die auszuführende Gatewayfunktion wird im Feld HCUSAG als numerischer Wert übergeben. Die Verwendungsnummer HCUSAG aus dem LFS steht für folgende Funktionen:
- 1 = Packstück-Verarbeitung (VersandDatenAnfrage)
- 2 = Packstückdaten aktualisieren (UpdateVersandDaten)
- 4 = Packstück stornieren (StornoVersandDaten)
- 5 = Packstück verladen/freigeben (VerladeVersandDaten)
- 6 = Tagesabschluss
Notwendige E+P LFS Parameter
Folgende Parameter werden für die Einrichtung vom DGS benötigt:
Parameter | Beschreibung |
---|---|
TCP/IP Port | TCP/IP Port über welchen der DataGatewayServer verfügbar sein soll |
Stream Charset | Zeichensatz des TCP/IP Streams über welchen das E+P LFS Daten sendet |
XML Charset | Zeichensatz des XML, welches von E+P gesendet wird |
LFS Request-Element | XML Knoten, in welchen das E+P LFS die Packstückdaten sendet (Standard: PESSSND) |
LFS Response-Element | XML Knoten, in welchen das E+P LFS die Rückmeldedaten erwartet (Standard: PESSRCV) |
Verfügbare HVS32 Funktionen
Artikel-Daten und Gefahrgut-Informationen müssen im Request-XML als eigener Knoten (z.B. PESSGGV) auf gleicher Hirachie-Ebene zu den Packstückdaten übergeben werden, da diese in einer 1:n Beziehung zu den Packstückdaten stehen.
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.
Packstück-Verarbeitung (VersandDatenAnfrage) [HCUSAG=1]
Die Gatewayfunktion VersandDatenAnfrage wird vom Data-Gateway-Server im Automatik-Polling Modus an das HVS32 gesendet, um dort ein Etikett für ein Packstück zu erzeugen und verbuchen. Ein Etikett wird für alle weiteren Funktionen wie Storno, Verladefreigabe, etc. anhand der hostseitigen Packstück-ID identifiziert. Diese wird im Feld PackstueckID übergeben und muss dementsprechend innerhalb des Versandsystems eindeutig sein.
Schnittstellen-Feld-Beschreibung
Packstück verladen/freigeben (VerladeVersandDaten) [HCUSAG=5]
Die Gatewayfunktion VerladeVersandDaten wird vom Data-Gateway-Server im Automatik-Polling Modus an das HVS32 gesendet, um dort Packstücke für den Ausgang frei zu geben. Nur Packstücke, welche für den Ausgang freigegeben wurden, werden für den Tagesabschluss berücksichtigt.
Schnittstellen-Feld-Beschreibung
Packstückdaten aktualisieren (UpdateVersandDaten) [HCUSAG=2]
Die Gatewayfunktion UpdateVersandDaten wird vom Data-Gateway-Server im Automatik-Polling Modus an das HVS32 gesendet, um dort die Daten von bestehende Packstücken zu verändern. Diese Anfrage wird zum Beispiel gesendet, wenn der Warenwert für ein Packstück erst zu einem späteren Zeitpunkt bekannt ist. Dabei wird stets über das Feld PackstueckID und bei Belegung auch über das Feld TrackingNr gesucht.
Bei dieser Anfrage werden allerdings die zu aktualisierenden Felder und Inhalte nicht mehr nach den Richtlinien des Frachtführers geprüft (z.B. Gewichtsgrenzen, etc.). Es muss somit vom Vorsystem sichergestellt werden, dass die aktualisierenden Werte mit den Richtlinien des Frachtführers übereinstimmen. Sollte dies nicht möglich sein, kann diese Funktion nicht genutzt werden, sondern das Etikett muss storniert und neu verarbeitet werden. Außerdem können Felder, welche bereits auf einem Etikett angedruckt oder vom Versandsystem HVS32 in einer Frachtführerabwicklung ermittelt wurden (z.B. Adresse, Route, TrackingNr, Sonderdienste, etc.) nicht manipuliert werden.
ACHTUNG: Alle Felder, welche im Versandsystem aktualisiert werden sollen, müssen vor der Nutzung dieser Funktion abgestimmt und im Versandsystem entsprechend konfiguriert werden!
Schnittstellen-Feld-Beschreibung
Packstück stornieren (StornoVersandDaten) [HCUSAG=4]
Die Gatewayfunktion StornoVersandDaten wird vom Data-Gateway-Server im Automatik-Polling Modus an das HVS32 gesendet, um dort bestehende Packstücke zu stornieren, die noch nicht auf einer Ausgangsliste sind. In der Regel wird ein Packstück anhand der hostseitigen Packstück-ID storniert. Diese wird im Feld PackstueckID übergeben. Zusätzlich zur hostseitigen Packstück-ID kann auch die TrackingNr zur Identifikation des Packstücks beitragen, für den Fall, dass die hostseitige Packstück-ID keine Eindeutigkeit garantieren kann.
Schnittstellen-Feld-Beschreibung
Tagesabschluss (Tagesabschluss) [HCUSAG=6]
Das Gateway sendet die Tagesabschluss-Anfrage an das Automatik-Polling des HVS32. Im HVS32 wird somit ein Tagesabschluss anhand der zusätzlich übergebenen Parameter ausgelöst. Der Tagesabschluss setzt sich aus den Punkten Ausgangsliste erzeugen und Frachtführer DFÜ erzeugen zusammen. Nur Packstücke, welche für den Ausgang freigegeben wurden, werden für den Tagesabschluss berücksichtigt. Standardmäßig sind alle Packstücke freigegeben, außer sie wurden durch das Erweiterungsmodul Ausgangsscannung gesperrt. Die Rückmeldung im HVS32 findet nach dem Ausführen des Tagesabschluss statt. Es stehen keine Packstück-/Sendungs-Daten für die Rückmeldung zur Verfügung.
Schnittstellen-Feld-Beschreibung
Beispiele
<?xml version="1.0" encoding="ISO-8859-15"?>
<LFS>
<PESSSND>
<HCKONZ>200</HCKONZ>
<HCFIRM>010</HCFIRM>
<HCUSAG>1</HCUSAG>
<HCOUTQ>DRELPPA07</HCOUTQ>
<HCSART>IMP</HCSART>
<HCKDNR>0091052005</HCKDNR>
<HCAN1>Beispiel GmbH</HCAN1>
<HCAN2>z.H. Max Mustermann</HCAN2>
<HCSTR>Teststr. 4</HCSTR>
<HCLAKZ>DE</HCLAKZ>
<HCPLZ>12345</HCPLZ>
<HCLORT>Musterstadt</HCLORT>
<HCLRGN>001</HCLRGN>
<HCBHF>Versand+LS</HCBHF>
<HCMAND>200010</HCMAND>
<HCHVAR>DANS</HCHVAR>
<HCLSNR>0014488006</HCLSNR>
<HCANR1>0014488006</HCANR1>
<HCBST1>0201583029</HCBST1>
<HCWAWE_NUM>427,5000</HCWAWE_NUM>
<HCWSWW>EUR</HCWSWW>
<HCSSVC>31000</HCSSVC>
<HCFLCO>medical equipment</HCFLCO>
<HCDEDA>00.00.0000</HCDEDA>
<HCDETI>00:00</HCDETI>
<HCBGEW_NUM>224,05000</HCBGEW_NUM>
<HCNGEW_NUM>201,15000</HCNGEW_NUM>
<HCQUPA_NUM>1</HCQUPA_NUM>
<HCPANR_NUM>1</HCPANR_NUM>
<HCTOPA>PAL</HCTOPA>
<HCPLEN_NUM>120</HCPLEN_NUM>
<HCPWID_NUM>80</HCPWID_NUM>
<HCPHEI_NUM>72</HCPHEI_NUM>
<HCPKNR_NUM>357249014</HCPKNR_NUM>
<HCDDAT>01.06.2007</HCDDAT>
<HCDTIM>10:22</HCDTIM>
<HCIDOC>0000000022309156</HCIDOC>
<HCLBSL>FH</HCLBSL>
<HCLAPA>1</HCLAPA>
<HCRA13>A3001140</HCRA13>
<HCRA18>DZL/4501017185</HCRA18>
<HCAJH_NUM>20</HCAJH_NUM>
<HCAJA_NUM>7</HCAJA_NUM>
<HCAMO_NUM>6</HCAMO_NUM>
<HCATA_NUM>1</HCATA_NUM>
<HCASTD_NUM>10</HCASTD_NUM>
<HCAMIN_NUM>22</HCAMIN_NUM>
<HCASEK_NUM>24</HCASEK_NUM>
<HCLFDN_NUM>1992951</HCLFDN_NUM>
</PESSSND>
<PESSGGV>
<HGKONZ>200</HGKONZ>
<HGFIRM>010</HGFIRM>
<HGZUNR_NUM>6251</HGZUNR_NUM>
<HGGGS>UN31</HGGGS>
<HGGMEN_NUM>1,000</HGGMEN_NUM>
<HGME>ST</HGME>
</PESSGGV>
</LFS>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<LFS>
<PHVSRCV>
<HCKONZ>200</HCKONZ>
<HCFIRM>010</HCFIRM>
<HCUSAG>1</HCUSAG>
<HCOUTQ>DRELPPA07</HCOUTQ>
<HCSART>IMP</HCSART>
<HCKDNR>0091052005</HCKDNR>
<HCAN1>Beispiel GmbH</HCAN1>
<HCAN2>z.H. Max Mustermann</HCAN2>
<HCSTR>Teststr. 4</HCSTR>
<HCLAKZ>DE</HCLAKZ>
<HCPLZ>12345</HCPLZ>
<HCLORT>Musterstadt</HCLORT>
<HCLRGN>001</HCLRGN>
<HCBHF>Versand+LS</HCBHF>
<HCMAND>200010</HCMAND>
<HCHVAR>DANS</HCHVAR>
<HCLSNR>0014488006</HCLSNR>
<HCANR1>0014488006</HCANR1>
<HCBST1>0201583029</HCBST1>
<HCWAWE_NUM>427,5000</HCWAWE_NUM>
<HCWSWW>EUR</HCWSWW>
<HCSSVC>31000</HCSSVC>
<HCFLCO>medical equipment</HCFLCO>
<HCDEDA>00.00.0000</HCDEDA>
<HCDETI>00:00</HCDETI>
<HCBGEW_NUM>224,05000</HCBGEW_NUM>
<HCNGEW_NUM>201,15000</HCNGEW_NUM>
<HCQUPA_NUM>1</HCQUPA_NUM>
<HCPANR_NUM>1</HCPANR_NUM>
<HCTOPA>PAL</HCTOPA>
<HCPLEN_NUM>120</HCPLEN_NUM>
<HCPWID_NUM>80</HCPWID_NUM>
<HCPHEI_NUM>72</HCPHEI_NUM>
<HCPKNR_NUM>357249014</HCPKNR_NUM>
<HCDDAT>01.06.2007</HCDDAT>
<HCDTIM>10:22</HCDTIM>
<HCIDOC>0000000022309156</HCIDOC>
<HCLBSL>FH</HCLBSL>
<HCLAPA>1</HCLAPA>
<HCRA13>A3001140</HCRA13>
<HCRA18>DZL/4501017185</HCRA18>
<HCAJH_NUM>20</HCAJH_NUM>
<HCAJA_NUM>7</HCAJA_NUM>
<HCAMO_NUM>6</HCAMO_NUM>
<HCATA_NUM>1</HCATA_NUM>
<HCASTD_NUM>10</HCASTD_NUM>
<HCAMIN_NUM>22</HCAMIN_NUM>
<HCASEK_NUM>24</HCASEK_NUM>
<HCLFDN_NUM>1992951</HCLFDN_NUM>
<HCRA15>073427000040941</HCRA15>
<HCVENR>JND60073427000040941</HCVENR>
</PHVSRCV>
</LFS>
HVS32 Feld | LFS Feld |
---|---|
KundenNr | HCKDNR |
ZielAdrName1 | HCAN1 |
ZielAdrName2 | HCAN2 |
ZielAdrName3 | HCAN3 |
ZielAdrStrasse | HCSTR |
ZielAdrLKZ | HCLAKZ |
ZielAdrPLZ | HCPLZ |
ZielAdrOrt | HCLORT |
ZielAdrRegion | HCLRGN |
ZielAdrBahnhof | HCBHF |
Ansprechpartner | HCCNTC |
TelefonNr | HCTEL |
FaxNr | HCFAX |
EmpfEmailAdresse | HCEMAI |
UstIDNr | HCUIDN |
ILNNr | HCKILN |
AuftraggeberID | HCMAND |
VersandartID | HCVAVS |
AVISHinweis1 | HCSHW1 |
AVISHinweis2 | HCSHW2 |
ZusatzZeile1 | HCADA1 |
ZusatzZeile2 | HCADA2 |
LieferscheinNr | HCLSVS |
AuftragNr | HCANR1 |
BestellNr | HCBST1 |
KundenBestellNr | HCRA18 |
Warenwert | HCWAWE_NUM |
WWWaehrung | HCWSWW |
Nachnahme | HCNNWE_NUM |
NNWaehrung | HCWSNN |
NNVermerk | HCCODT |
NNVerwendung | HCCODU |
Versicherungswert | HCINSW |
VWWaehrung | HCCKIW |
FrankaturKennung | HCLBSL |
Zahlungsbedinung | HCTPAY |
ZbZoll | HCTCUS |
FrachtfuehrerKdNr | HCTPNR |
FrachtfuehrerKdNrZoll | HCTCNR |
SonderdiensteInaktiv | HCSSVC |
SendungsInhalt | HCFLCO |
TerminArt | HCTKZ |
TerminDatum | HCDTLF |
RechnungsEmpfName1 | HCBAN1 |
RechnungsEmpfName2 | HCBAN2 |
RechnungsEmpfName3 | HCBAN3 |
RechnungsEmpfStr | HCBSTR |
RechnungsEmpfLKZ | HCBLKZ |
RechnungsEmpfPLZ | HCBPLZ |
RechnungsEmpfOrt | HCBORT |
PostLeitcode | HCPLCD |
PostZielfrachtzent | HCDEFC |
Frachtbrief | HCBOL |
Gewicht | HCBGEW_NUM |
PackStkGes | HCQUPA_NUM |
PackStkNr | HCPANR_NUM |
VerpackungsArt | HCTOPA |
PackStueckLaenge | HCPLEN_NUM |
PackStueckBreite | HCPWID_NUM |
PackStueckHoehe | HCPHEI_NUM |
PackStueckID | HCPKNR_NUM |
LieferscheinDatum | HCRA10 |