GS1 Datamatrix

Hallo zusammen,

wir müssen einen sogenannten GS1 Datamatrix Code andrucken. Der GS1 Datamatrix unterscheidet sich vom “normalen” Datamatrix durch ein Symbol Character als Startzeichen. Laut Dokumentation ist das als chr$(232) zu codieren (siehe http://www.gs1.org/docs/barcodes/GS1_DataMatrix_Guideline.pdf, Seite 48).

Wir haben das entsprechend in die Barcodeformel eingebaut, aber die Prüfung durch die Metro ergab, dass der Code nicht als GS1 Datamatrix erkannt wird, sondern als normaler Datamatrix Code.

Wer hat schon erfolgreich mit LL21 einen GS1 Datamatrix gedruckt, und wie muss die Barcodeformel dafür aussehen?

Vielen Dank.

Hallo Herr Eden,

vielen Dank für Ihren Beitrag.

An dieser Stelle möchten wir gerne auf das List & Label Designer-Handbuch verweisen:

Um nicht druckbare Zeichen (Binärdaten) im Barcodetext eingeben zu können, müssen sie in einer speziellen Zeichenkette verpackt werden. Man fügt die Daten über die Zeichenkette ~dNNN ein, wobei NNN für den ASCII-Code steht.

Beispiel: DEA~d065~d015~d000~d247~d220 (~d065 steht z.B.
für “A”)

Um einen EAN Datamatrix darzustellen, können Sie das Sonderzei-
chen FNC1 als ~1 codieren.

Mit freundlichen Grüßen

Christian Rauchfuß
Technischer Support
combit GmbH

Anbei einmal ein Beispiel:

Für den GS1-Datamatrix:
“~1” + “241”+ Data.ArtikelnummerKunde + “~1” + “30” + fstr$(Data.Stueckzahl ,"&&&&&&&&")

Für die Klarschriftzeile:
“241”+ Data.ArtikelnummerKunde + CHR$(254) + “30” + fstr$(Data.Stueckzahl ,"&&&&&&&&")

1 Like

Hi,
hab den alten Eintrag hier gefunden - sehr hilfreich, danke erstmal dafür - aber ich hab eine kurze Frage zu deiner Aussage.

Ich nutze aktuell das Element barcode und habe dort im Feld Formel folgendes hinterlegt:
Barcode("~1" +“240”+ast_nummer+"~1" +“10”+astcg_nummer,“Datamatrix”)

ast_nummer = eigene Artikelnummer
astcg_nummer = Chargennummer

Was ist hier vmit Klarschriftzeile gemeint? Weil eine Datamatrix hat diese doch nicht? Oder war hier gemeint, wenn ich drunter selberständig nochmal eine Textzeile ausgeben möchte mit dem Inhalt des Datamatrixcodes?

Ja, so lese und verstehe ich das :slight_smile:

1 Like

Hallo, ich hab da mal eine Frage. Weshalb wird hier für fnc1 ascii(254) verwendet und nicht 29? Gibt es in diesem Forum so etwas wie ein sheet für neulinge wo man alle nützlichen codes findet?

Im Code sollte ~1 für FNC1 verwendet werden. Der ASCII-Code 254 bezieht sich auf die Klartextzeile unter dem Barcode :slight_smile:.

Die beste Ressource für den Einstieg dürfte neben diesem Forum unser Doku-Portal sein: https://docu.combit.net

1 Like

Danke.

Verstehe dennoch nicht den Unterschied ob man in der Klartextzeile CHR$(254) oder CHR$(29) schreibt. gibt es zwischen diesen 2 einen Unterschied? Wenn man nämlich nach etwas wie “ascii code für fnc1/gs1” googelt kommt immer “29” als Ergebnis.

Die Spezifikation für die HRI (“Human Readable Interpretation”) sagt:

[…]Examples of such characters are Start and Stop Characters, FNC1 and data separators. These
characters are not represented in the HRI since they are intended only for use by automated
scanning software

Insofern würde ich den Teil entsprechend der Spezifikation tatsächlich aus der HRI heraushalten. Wir haben aber eine Designerfunktion, die das erledigt, dazu unten noch ein PS.

PS: Die GS1Text$-Funktion erleichtert die Ausgabe im richtigen Format. Hier wird ebenfalls chr$(254) als Trennzeichen verwendet, z.B.

Der eigentliche Ursprung des FNC1-ASCII-Codes 254 ist vermutlich hier, da finden sich auch weitere Werte, die wir definiert haben:

Sonderzeichen müssen wie folgt ersetzt werden:
NUL: chr$(255)
FNC1: chr$(254)
FNC2: chr$(253)
FNC3: chr$(252)
FNC4: chr$(251)

Die GS1-Spezifikation gibt für GS1 keinen ASCII-Code vor:

The FNC1 Symbol Character is one of the four Function Characters in Code 128, but they have no ASCII equivalent and are not intended to be transmitted. When the double start pattern for GS1-128 is used, the combination of Start A, B, or C and FNC1 is transmitted as the symbology identifier.

Andere Quellen nennen 232 als gängigen ASCII Code-Ersatz. Letztlich ist nur wichtig, dass im Barcode das richtige Zeichen encodet wird, das kann durch Verwendung von ~1 sichergestellt werden. Und für die HRI kannst du mit der o.g. Designerfunktion und chr$(254) arbeiten.

1 Like