Installation
- Laden Sie den FexExImporter herunter, indem Sie ihre Kontaktdaten auf https://t4dt.com/get-your-fedeximporter hinterlegen. Ihre Mailadresse wird dabei lediglich (insofern nicht explizit anders ausgewählt) dafür verwendet, Sie ggf. über Softwarehinweise und -warnungen zu informieren. Sie bekommen auf dieser Adresse ihren Download-Link zugestellt.
- Entpacken Sie das Archiv und legen die Exe-Datei in einem Verzeichnis auf dem Rechner ab, auf dem der Fedex Shipping Manager und der Fedex Transaction Listener installiert ist. Am besten legen Sie dafür ein eigenes Verzeichnis an.
Einrichtung
- Um Ihre Wawi vor versehentlichen Änderungen und Fehlern zu schützen sollten Sie an dieser Stelle für den FedexImporter ein eigenen Datenbank-Benutzer hinterlegen. Dazu führen Sie folgendes Statement aus:
USE [master] GO IF NOT EXISTS(SELECT principal_id FROM sys.server_principals WHERE name = 'fedeximporter') BEGIN CREATE LOGIN [fedeximporter] WITH PASSWORD=0x0200BC042E4284F51F8E069EF7BE7ED1DD324B6C03FDD989529A1BA41E769D869E72746B2BF2DBF1DF2E2081D93FEAFDE7066355D21B8210242A377FD6D32DDD0B9F4C474321 HASHED, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[Deutsch], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON END GO USE [eazybusiness] IF NOT EXISTS(SELECT uid FROM sys.sysusers WHERE name = 'fedeximporter') BEGIN CREATE USER [fedeximporter] FOR LOGIN [fedeximporter] WITH DEFAULT_SCHEMA=[dbo] END GO GRANT SELECT ON OBJECT::dbo.tVersand TO fedeximporter GRANT UPDATE ON OBJECT::dbo.tVersand (dVersendet,cIdentCode) TO fedeximporter
Das Skript legt einen Benutzer mit dem Namen „fedeximporter“ an und erteilt diesem die Berechtigung ausschließlich die zwangsläufigen Felder in der Datenbank zu bearbeiten. Dieser Benutzer hat ansonsten keinerlei Zugriff auf die Wawi.
Hinweis: Ist es, warum auch immer, nicht möglich diesen Schritt durchzuführen (beispielsweise, weil Ihr Hosting dies nicht zulässt), müssen Sie dies im Schritt 8 gesondert berücksichtigen.
In der Wawi
Ausgabe an FSM
- Legen Sie nun eine Exportvorlage für Fedex an.
- Als Dateipfad der Ausgabedatei geben Sie das Eingabeverzeichnis für den TransactionListener von FSM an.
- Als Ausgabetemplate kann man das folgende verwenden und ggf. anpassen:
{% for paket in Vorgang.Pakete -%}
{% comment -%}0: Transaction Code{% endcomment -%}
0,"020"\
{% comment -%}1: Transaction ID{% endcomment -%}
1,"{{ Vorgang.Lieferschein.InterneLieferscheinnummer }}"\
{% comment -%}4: Absender Firmenname{% endcomment -%}
4,"{{ Firma.Name }}"\
{% comment -%}5: Absender Anschrift 1{% endcomment -%}
5,"{{ Firma.Straße }}"\
{% comment -%}7: Absender Ort{% endcomment -%}
7,"{{ Firma.Ort }}"\
{% comment -%}9: Absender Postleitzahl{% endcomment -%}
9,"{{ Firma.PLZ }}"\
{% comment -%}10: Fedexkundennummer Absender{% endcomment -%}
10,"0000000000"\
{% comment -%}183: Absender Telefonnummer{% endcomment -%}
183,"{{ Firma.Telefon }}"\
{% comment -%}1150: Absender Unterschrift{% endcomment -%}
1150,"{{ Firma.Unternehmer }}"\
{% comment -%}11: Empfänger Firmenname{% endcomment -%}
11,"{{ Vorgang.Lieferschein.Auftrag.Kunde.Firma }}"\
{% comment -%}12: Empfänger Kontaktperson{% endcomment -%}
12,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.Vorname }} {{ Vorgang.Lieferschein.Auftrag.Lieferadresse.Name }}"\
{% comment -%}13: Empfänger Anschrift 1{% endcomment -%}
13,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.Straße }}"\
{% comment -%}14: Empfänger Anschrift 2{% endcomment -%}
14,""\
{% comment -%}15: Empfänger Ort{% endcomment -%}
15,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.Ort }}"\
{% comment -%}16: Empfänger Bundesstaat/Provinz{% endcomment -%}
16,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.Bundesland }}"\
{% comment -%}17: Empfänger Postleitzahl{% endcomment -%}
17,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.PLZ }}"\
{% comment -%}18: Empfänger Telefonnummer{% endcomment -%}
18,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.Telefon }}"\
{% comment -%}20: Fedex-Kundennummer Frachtzahler{% endcomment -%}
20,"0000000000"\
{% comment -%}25: Referenz{% endcomment -%}
25,"P{{ Paket.InternePaketnummer}}"\
{% comment -%}26: Carriage value{% endcomment -%}
26,{% assign Zwischenergebnis = Vorgang.Lieferschein.Auftrag.Gesamtbetrag | Minus: Vorgang.Lieferschein.Auftrag.VersandkostenBrutto %}"{{Zwischenergebnis | FormatNumber: 'N2', 'en-US'}}"\
{% comment -%}32: Absender Kontaktperson{% endcomment -%}
32,"{{ Firma.Unternehmer }}"\
{% comment -%}50: Empfänger Land{% endcomment -%}
50,"{{ Vorgang.Lieferschein.Auftrag.Lieferadresse.LandISO }}"\
{% comment -%}68: Währung{% endcomment -%}
68,"{{ Vorgang.Lieferschein.Auftrag.Währung }}"\
{% comment -%}70: Zahler für Zölle und Steuern{% endcomment -%}
70,"2"\
{% comment -%}75: Gewichtseinheit{% endcomment -%}
75,"KGS"\
{% comment -%}79: Inhalt / Produktbeschreibung{% endcomment -%}
79,"{% if Vorgang.Lieferschein.Positionen != empty -%}{% for position in Vorgang.Lieferschein.Positionen -%}{{ position.Menge | Nummer }} Stk. - {{ position.Artikel.Artikelnummer }} {%endfor -%} {%endif -%}"\
{% comment -%}80: Ursprungsland{% endcomment -%}
80,"{{ Firma.Land.ISO }}"\
{% comment -%}81: Zolltarifnummer HS code{% endcomment -%}
81,"{{ Vorgang.Lieferschein.PositionenAlle.ErstesObjekt.Artikel.TaricCode }}"\
{% comment -%}113: commercial invoice flag{% endcomment -%}
113,"N"\
{% comment -%}116: Anzahl Packstücke{% endcomment -%}
116,"{{ Vorgang.Lieferschein.Pakete.Anzahl }}"\
{% comment -%}117: Absender Land{% endcomment -%}
117,"{{ Firma.Land.ISO }}"\
{% comment -%}119: Summe Zollwert{% endcomment -%}
119,{% assign Zwischenergebnis = Vorgang.Lieferschein.Auftrag.Gesamtbetrag | Minus: Vorgang.Lieferschein.Auftrag.VersandkostenBrutto %}"{{Zwischenergebnis | FormatNumber: 'N2', 'en-US'}}"\
{% comment -%}183: Absender Telefonnummer{% endcomment -%}
183,"{{ Firma.Telefon }}"\
{% comment -%}190:Dokumentensendung{% endcomment -%}
190,"N"\
{% comment -%}1273: Verpackung{% endcomment -%}
1273,"1"\
{% comment -%}1274: Serviceart{% endcomment -%}
1274,"3"\
{% comment -%}1202: Recipient ship alert Email{% endcomment -%}
1202,"{{ Vorgang.Lieferschein.Auftrag.Kunde.EMail }}"\
{% comment -%}1557: ShipalertFlag{% endcomment -%}
1557,"Y"\
{% comment -%}2460: Gesamtgewicht ( mit . oder Times 100){% endcomment -%}
2460,"5"\
{% comment -%}99: Ende einer Transaktion{% endcomment -%}
99,""\
{% endfor -%}
- Legen Sie nun eine Versandart für Fedex an und weise sie dieser die eben erstellte Exportvorlage zu
Rückgabe der Trackingcodes an die Wawi
- Abschließend binden wir den FedexImporter über die Worfklows in JTL WAWI ein.
- Legen Sie einen neuen Versandworkflow an und Verwenden Sie als Ereignis „Lieferscheine -> Versendet“
- Fügen Sie als Bedingung „Lieferscheine\Auftrag\Versandart\Name“ ist gleich „FedEx“ hinzu, damit der Workflow nur für FedEx Sendungen ausgelöst wird Dieser Name muss natürlich entsprechend angepasst werden, falls in Schritt 3 ein abweichender Name gewählt wurde (Siehe Hinweis unter Schritt 3).
- Fügen Sie die Aktion „Ausführen“ mit den unten gezeigten Parametern ein. Diese müssen auf das eigene Setup entsprechend angepasst werden
Das Programm liest nun aus dem angegebenen Verzeichnis alle .out-Dateien und verarbeitet diese im JTL. Ist keine .out-Datei vorhanden, wartet das Programm bis zu eine Minute auf eine neue Datei. Sobald eine solche eingetroffen ist, verarbeitet FedexImporter diese und schließt sich selbsttätig innerhalb von wenigen Sekunden.
Erfolgreich importierte Dateien erhalten die Endung „done“. Tritt beim Import der .out-Datei ein Fehler auf, erhält die Datei die Endung „error“. In diesem Fall konnte der TrackingCode evtl. nicht korrekt in JTL hinterlegt werden.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.