EAN 128 scannen

Servus.

Ich habe massive Probleme mit dem Verständnis des Datenbezeichnerkonzepts bei EAN 128. Angenommen, ich wolle die Kundenbestellnummer (400) 12345 codieren. Ich stelle den Code also dar mittels Startzeichen - FNC1 - 400 - 12345 - Prüfziffer - Endezeichen.

Wenn ich diesen Barcode drucke und anschliessend mit einem entspr. Scanner einlese, erhalte ich als Leseergebnis die ]C140012345. Das ist auch genau das Ergebnis, das ich nach der mir vorliegenden Dokumentation erwarte, und ich kann es auch interpretieren.

Nun will ich aber zusätzlich die Batchnummer (10) 67890 in den Code einbringen, erstelle also folgendes: Startzeichen - FNC1 - 400 - 12345 - FNC1 - 10 - 67890 - Prüfziffer - Endezeichen.

Lese ich diesen Code wieder ein, erhalte ich das Ergebnis ]C1400123451067890. Auch dieses Ergebnis widerspricht der mir vorliegenden Doku nicht - nur: Ich habe keine Chance, dieses Ergebnis zu interpretieren. Der AI 10 folgt unmittelbar auf die vorangehende Bestellnummer 12345. Und da ich für die Bestellnummer keine fixe Länge habe, bin ich nicht mehr in der Lage, diese Daten zu interpretieren.

Was mache ich (oder mein Scanner?) hier falsch? Danke für Tipps,
Schorsch

Hallo,

also, bei der Datenbezeichnersystematik gibt es folgende Regeln:

1). alle Datenbezeichner mit nummerischen Inhalt haben eine feste Feldlänge, müssen dann also mit Nullen aufgefüllt werden. Die einzelnen Datenbezeichner mit Länge und Inhalt hast Du mit Sicherheit schon, oder?. Bei nummerischen Datenbezeichnern muss kein FNC1-Zeichen verwendet werden. Scanner erkennen anhand des Datenbezeichners welche Feldlänge folgen muss und können so entsprechend den Inhalt zur Interpretation weitergeben.

2). alle Datenbezeichner mit alphanummerischen Inhalt haben eine variable Länge und benötigen deswegen das FNC1-Zeichen als Datenfeldbegrenzer.

3). Bei Klarschrift müssen die Datenfeldbezeichner in Klammern stehen, so dass hier die optische Trennung folgt und somit ggf. die Interpretation. Klammern dürfen natürlich nicht im Strichcode codiert werden :wink:

So weit zu Theorie :wink:

Bei Deinem Beispiel fehlt etwas. Dein Scanner oder der entsprechende Decoder muss dass FNC1-Zeichen als Zeichen „GS“ im ASCII 29 Code erkennen!!! Das tut Dein Programm/Scanner anscheinend nicht. Dadurch hast Du einen eindeutigen Datenfeldbegrezner und eine Möglichkeit zu Interpretation. Es hätt also lauten müssen:

START C - Startzeichen Code 128 für Zeichensatz C
FNC1
400 - Datenbezeichner „Kundenbestellnummer“
12345 - Kundenbestellnummer 12345
FNC1
10 - Datenbezeichner „Chargennummer“
67890 - Chargennummer 67890
Prüfziffer Code 128
STOPP C - Stoppzeichen Code 128

Der Decoder hätte folgendes bekommen müssen:
]C1
40012345
GS
1067890

So, das wars mit meinem Wissen. Vielleicht liegts bei Dir am fehlenden Start/Stop Zeichen, oder der Decoder kommt mit EAN128 nicht klar.

Hoffentlich kannst Du damit was anfagen. Gib mal bescheid, obs erfolgreich war.

Gruß

Markus Sekula

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen Dank für deine Antwort. Mein Problem lag tatsächlich im Scanner begründet, der die eingelesenen Daten nicht korrekt an die Anwendung weitergereicht hat (das „GS“ unterschlagen). Meine Kunden aber sind in der Lage, die von mir erstellten Begleitzettel zu lesen und korrekt zu interpretieren, das Problem ist somit erschlagen.

Gruss
Schorsch