Seite 1 von 1
DHL Geschäftskundenportal / DHL Shipment PollingClient / CSV
Verfasst: Di 27. Mär 2018, 14:26
von Felix.Merk
Hallo,
Unser Österreich-Importeur nutzt noch 1.4.5.7 und werden auch so schnell nicht auf 1.5 umstellen... (never change a running system usw. :-))
er nutzt wir für den Paketversand EasyPak von der Österreichischen Post (quasi baugleich Easlog von der DHL).
Er erstellt für jeden Kunden einen Lieferschein, CAO bastelt eine CSV, die CSV wird von EasyPak gesucht (Polling), eingelesen, weiterverarbeitet und gelöscht.
Funktioniert seit Jahren perfekt für ihn!
Jetzt stellt die Post (verpflichtend) von EasyPak auf "Post Label Center" um.
Dort könnte man z.B. eine Sendungsliste hochladen oder händisch Labels erstellen ssw... - also keine Option....
Er brauchen das weitestgehende automatisert (bei ca.20.000 - 25.000 Paketen pro Jahr)
Um nicht alle Kunden zu verprellen hat die Post jetzt einen "Pollingclient" (OnDotPrintin) ins leben gerufen, welcher ebenfalls an einem definierten Pfad nach der CSV-Datei sucht.
Diese wird dann eingelesen und ins "Post Label Center" übertragen.
Soweit die Theorie....
In der Praxis ist das ein wenig schwieriger:
Im EasyPak konnte man noch eine CSV einlesen, ein Profil erstellen und die Werte in der CSV dann den "EasyPakfeldern" zuordnen.
Felder, welche CAO nicht lieferte konnte man fest auf einen definierten "Textwert" einstellen...
Leider hat man das bei dem neuen tollen Programm wohl vergessen....
Jetzt gibt es nur noch ein paar fest definierte CSV-Formate unter denen man auswählen kann.
Und nun kommt das Problem:
Wie soll ich CAO klar machen, das es z.B. als dritten Wert in der CSV immer die "004" (z.B. für das Post-Produkt "Zerbrechlich") vergeben soll, dann brauch ich z.B. 8 Semikolone in folge, da hier keine Werte übergeben werden....
also z.B.:
Name1;Name2;Name3;004;;;;;;;;Strasse;PLZ;ORT;;;;;;;;0310;;;
Die Deutsche Post macht das übrigens genau so.... Dort wird auch das funktionierende "EasyLog" durch ein nicht funktionierendes "Geschäftskundenportal" mit "Pollingclient" abgelöst....
Allerdings kann man sich dort wenigstens online seine CSV-Profile zusammenstellen...
Lieben Gruß
Felix
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Di 27. Mär 2018, 14:52
von Felix.Merk
@Moderator bitte den Betreff abändern in: EasyPak/Easylog CSV-Export bei Lieferscheinerstellung
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Di 27. Mär 2018, 14:54
von Felix.Merk
hier noch die Schnittstellenbeschreibung von der Österreichischen Post.
Für uns kommen nur die "Ports":
- SchenkerPostPort
- UltimatePostPort
in Frage, da wir das Feld "Paketanzahl" benötigen....
Lieben Gruß
Felix
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Di 27. Mär 2018, 15:08
von hh-cm
Wie soll ich CAO klar machen, das es z.B. als dritten Wert in der CSV immer die "004" (z.B. für das Post-Produkt "Zerbrechlich") vergeben soll, dann brauch ich z.B. 8 Semikolone in folge, da hier keine Werte übergeben werden....
Der SQL Befehl der bei der Lieferscheinerstellung eine CSV erzeugt ist der Knackpunkt.
Ein Beispiel
Bewirkt natürlich, dass NAME,VORNAME,STRASSE aus der Tabelle FOOBAR zurückgegeben wird.
Was macht wohl
Code: Alles auswählen
SELECT NAME,'004' AS PLATZHALTER1, '' AS PLATZHALTER2, VORNAME,STRASSE FROM FOOBAR
Es kommt
NAME;004;;VORNAME;STRASSE
dabei raus.
Ein SQL muss keine direkten Felder beinhalten.
Sorry aber hier hat gerade keiner wirklich Zeit sich mit den Umstellungen und Wünschen der Paketdienstleister zu beschäftigen.
Konkrete Fragen können wir beantworten.
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Mi 28. Mär 2018, 08:16
von Felix.Merk
:-) brauchst dich nicht entschuldigen, ist schon alles was ich benötige :-)
Danke!
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Mi 28. Mär 2018, 08:17
von hh-cm
Super

Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Mi 28. Mär 2018, 09:37
von Felix.Merk
Funktioniert für mich soweit,
hier mein SQL-Cose zur Orientierung für den sogenannten "SchenkerPostPort" der Österreichischen Post.
Gibt es eine Möglichkeit Straße und Hausnummer mittels SQL zu trennen?
Code: Alles auswählen
'' AS "Sendungsnummer",
'' AS "Absenderreferenz1",
'' AS "Absender.FremdsystemReferenz",
'' AS "Absender.Name1",
'' AS "Absender.Name2",
'' AS "Absender.Name3",
'' AS "Absender.Adresszeile1",
'' AS "Absender.Hausnummer",
'' AS "Absender.Postleitzahl",
'' AS "Absender.Ort",
'' AS "Absender.Land",
'' AS "Empfänger.FremdsystemReferenz",
L.KUN_NAME1 as "Empfänger.Name1",
L.KUN_NAME2 as "Empfänger.Name2",
L.KUN_NAME3 as "Empfänger.Name2",
AD.EMAIL as "Empfänger.Mail",
L.KUN_STRASSE as "Empfänger.Adresszeile1",
'' AS "Empfänger.Hausnummer",
L.KUN_PLZ as "Empfänger.Postleitzahl",
L.KUN_ORT as "Empfänger.Ort",
L.KUN_LAND as "Empfänger.Land",
'31' AS "Produkt",
L.USR1 as "Paketanzahl",
'' AS "Gewicht",
'004' AS "Zusatzleistungen (CSV 2)",
'' AS "Zustellhinweis",
L.KUN_NUM as "KundenID",
'' AS "PrinterShippingNETName",
AD.TELE1 as "Empfänger.Tel",
'' AS "Absender.Tel",
'' AS "Absender.Email",
'' AS "Empfänger.ProvinzIsoCode",
'' AS "Rücksendeweg",
'' AS "Rücksendeoption",
'' AS "Rücksendedauer",
'' AS "Zollbeschreibung",
'' AS "Dokumentenart",
'' AS "Artikelliste"
FROM LIEFERSCHEIN L
INNER JOIN LIEFERSCHEIN_POS LP on LP.LIEFERSCHEIN_ID=L.REC_ID
left outer JOIN ADRESSEN AD on AD.REC_ID=L.ADDR_ID
WHERE L.REC_ID=:ID
Wenn was falsch oder umständlich ist, wäre ich froh wenn Ihr mir einen Hinweis gebt :-)
Liebe Grüße
Felix
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Mi 28. Mär 2018, 11:09
von hh-cm
Jein. Man könnte die Straße anhand des Leerzeichens splitten. Ist allerdings gefährlich, da z.B "Hans Müller Str. 54" nicht funktionieren würde
SUBSTRING_INDEX(SUBSTRING_INDEX(L.KUN_STRASSE, ' ', 1), ' ', -1) as STRASSE,
SUBSTRING_INDEX(SUBSTRING_INDEX(L.KUN_STRASSE, ' ', 2), ' ', -1) as HAUSNR
In der 1.5 gibt es das Feld STRASSE, HAUSNR und ADRESSZUSATZ welches in einer der nächsten Versionen benutzt werden kann.
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Mi 28. Mär 2018, 11:12
von Felix.Merk
das ist mir zu gefährlich :-)
Die Labels werden auch so übernommen.... sollte also passen...
Code: Alles auswählen
/*
Zusammenstellung für Import in "Post Label Center" der Österreichischen Post mittels "SchenkerPostPort"
*/
'' AS "Sendungsnummer",
'' AS "Absenderreferenz1",
'' AS "Absender.FremdsystemReferenz",
'' AS "Absender.Name1",
'' AS "Absender.Name2",
'' AS "Absender.Name3",
'' AS "Absender.Adresszeile1",
'' AS "Absender.Hausnummer",
'' AS "Absender.Postleitzahl",
'' AS "Absender.Ort",
'' AS "Absender.Land",
L.KUN_NUM AS "Empfänger.FremdsystemReferenz",
L.KUN_NAME1 as "Empfänger.Name1",
L.KUN_NAME2 as "Empfänger.Name2",
L.KUN_NAME3 as "Empfänger.Name2",
AD.EMAIL as "Empfänger.Mail",
L.KUN_STRASSE as "Empfänger.Adresszeile1",
'' AS "Empfänger.Hausnummer",
L.KUN_PLZ as "Empfänger.Postleitzahl",
L.KUN_ORT as "Empfänger.Ort",
L.KUN_LAND as "Empfänger.Land",
'31' AS "Produkt",
L.USR1 as "Paketanzahl",
'' AS "Gewicht",
'004' AS "Zusatzleistungen (CSV 2)",
'' AS "Zustellhinweis",
'' as "KundenID",
'' AS "PrinterShippingNETName",
AD.TELE1 as "Empfänger.Tel",
'' AS "Absender.Tel",
'' AS "Absender.Email",
'' AS "Empfänger.ProvinzIsoCode",
'' AS "Rücksendeweg",
'' AS "Rücksendeoption",
'' AS "Rücksendedauer",
'' AS "Zollbeschreibung",
'' AS "Dokumentenart",
'' AS "Artikelliste"
FROM LIEFERSCHEIN L
INNER JOIN LIEFERSCHEIN_POS LP on LP.LIEFERSCHEIN_ID=L.REC_ID
left outer JOIN ADRESSEN AD on AD.REC_ID=L.ADDR_ID
WHERE L.REC_ID=:ID
kleine Ergänzung/Änderung im Code
Re: DHL Geschäftskundenportal / DHL Shipment PollingClient /
Verfasst: Di 5. Mär 2019, 13:11
von Felix.Merk
nochmal eine Zusatzfrage...
Wir "missbrauchen" das Feld Überschrift1 dazu, um die Paketanzahl zu übergeben.
Im Export steht dann z.B. eine 4 in der Spalte Paketanzahl...
Es wird aber pro Lieferschein logischerweise nur eine Zeile mit Werten ausgegeben.
also z.B.:
Code: Alles auswählen
Name;Vorname;Strasse;PLZ;Ort,Paketanzahl
Mayer;Franz,Teststraße 1;88888;Testhausen;4
Ist es irgendwie möglich, wenn wir die "4" da reinschreiben, 4 einzelne Zeilen erstellen zu lassen.
Also 4 mal der Datensatz?
also dann so etwa:
Code: Alles auswählen
Name;Vorname;Strasse;PLZ;Ort,Paketanzahl
Mayer;Franz,Teststraße 1;88888;Testhausen;4
Mayer;Franz,Teststraße 1;88888;Testhausen;4
Mayer;Franz,Teststraße 1;88888;Testhausen;4
Mayer;Franz,Teststraße 1;88888;Testhausen;4
Lieben Gruß
Felix