Der GS1 DataBar beschreibt eine Familie von Codes, die in der Norm ISO/IEC 24724 beschrieben ist.

Im Gegensatz zu den bisherigen Strichcodearten hat der GS1 Databar keine direkte Zuordnung eines Codewortes zu dem dekodierten Codeinhalt. Es werden z.B. nur zwei Codew├Ârter benutzt, die zusammengesetzt und dekodiert eine 14-stellige Nummer ergeben.

Urspr├╝nglich wurde der Code RSS Code genannt. Das steht f├╝r Reduced Space Symbology (= Codeart mit verringerten Platzanforderungen). Aufgrund der Namensgleichheit zu den RSS Feeds wurde dieser Name aufgegeben.

Im Gegensatz zu allen anderen Codearten ist der GS1 Databar ausschlie├člich f├╝r die Nutzung der GS1 Datenstruktur mit Application Identifiern vorgesehen. Dazu kommt eine weitere Besonderheit. Im Falle der GS1 Datenstrukturen wird das Sonderzeichen FNC1 (ist nicht im ASCII Zeichensatz vorhanden) grunds├Ątzlich an der ersten Stelle im Code verwendet.  Eine Ausnahme ist der GS1 DataBar Code in allen Varianten. Das FNC1 Zeichen darf in diesem Code nie als Erkennungsmerkmal der Datenstruktur an der ersten Stelle im Code benutzt werden.

Wenn der Platzbedarf der klassischen Codearten (EAN, Code 128) mit dem GS1 DataBar verglichen wird, dann stellt sich heraus, dass der Platzvorteil vorhanden ist aber eher marginal ausf├Ąllt. Das macht sich insbesondere bemerkbar, wenn der Platzbedarf mit dem Platzbedarf eines DataMatrix Code verglichen wird. Um einen g├╝ltigen Vergleich zu erzielenm wird ein identischer Dateninhalt und eine identische Modulgr├Â├če benutzt. Der EAN-13 Code wird als Bezug mit 100% Platzbedarf angenommen. Der Data Matrix Code ist mit weniger als 20% Platzbedarf bezogen auf den EAN-13 Code drastisch kleiner. Der GS1 DataBar ben├Âtigt immer noch 70 - 90 % des Platzes eine EAN-13 Codes.

Das folgende Bild zeigt diese Verh├Ąltnisse auf. Der erste Code ist ein GS1 Databar (14), der zweite ein EAN-13 Code und der dritte Code ist ein GS1 Databar limited. Darunter steht in der Mitte ein DataMatrix Code mit dem identischen Dateninhalt und der identischen Modulgr├Â├če

Codegroessenvergleich

Das Bild unterschl├Ągt die M├Âglichkeit den GS1-Databar mit einer geringeren Codeh├Âhe zu benutzen als dies bei dem EAN-13 Code der Fall ist. Dies ist relevant wenn die Codes an der Scannerkasse lageunabh├Ąngig gelesen werden sollen. 

Eine Besonderheit des GS1 DataBar ist die Anordnung der Codew├Ârter mit den Suchmustern. Diese sind so angelegt worden, dass der Scanner jedes einzelne Codewort zusammen mit dem Suchmuster lesen kann und nachher wieder alles richtig zusammenf├╝gen kann. Relevant ist dieses Merkmal f├╝r traditionelle Scanner, die mit einem Laserstrahl anstelle von einer Kamera arbeiten. Der  Scannerlichtstrahl eines Laserscanners, der den Code erfasst, muss  nicht den gesamten Code in einem Zug lesen, sondern der Scanner kann seinen Lichtstrahl in beliebigen Winkeln ├╝ber den Code laufen lassen, solange bis alle  Codeworte und das dazugeh├Ârige Suchmuster, im Extremfall jeweils einzeln, erfasst wurden. Sinn- und Zweck dieser Konstruktion ist die m├Âglichst lageunabh├Ąngige Lesef├Ąhigkeit des Codes (Omnidirektional). Die h├Âhenverk├╝rzte Version (truncated) wirkt dieser Eigenschaft wieder entgegen und ist daher nicht f├╝r den Scanner an der Kasse (im Tisch eingebaut) vorgesehen sondern f├╝r manuell bediente Handscanner, bei denen der sichtbare Lesestrahl auch bei h├Âhenverk├╝rzten Symbolen einfach positioniert werden kann.

Im Einzelhandel sieht man  vermehrt fast nur noch Scanner, die mit einer Kamera anstelle von einem Laserstrahl arbeiten. H├Âhenverk├╝rzte Codes sind bei einem Kameascanner unkritischer. Ein GS1 Databar Code,  der f├╝r Scannerkassen mit Laser konstruiert wurde ist damit ├╝berfl├╝ssig (bzw. kam viel zu sp├Ąt), da es mit der Kategorie der Matrixcodes eine sehr viel bessere L├Âsung gibt.

Der GS1 Databar teilt sich in drei Gruppen ein.

Gruppe bzw. Version 1:

GS1 DataBar Omnidirectional

GS1 Databar truncated

GS1 Databar stacked

GS1 DataBar stacked Omnidirectional

Die truncated und omnidirectional Versionen unterscheiden sich nur in der Codeh├Âhe. Alles andere ist v├Âllig identisch.

Die stacked Version teilt den Code in zwei Zeilen auf. Dadurch wird der Code schmaler.

Alle vier Versionen kodieren nur eine 14-stellige Nummer und k├Ânnen nur die Ziffern von 0 bis 9 kodieren.

databar 14  
Bild: GS1 Databar (14)

Das blau/dunkelrote Zebrastreifenraster zeigt das Modulraster des Codes. Die gr├╝nen Teile sind das Start- und Stoppzeichen. (Left and right guard pattern). Korrekter ist die Bezeichnung Begrenzungszeichen, weil die Breite der L├╝cke links und des rechten Striches nicht begrenzt sind. Die blauen Bereiche sind die Suchmuster (finder Pattern, 15 Module). Die roten und orangenen Bereiche sind die Codew├Ârter in der Sequenz 1, 2, 4, 3. Die Codew├Ârter 1 und 3 sind 16 Module breit. Die Codew├Ârter 2 und 4 sind 15 Module breit. Jedes Datencodewort besteht immer aus 4 Strichen und 4 L├╝cken. Das Gesamtsymbol hat 46 Elemente (Balken und L├╝cken) und eine Breite von  96 Modulen.

Die Pr├╝fziffer wird nach dem Modulo 10 Verfahren berechnet und mit in die 14 Datenzeichen kodiert. Zus├Ątzlich ist in den Suchmuster noch eine Modulo 79 Pr├╝fziffer kodiert.  Das erste Codewort beinhaltet eine Verbindungsanzeige (linkage flag). Wenn der Wert von diesem Flag 1 ist, dann zeigt es an dass es sich um einen Composite Code handelt. Dabei wird ├╝ber dem Strichcode noch ein 2D Code angeordnet der weitere Daten aufnimmt.  
Im Klartext wird zus├Ątzliche (01) angezeigt. Dies ist nie Bestandteil des Codes. Die Klammern sind nur im Klartext eingef├╝gt damit ein Mensch zwischen dem eigentlichen Dateninhalt und dem Scanner hinzugef├╝gten Wert 01 unterscheiden kann. Der Wert 01 ist ein Datenbezeichner (Application Identifier) aus der Datenstruktur, die in den  GS1 General Specifications spezifiziert ist. 01 zeigt eine Artikelnummer nach dem Vergabeschema von GS1 an. F├╝r diesen Code wird nur der Datenbezeicher 01 zugelassen. Der Datenbezeichner wird verwendet damit die Programme, die die Daten vom Scanner erhalten immer identisch strukturierte Daten erhalten und damit die Daten immer gleich verarbeiten k├Ânnen ohne auf die jeweilige Codeart R├╝cksicht nehmen zu m├╝ssen, die diese Datenstruktur benutzt.  

 

databar stacked  

Bild: GS1 DataBar Stacked

Die gestapelte Version des GS1 DataBar entspricht der normalen GS1 DataBar Version. Auch hier gilt die Unterscheidung "Omnidirectional" f├╝r eine gro├če Zeilenh├Âhe und "truncated" f├╝r ein Symbol mit geringen Zeilenh├Âhen.  
An der ersten Zeile ist zus├Ątzlich hinten ein Balken und eine L├╝cke mit je einem Modul Breite angeh├Ąngt. Bei der zweiten Zeile ist ein Balken und eine L├╝cke der Zeile vorangestellt.

Gruppe bzw. Version 2

GS1 Databar limited

Der GS1 Databar limited ist eine Version des Codes die noch weiter gr├Â├čenreduziert wurde. Dies wurde dadurch erreicht, dass es nur noch zwei anstelle von vier Codew├Ârtern (rot markiert) gibt. Die Suchmuster sind von zwei auf eines reduziert worden (gr├╝n in der Mitte). Zur Pr├╝fziffernberechnung wird Modulo 89 benutzt.

databar limited

Das GS1 Databar limited Symbol ist in einigen Konstellationen so aufgebaut dass im Code die Strich/L├╝ckenabfolge eines  UPC-A Codes erscheint. Es besteht daher die M├Âglichkeit, dass ein UPC-A Code anstelle des GS1-DataBar limited erkannt und gelesen wird. Aus diesem Grund wurde die Referzenzdekodierung des GS1 Databar limited verbessert. Zum einen wird das Suchmuster ├╝berpr├╝ft und zum anderen wird ├╝berp├╝ft (wenn ein GS1 DataBar limited erkannt wurde) ob die Muster des UPC-A Codes vor oder hinter dem GS1 Databar limited erkannt werden. Zus├Ątzlich wurde eine Ruhezone von 5 Modulen eingef├╝hrt. Weitere Details dazu sind in der Norm ISO/IEC 24724 im Annex H zu finden.

Ein gestapelte Version des  GS1 Databar limited Codes gibt es nicht.

Gruppe bzw. Version 3

GS1 DataBar Expanded

GS1 DataBar Expanded stacked

Diese beiden GS1 Databar Versionen sind l├Ąngenvariabel und nicht auf die 14 stellige rein numerische Kodierung wie die beiden anderen Versionen des GS1 Databar beschr├Ąnkt. Es sind  alle Ziffern, Gro├č- und Kleinbuchstaben sowie 21 Sonderzeichen nach ISO 646 kodierbar. Dazu kommen codespezifische Zeichen wie das FNC1 Zeichen und Umschaltzeichen in die numerische und alphanumerische Kodierung. Die Norm begrenzt den Dateninhalt auf 74 Ziffern bzw.  41 alphanumerische Zeichen. Die Pr├╝fziffer wird im Modulo 211 Verfahren berechnet.

databar expanded stacked

Im Gegensatz zu den anderen GS1 DataBar Versionen wird der Application Identifier (AI) 01 nicht vom Scanner generiert und dem Code vorangestellt mit ausgegeben. Die ben├Âtigten Datenbezeichner m├╝ssen immer mit im Code enthalten sein.  Die grundlegende Struktur Codew├Ârter und Suchmuster zu Bl├Âcken anzuordnen (Im Bild Blau Suchmuster, Orange und Rot Codew├Ârter) wird in der Expanded Version des GS1 DataBar beibehalten. Damit kann auch diese Codeversion bei schr├Ągen Leselinien Blockweise gelesen werden und der Decoder im Scanner kann den Code wieder zusammensetzten. Die Eigenschaft der lageeunabh├Ąngige Lesef├Ąhigkeit (Omnidirektional) ist daber aucg bei dieser GS1 Databar Varaiante vorhanden. Das FNC1 Zeichen an der ersten Position zur Kennung der GS1 Datenstruktur darf auch in der Expanded Version des GS1 Databar nicht verwendet werden. Es muss aber nach wie vor als Feldtrenner vewendet werden, wenn an ein Datenfeld wie die Charge (AI10) mit einer variablen L├Ąnge ein weiteres Datenfeld anschlie├čt.

Das folgende Beispiel zeigt einen GS1 DataBar Expanded mit demselben Codeinhalt wie der obige GS1 DataBar Expanded stacked.

datavar exp linear

F├╝r den GS1 Databar Expanded Stacked gelten die folgenden Regeln: 

Die erste und die folgenden Zeilen m├╝ssen mindestens vier Datencodew├Ârter beinhalten. Es d├╝rfen geradzahlige Anzahlen von Codew├Ârtern benutzt werden. Eine Ausnahme bildet die letzte Zeile. Diese Zeile soll mindestens zwei Codew├Ârter beinhalten. Wenn die Daten das nicht ben├Âtigen wird das Codewort mit einem F├╝llzeichen komplettiert (Pad Zeichen).

Jede Zeile beginnt und schlie├čt mit einem Begrenzungszeichen ab. Das Begrenzungszeichen besteht aus 2 Elementen (Balken oder L├╝cke). Die erste und alle folgenden ungeraden Zeilennummer beginnen mit einer L├╝cke. Die zweite und alle folgenden geraden Zeilennummer beginnen mit einem Strich.

Je nach Anzahl der Codew├Ârter werden die Codew├Ârter normal oder in umgekehrter Reihenfolge gedruckt damit die Begrenzungszeichen korrekt gesetzt werden k├Ânnen. Zwischen den Zeilen wird ein Trennmuster eingef├╝gt das mindestens 3 Module hoch ist.

Eine weitere Besonderheit ist eine Kompression des Codes wenn bestimmte AI Kombinationen verwendet werden. In diesem Fall wird ein bestimmtes Bitmuster benutzt das z.B.  3 AI und einen Teil der Daten zusammenfasst (ISO/IEC 24724 Kapitel 7.2.5.4  Compressed data field)