Lobster Experten Fragen

VDA

Das Kürzel VDA steht eigentlich nicht für ein Datenformat, sondern für den Verband der deutschen Automobilindustrie. Dieser wiederum hat für seine Mitglieder sogenannte Empfehlungen herausgegeben, wie sie im EDI-Umfeld ihre Daten untereinander austauschen sollen. Diese Empfehlungen haben Nummern, die letztlich für verschiedene Nachrichtentypen stehen.

Die früheren Empfehlungen beinhalten noch eigene Formate, die wiederum strukturell Fix-Record-Formate sind. Um die wird es in diesem Kapitel gehen. Inzwischen schwenkt der VDA um auf die Benutzung von EDIfact (ein Beispiel ist die VDA-Empfehlung 4938), wodurch sich langsam ein eigenes Subset (siehe EDIfact-Artikel) bildet.

Nachrichtentypen
Sehr gebräuchlich sind die Typen (alias Empfehlungen) 4905 (Lieferabrufe), 4906 (Rechnungen), 4913 (Lieferscheine) und 4920 (Speditionsaufträge), aber es gibt noch viele mehr. Warum die alle mit 49 anfangen? Fragen Sie was Leichteres… Eine lange Liste der verfügbaren Empfehlungen finden Sie im Wikipedia-Artikel zum VDA. Hier mal exemplarisch der Aufbau des Nachrichtentyps 4905 (Lieferabruf):

    Aufbau des VDA 4905 Lieferabrufes, dargestellt im Lobster DataWizard
Aufbau des VDA 4905 Lieferabrufes,
dargestellt in Lobster_data

 

Und so sieht das Format für Lieferscheine (4913) aus:

Aufbau des VDA 4913 Lieferscheines, dargestellt im Lobster DataWizard
Aufbau des VDA 4913 Lieferscheines,
dargestellt in Lobster_data

 

Wundern Sie sich nicht über die unterschiedliche Benennung der Satzarten, die ist in dieser Software frei wählbar und ein Stück weit Geschmackssache. Dem einen reicht ein „N[ode]711“, der andere bevorzugt das ausführliche „S[atz]A[rt]_511_Vorsatz_Lieferabrufdaten“.

Aufbau der Satzarten
51101KdNr    LiefNr 0045600457130209    |ENDE
Das (alles vor dem „|ENDE“) ist der Vorsatz (quasi der Datei-Kopf) zu einem VDA 4905 Lieferabruf. Die Werte sind im Einzelnen:

511: Kennung des Vorsatzes, immer 3 Zeichen
01: Versionsnummer, immer 2 Zeichen, vorn mit 0 aufgefüllt
KdNr: Kundennummer, immer 9 Zeichen, aufgefüllt mit folgenden Leerzeichen
LiefNr: Lieferantennummer, auch immer mit folgenden Leerzeichen auf 9 aufgefüllt
00456: Laufnummer der vorangegangenen Übertragung, immer 5 Zeichen, mit führenden Nullen aufgefüllt
00457: Laufnummer dieser Übertragung, ebenso lang und aufgefüllt
130209: Datum der Übertragung im Format yymmdd, also hier der 09. Februar 2013

Danach könnte noch mal ein Datum (das der Nullstellung) kommen, das hier aber fehlt, und dann noch 83 Leerzeichen. Warum, wird gleich erklärt.

Der Aufbau dieses Datensatzes, etwas tabellarischer dargestellt:

Aufbau der VDA-Satzart 511, dargestellt im Lobster DataWizard
Aufbau der VDA-Satzart 511, dargestellt in Lobster_data

 

Rechnen Sie die Längen dieser Felder mal zusammen! Was kommt raus? 128. Und auch jede andere Satzart in so einem VDA 4905 Lieferabruf ist exakt 128 Zeichen lang. Um das zu erreichen, wird eben jede Zeile noch mit einer gewissen Anzahl Leerzeichen am Ende aufgefüllt.

Grundregeln VDA
Jede VDA-Nachricht beginnt mit einem Vorsatz, in dem die beteiligten Parteien, die Nummern der vorigen und jetzigen Übertragung und das Übertragungsdatum enthalten sind. Darüber hinaus gibt es meist noch ein paar weitere Angaben, die aber von Typ zu Typ variieren.

Ebenso endet jede Nachricht mit einem Nachsatz, in dem die Anzahl der einzelnen Satzarten innerhalb der Nachricht aufgeführt ist. Beispielhaft hier für den Lieferschein, VDA 4913:

Der Nachsatz des VDA 4913 Lieferscheines, dargestellt im Lobster DataWizard
Der Nachsatz des VDA 4913 Lieferscheines,
dargestellt in Lobster_data

 

Sieht ganz so aus, als sei die Satzart 717 erst später dazugekommen, weshalb ihr Zähler hinter dem für den Nachsatz 719 liegt.

Jede Satzart beginnt übrigens immer mit ihrer Kennung (drei Zeichen) und einer Versionsnummer (2 Zeichen, aufgefüllt mit führender Null). Diese Versionsnummer bezieht sich tatsächlich auf die einzelne Satzart. Es kann also vorkommen, dass innerhalb einer Nachricht munter Satzarten verschiedener Versionen gemischt werden.
Zahlenwerte werden grundsätzlich mit führenden Nullen auf die nötige Länge aufgefüllt, alle anderen Werte mit folgenden Leerzeichen.