EasyUp2, CSV-Dateiformat für Aufträge

Mit diesem Dateiformat können Transportaufträge einem 'Shipping Agent' übergeben werden.

Inhalt:
1) Dateiname, Zeichensatz, Kompression & Übergabe
2) Zeilendarstellung, Grenzen & Formalprüfungen
3) Felddarstellung
4) Feldliste
5) Beispieldateien




1) Dateiname, Zeichensatz, Kompression & Übergabe

Dateiname:
- max. Länge 30 Zeichen inkl. Endung
- nur aus den Zeichen a..z, A..Z, 0..9 (Ausnahme "." für dokumentierte Endungen)
- der Dateiname beginnt mit "eu2"

Zeichensatz und Kompression:
Endung des Dateinamens
Bedeutung
ohne
Zeichensatz ISO-8859-1, keine Kompression
".gz"
Zeichensatz ISO-8859-1, mit gz-Kompression
".utf8"
Zeichensatz UTF-8, keine Kompression
".utf8.gz"
Zeichensatz UTF-8, mit gz-Kompression
Dateien mit andere Endungen werden abgewiesen.

Wir raten aus folgenden Gründen zur Kompression mit "gzip" (gz):
- weniger Transportzeit
- weniger Transportkosten
- Sicherung gegen Bitfehler
- Prüfung auf Vollständigkeit / Transportabbruch
- geringe Anfälligkeit für Sicherheitsprobleme aufgrund des großen Nutzerbasis & Open Source
Das Datei- und Kompressionsformat "gz" ist verschieden vom Packer "pkzip" oder "zip" - der für diesen Zweck nicht unterstützt wird. Quellencode und ausführbare Programme für gzip (GNU-Zip) finden Sie auf der Homepage http://www.gzip.org.

PGP-Dateiverschlüsselung ist auf Anfage möglich.

Die Standard-Methode der Dateiübergabe ist HTTP-Upload via 17111Weborder ("Datei Senden" in "Verwaltung"). Nach Absprache sind auch email-Attach und FTP/SCP möglich.

Erwartete Eindeutigkeit der Dateinamen und Kompression je nach ja Übergabemethode:
Übergabe via
Eindeutigkeit Dateiname
Kompression
HTTP-Upload
Dateiname darf ohne Einschränkung wiederverwendet werden - immer der gleiche ok
freigestellt
email-Attach
Soll, muß aber nicht eindeutig sein (besser zur Fehlerdiagnose)
freigestellt
FTP / SCP
Dateiname darf innerhalb von 35 Kalendertagen nicht erneut verwendet werden.
oligatorisch



2) Zeilendarstellung, Grenzen & Formalprüfungen

Zeilenende wahlweise mit
- CR
- CR,LF
- LF oder
- LF, CR
Alle anderen nicht druckbaren Steuerzeichen sollen nicht vorkommen bzw. werden ausgefiltert.

Eine Datei muß zwischen 2 und 1000 Zeilen inkl. Kopfzeile enthalten. Also maximal 999 Aufträge je Datei.

Zum Abbruch des Ladevorganges auf der formalen Prüfebene führen:
- Fehler im Dateinamen
- Dekompressionsfehler (falls mit gz-Kompression)
- UTF-8 Formalfehler (ungültige UTF-Sequenzen)
- Dateigröße (nach Dekompression) < 15 oder > [slimitUpload])
- Zeilen mit einer Zeichenanzahl von weniger als 10 (auch Leerzeilen) oder mehr als 20000.
- Anzahl Zeilen kleiner 2 oder größer 1000
- Anzahl Header-Felder < 3 oder > 250
- Anzahl Datenfelder in einer Zeile ungleich Anzahl Headerfelder
- Länge eines Feldwertes > 250
- Die Abwesenheit eines der Pflichtfelder im Header



3) Felddarstellung

Feldtrennzeichen ist das Semikolon (";"). Nach dem letzten Feld einer Zeile folgt kein Semikolon sondern nur das Zeilenede laut 2).

Es gelten die üblichen CSV-Quote-Regeln. Feldwerte mit Semikolon oder " sind zu quoten. Das " wird als "" (2 mal ") übermittelt. Beispiel:
Datenwert
Darstellung als CSV-Feld
a
a
a;b
"a;b"
a"b
"a""b"
17111Weborder1 kann das Zeichen " in Aufträgen nicht speichern und ignoriert es. 17111Weborder2 nimmt den gesamten Unicode-Zeichensatz an.

Feldtypen:
Typ
Formatierung im CSV-Feld
t
Text, ohne führende oder abschließende Blanks
anz
Anzahl, ohne führende Nullen. Erlaubte Zeichen nur 0..9. Keine Tausender-Punkte oder -Kommas



4) Feldliste

Die fetten Feldnamen sind Pflicht. Die Kleinschreibung in den Feldnamen ist signifikant. Die Feldreihenfolge ist frei.

4a) Sendungsbezogene Felder:

Feldname
Länge
Typ
Inhalt
orkidd
7
t
17111Weborder-Kunden-DFÜ-id (Auftraggeber-Kennung). Muß innerhalb einer EasyUp-Datei gleich sein.
abskids
1..15
t
Absender-Id (Kunden-Nr beim Spediteur). Der Absender muß unter dem Kunden bereits angelegt sein.
sprod
1
t
Produkt, Serviceklasse: "v" = Versandlog, "b" = Belog, "u" = UPS, "t" = TOF
oref1
1..15
t
Auftragsnummer des Auftragsgebers - oft = Lieferscheinnr. Muß in OR eindeutig sein - sonst wird der Auftrag nicht eingebucht (= "A-Nr" in 17111Weborder)
ename1
3..32
t
Empfängername1
ename2
0..32
t
2. Adr.Zeile (falls die Spalte ename2 nicht übergeben wird, darf der ename1 max. 64 Zeichen lang sein und wird in 17111Weborder auf EName1 und EName2 umgebrochen)
estreet1
3..32
t
Straße und Nr
ecc
0..2
t
Empfänger Ländercode nach ISO 3166-A2, Leerfeld = Land des Shipping-Agent. Siehe 17111Weborder Länderliste unter "ISO-Codes" (GB=Großbritannien, FR=Frankreich).
epc
0..9
t
Postleitzahl, linksbündig, (Länge wird gegen Ländertab geprüft, deutsche PLZ immer 5-stellig; ggf mit führender Null)
ecity1
3..24
t
Empfänger-Ort (Bitte nicht in Sperrschrift "K ö l n" - sonst Prüffehler)
incoterm
0..4
t
Frankatur, 17111Weborder-Coding. Siehe "Verwaltung" -> "Frankaturen" -> "Code"
commentC
0..60
t
Sendungsbemerkung, die Maximallänge richtet sich nach Speditionsvorgaben. "C" laufend ab 1. Die maximale Anzahl Comment-Spalten richtet sich nach dem Shipping-Agent.
gival 0..9
anz
Good Insurance Value, Versicherungswert. Bei "100,00 Euro" bitte "10000" im Datensatz
gicurr
0..3 t
Währung des "gival" als ISO-Währungscode, Alpha (Euro = "EUR").
codval
0..9
anz
Collect on Delivery, Nachnahmewert. Bei "100,00 Euro" bitte "10000" im Datensatz
codcurr
0..3
t
Währung des "codval" als ISO-Währungscode, Alpha (Euro = "EUR").
termcode
0..4
t
Terminart, 17111Weborder-Coding. Siehe "Verwaltung" -> "Terminarten" -> "Code"
termdata
0..12
t
Terminzeit im Format JJJJMMTTHHMM oder JJJJMMTT oder JJMMTT
volltr
0..6
anz
Sendunsgvolumen in Litern. 1 cbm = "1000" Liter im Datensatz
dimlenmm
0..5
anz
Sendungslänge in Millimeter.
dimwidthmm
0..5
anz
Sendungsbreite in Millimeter.
dimhightmm
0..5
anz
Sendungshoehe in Millimeter.


4b) Auf Sendungszeilen bezogene Felder:
Feldname
Länge
Typ
Inhalt
smarkN 1)
0..15
t
Marke in N. Sendungszeile (SZ)
sqN 1)
0..3
anz
Anzahl Packstücke in N. Sendungszeile. Die Maximalanzahl je Sendunsgzeile bestimmt der Shipping-Agent.
spcN 1)
0..2
t
VP-Code N. SZ
scontN 1)
0..40
t
Inhalt N. SZ Die Maximallänge der Inhaltsbeschreibung bestimmt der Shipping Agent. Eine Sendunsgzeile wird nur importiert, wenn ein Inhalt angegeben ist. Die erste Sendunsgzeile ist Pflicht.
sgN 1)
0..8
anz
Zeilengewicht in Gramm (1 kg = "1000" im Datensatz). Alternativ wird der Feldnamen "g" für das Sendungsgewicht verstanden. Bei mehreren Packstücken in der Sendunsgzeile ist das Gesamtgewicht anzugeben.


1) "N" steht in den Feldnamen für die n-te Sendungszeile. Die erste Sendungszeile ist 1. Das Feld "Inhalt" der ersten Sendungszeile hat den Namen "scont1". Bei mehreren Sendungszeilen sind die Zeilennummern bündig aufsteigend zu verwenden (ohne Auslassungen).


4c) Felder für Gefahrgutzeilen:
Feldname
Länge
Typ
Inhalt
gGq 2)
0..5
anz
Anzahl GG-Packstücke den G.ten GG-Zeile. Die Maximallänge (hier 5) richtet sich nach dem Spediteur.
gGpc 2)
0..5
t
GG-Packstückart-Codierung der G.ten GG-Zeile. Siehe "Verwaltung" - > "GG-PVs"
gGpct 2)
0..20
t
Klartext zu gGpc. Die Maximallänge (hier 20) richtet sich nach dem Spediteur.
gGclass 2)
0..3
t
GG-Klasse der G.ten GG-Zeile.
gGdigit 2)
0..1
t
GG-Ziffer der G.ten GG-Zeile
gGletter 2)
0..3
t
GG-Buchstabe der G.ten GG-Zeile
gGvg 2)
0..1
t
Verträglichkeitsgruppe der G.ten GG-Zeile
gGvpg 2)
0..3
t
VP-Gruppe der G.ten GG-Zeile
gGrule 2)
0..3
t
fix "ADR"
gGg 2)
0..8
anz
Bruttogewicht in Gramm der G.ten GG-Zeile
gGun 2)
0..4
t
UN-Nr. der G.ten GG-Zeile
gGcont 2)
0..120
t
Stoffname der G.ten GG-Zeile
gGzid 2)
0..20
t
Gefahrzettelmuster-Nummer der G.ten GG-Zeile

2) "G" steht in den Feldnamen für die G.-te GG-Zeile. Die erste GG_Zeile ist 1. Das Feld "Inhalt/Stoffname" der ersten GG-Zeile hat den Namen "g1cont". Bei mehreren GG-Zeilen sind die Zeilennummern bündig aufsteigend ab 1 zu verwenden (ohne Auslassungen).



5) Beispieldateien

5a) 2 Aufträge des gleichen Absenders mit 20 und 150 kg

orkidd;abskids;sprod;oref1;ename1;estreet1;ecc;epc;ecity1;sg1;scont1
1234567;k33aa;v;auftrag47;Max AG;Leoweg 12;DE;19067;Retgendorf;20000;Regenschirme
1234567;k33aa;v;auftrag48;Moin KG;Testallee 1;DE;42897;Remscheid;150000;Regelware


5b) 2 Aufträge des gleichen Absenders mit max 2 Sendungszeilen
orkidd;abskids;sprod;oref1;ename1;estreet1;ecc;epc;ecity1;sq1;spc1;scont1;sg1;sq2;spc2;scont2;sg2
1234567;k33aa;v;auftrag47;Max AG;Leoweg 12;DE;19067;Retgendorf;1;KT;Bonbons;20000;;;;
1234567;k33aa;v;auftrag48;Moin KG;Testallee 1;DE;42897;Remscheid;1;KT;Bonbons;15000;2;FP;Regenschirme;123000



easyup2.html - end.