CODE 128 und GS1-128
CODE 128
CODE 128 ist ein Strichcode, der 1981 von der US-amerikanischen Computer Identics Corporation entwickelt wurde.
Mit CODE 128 lassen sich alle 128 ASCII-Codezeichen abbilden (Zahlen, Buchstaben in Groß-/ Kleinschreibung, Symbole und Steuercodes). Da es alle Zeichen (außer dem japanischen Kanji, Hiragana und Katakana) darstellen kann, die auf einer Computertastatur vorhanden sind, handelt es sich um einen computerfreundlichen Strichcode.
Aufbau von CODE 128
Die grundlegende Struktur lautet:
- Es gibt vier verschiedene Balkendicken.
- Ein Zeichen wird mithilfe von 3 Balken und 3 Lücken (insgesamt sechs Elementen) dargestellt.
- Es gibt drei Arten von Startzeichen: CODE-A, CODE-B und CODE-C. Die Art des Startzeichens bestimmt die Zeichenstruktur der nachfolgenden Zeichen. (Siehe Tabelle der verfügbaren Zeichen auf Seite 40. Wird beispielsweise CODE-A als Startzeichen verwendet, sind alle Zeichen in der Spalte CODE-A darstellbar.)
- Mit CODE-C können über ein vorgegebenes Balkenmuster auch zweistellige Zahlen dargestellt werden. Damit ist eine sehr hohe Datendichte möglich.
- Durch die Verwendung von Code-bestimmenden Zeichen (CODE-A, CODE-B und CODE-C) kann das Startzeichen CODE-A während der Strichcode-Verarbeitung verändert werden, um zu den Zeichen in den Spalten CODE-B oder CODE-C zu wechseln.
- Mit SHIFT gilt der Spaltenwechsel nur für das nächstfolgende Zeichen (A nach B, B nach C, C nach A). (Ähnlich wie beim Betätigen der SHIFT-Taste auf der Computertastatur)
- Als Prüfziffer wird „Modulus 103“ verwendet.
Zeichendarstellung mit CODE 128
Numerischer Wert | CODE A |
CODE B |
CODE C |
Balkenmuster |
---|---|---|---|---|
0 | SP | SP | 00 | |
1 | ! | ! | 01 | |
2 | " | " | 02 | |
3 | # | # | 03 | |
4 | $ | $ | 04 | |
5 | % | % | 05 | |
6 | & | & | 06 | |
7 | ' | ' | 07 | |
8 | ( | ( | 08 | |
9 | ) | ) | 09 | |
10 | * | * | 10 | |
11 | + | + | 11 | |
12 | , | , | 12 | |
13 | - | - | 13 | |
14 | . | . | 14 | |
15 | / | / | 15 | |
16 | 0 | 0 | 16 | |
17 | 1 | 1 | 17 | |
18 | 2 | 2 | 18 | |
19 | 3 | 3 | 19 | |
20 | 4 | 4 | 20 | |
21 | 5 | 5 | 21 | |
22 | 6 | 6 | 22 | |
23 | 7 | 7 | 23 | |
24 | 8 | 8 | 24 | |
25 | 9 | 9 | 25 | |
26 | : | : | 26 | |
27 | ; | ; | 27 | |
28 | < | < | 28 | |
29 | = | = | 29 | |
30 | > | > | 30 | |
31 | ? | ? | 31 | |
32 | @ | @ | 32 | |
33 | A | A | 33 | |
34 | B | B | 34 | |
35 | C | C | 35 | |
36 | D | D | 36 | |
37 | E | E | 37 | |
38 | F | F | 38 | |
39 | G | G | 39 | |
40 | H | H | 40 | |
41 | I | I | 41 | |
42 | J | J | 42 | |
43 | K | K | 43 | |
44 | L | L | 44 | |
45 | M | M | 45 | |
46 | N | N | 46 | |
47 | O | O | 47 | |
48 | P | P | 48 | |
49 | Q | Q | 49 | |
50 | R | R | 50 | |
51 | S | S | 51 | |
52 | T | T | 52 | |
53 | U | U | 53 | |
54 | V | V | 54 | |
55 | W | W | 55 | |
56 | X | X | 56 | |
57 | Y | Y | 57 | |
58 | Z | Z | 58 | |
59 | [ | [ | 59 | |
60 | \ | \ | 60 | |
61 | ] | ] | 61 | |
62 | ^ | ^ | 62 | |
63 | _ | _ | 63 | |
64 | NUL | 〝 | 64 | |
65 | SOH | a | 65 | |
66 | STX | b | 66 | |
67 | ETX | c | 67 | |
68 | EOT | d | 68 | |
69 | ENQ | e | 69 | |
70 | ACK | f | 70 | |
71 | BEL | g | 71 | |
72 | BS | h | 72 | |
73 | HT | i | 73 | |
74 | LF | j | 74 | |
75 | VT | k | 75 | |
76 | FF | l | 76 | |
77 | CR | m | 77 | |
78 | SO | n | 78 | |
79 | SI | o | 79 | |
80 | DLE | p | 80 | |
81 | DC1 | q | 81 | |
82 | DC2 | r | 82 | |
83 | DC3 | s | 83 | |
84 | DC4 | t | 84 | |
85 | NAK | u | 85 | |
86 | SYN | v | 86 | |
87 | ETB | w | 87 | |
88 | CAN | x | 88 | |
89 | EM | y | 89 | |
90 | SUB | z | 90 | |
91 | ESC | { | 91 | |
92 | FS | ┘ | 92 | |
93 | GS | } | 93 | |
94 | RS | bis | 94 | |
95 | US | ENTF | 95 | |
96 | FNC 3 | FNC 3 | 96 | |
97 | FNC 2 | FNC 2 | 97 | |
98 | SHIFT | SHIFT | 98 | |
99 | CODE C | CODE C | 99 | |
100 | CODE B | FNC 4 | CODE B | |
101 | FNC 4 | CODE A | CODE A | |
102 | FNC 1 | FNC 1 | FNC 1 | |
103 | START(CODE A) | |||
104 | START(CODE B) | |||
105 | START(CODE C) | |||
STOP |
Merkmale von CODE 128
- Mit CODE 128 lassen sich alle 128 ASCII-Zeichen darstellen (einschließlich der Steuerelemente [ESC], [STX], [ETX], [CR] und [LF]).
- Wird CODE-C als Startzeichen verwendet, können mithilfe eines einzelnen Balkenmusters auch zweistellige Zahlen wiedergegeben werden. Das macht die Strukturierung von Strichcodes sehr effizient. Ein Strichcode mit 12 oder mehr Ziffern fällt daher in CODE 128 kleiner aus als in ITF.
- Da bei CODE 128 vier Balkendicken unterschieden werden, ist eine hohe Druckqualität erforderlich. CODE 128 ist weder für den Druck mit Punkt-Matrix- oder Tintenstrahldruckern in der Fabrikautomation noch für Flexodruck auf Wellpappe geeignet.
Anwendungsgebiete für CODE 128
Bei reinen Zahlenfolgen lassen sich in CODE 128 mit CODE-C als Startcode sehr hohe Datendichten verwirklichen.
GS1-128 nutzt die Eigenschaften von CODE 128 und kommt derzeit in vielen industriellen Bereichen zum Einsatz.
Mit GS1-128 können unterschiedliche Datenelemente im Strichcode dargestellt werden, wie Herstellungsdatum eines Produkts, Haltbarkeitsdatum, Gewicht, Größe, Losnummer, Ziel, Kundenkonto etc.
CODE 128 wird in den folgenden Branchen verwendet:
- Bekleidungsindustrie in den USA
- Lebensmittelverarbeitende Industrie in den USA
- Arzneimittelbranche und medizinische Geräte in den USA
- Lebensmittelindustrie in Australien und Neuseeland
- Arzneimittelbranche und medizinische Geräte in Europa
GS1-128
Was ist GS1-128?
GS1-128 ist der Strichcode, der neben den Daten des JAN-Codes und des derzeit verfügbaren Standardverteilercodes (ITF) noch weitere Informationen wie Vertriebs- und Transaktionsdaten enthalten kann.
Folgende Datenelemente sind mit GS1-128 darstellbar:
- Paketnummer
- Anzahl im Paket
- Gewicht, Volumen und Rauminhalt
- Herstellungsdatum und Mindesthaltbarkeitsdatum
- Charge
- Standortnummer (Zielort)
- Kundennummer
- Bestellnummer
Aus den erforderlichen Daten wird das Strichcode-Etikett für die jeweilige Anwendung erstellt.
Zum Beispiel: Online-Einkauf/Bestellung per EDI (System für den Austausch elektronischer Daten zwischen Unternehmen), Verwaltung des Haltbarkeitsdatums für Lebensmittel bzw. des Ablaufdatums von Arzneimitteln, vereinfachte Wareneingangskontrolle, Sortierung von Paketen nach Bestimmungsort etc. (Das folgende Etikett ist ein Beispiel von einem Lebensmittelproduzenten.)
Grund für die Einführung von GS1-128
JAN-Code und Standardverteilercode (ITF) werden eher zur Kennzeichnung des Produkts selbst und seiner Menge und weniger für Angaben wie Herstellungsdatum, Paketnummer, Haltbarkeitsdatum und Bestellnummer verwendet.
Während solche Angaben in CODE 39 darstellbar sind, ist der Austausch solcher Daten zwischen Unternehmen nicht zulässig, da Definition und Anzahl der Stellen unterschiedlich sind.
GS1-128 wurde dagegen als weltweit gültiger Universalcode ins Leben gerufen, mit standardisierten Vorgaben zu Typ, Zahl der Stellen und darstellbaren Datenelementen.
Aufbau von GS1-128
Die grundlegende Struktur von GS1-128 lautet:
- Als Strichcode wird CODE 128 verwendet.
- Zum Trennen der einzelnen Datenelemente wie Gewicht und Verfallsdatum wird ein Datenbezeichner oder „Application Identifier“ (AI) gefolgt von der jeweiligen Angabe eingefügt. So kann auch mehr als ein Datenelement entsprechend verknüpft werden.
Im Beispiel oben dient der 14-stellige Code hinter dem Datenbezeichner „01“ der Kennzeichnung der Versandeinheit (kleinste Paketeinheit für Wellpappkartons). Hinter dem Datenbezeichner „15“ folgen die Angaben für das Mindesthaltbarkeitsdatum (für Lebensmittel bzw. Verfallsdatum für Medikamente), das auf den 27. August 1995 lautet. Hinter dem letzten Datenbezeichner „30“ folgt der Code für die Liefermenge, die in diesem Fall mit 3 Stück angegeben ist.
Außer den oben dargestellten gibt es etwa noch weitere 100 Datenbezeichner. Die erforderlichen Daten werden vom Benutzer ausgewählt und in den Strichcode eingefügt.
GS1-128 ist nicht für die Darstellung unveränderlicher Daten bestimmt, sondern für solche, die vom Benutzer frei ausgewählt werden. Damit also Unternehmen GS1-128 untereinander nutzen können, müssen die Standards für das Strichcodesystem anhand der verfügbaren Daten der jeweiligen Branche und der beteiligten Unternehmensgruppen entwickelt werden.
- Zur Unterscheidung zwischen GS1-128 und CODE 128 muss nach dem Startcode (CODE-A bis C) noch [FNC 1] (Funktion 1) eingefügt werden.
- Auch wenn die Anzahl der Stellen nach dem Datenbezeichner variabel ist, wird als Trennzeichen [FNC 1] eingefügt.
- Durch Anfügen von GS1-128 an den EAN- und den Standardverteilercode (ITF) kann der Strichcode um zusätzliche Daten erweitert werden.
EAN 128 ist ausgelegt auf die Darstellung der Application Identifier und der produktrelevanten Daten bzw. der Transaktionsdaten der Unternehmen, die CODE 128 verwenden.
Anders ausgedrückt: GS1-128 ist der Standard zur Darstellung von Daten bezüglich der Applikationen. CODE 128 ist der Standard für den Strichcode selbst. Der Unterschied zwischen GS1-128 und CODE 128 besteht darin, ob die Applikation dargestellt wird oder nicht.
Da GS1-128 die Strichcode-Struktur von CODE 128 nutzt, ist jeder Codeleser, der CODE 128 scannen kann, auch für GS1-128-Daten geeignet.
Application Identifier
Application Identifier
Es gibt 100 Arten von Application Identifier, die wie folgt klassifiziert werden können. Bei einigen Datenelementen, die auf den jeweiligen Application Identifier folgen, ist die Zahl der Stellen fest (Standardkarton-ID, Datum und Maßeinheit), während sie bei anderen variabel sein kann (Chargennummer, Seriennummer, Stückzahl in der Verpackung, Menge und Bestellnummer).
Klassifizierung | Inhalt | Application Identifier |
---|---|---|
Art der Verpackung |
|
00 „Standardkarton-ID“ |
Produktverwaltung |
|
01 „Nummer der Versandeinheit“ |
|
20 | |
|
11 bis 17 | |
|
10 | |
|
21 | |
Maßangabe |
|
310 bis 369 |
Verwaltung |
|
400 |
|
401 | |
|
410 bis 421 | |
|
90 bis 99 |
Typische Application Identifier
Application Identifier | Inhalt | Anzahl der Stellen |
---|---|---|
00 | Standardkarton-ID | 18-stellige Zahl |
Mit der Kennung „00“ wird jeder Wellpappkarton und jede Palette vor Lieferung mit einer Seriennummer versehen.
Daher lautet die Zahl für jede Lieferung anders.
Die 18-stellige Zahl setzt sich wie folgt zusammen:
Verpackungsart | 1-stellig |
Universeller Betriebscode | 7-stellig |
Seriennummer pro Lieferung | 9-stellig |
Prüfziffer (Modulus 10/Gewichtung 3) | 1-stellig |
Mögliche „Verpackungsarten“:
Verpackungsart | |
---|---|
0 | Kiste oder Karton |
1 | Palette (größer als Kiste und Karton) |
2 | Versandeinheit (größer als Palette) |
3 | Sonstige Verpackungen |
4 | Zur internen Codierung (interne Verwendung) |
5 | Zur abgestimmten Codierung bei mehreren beteiligten Unternehmen |
6 bis 9 | Gesperrt |
Der „Universelle Betriebscode“ für die Unternehmen mit JAN-Registrierung wird als „Ländercode“ + „Herstellercode“ angegeben. Unternehmen ohne JAN-Registrierung müssen einen universellen Geschäftskontencode beantragen.
Die „Standardkarton-ID“ wird in Europa und Amerika als SSCC-18 (Serial Shipping Container Code; Nummer der Versandeinheit NVE) bezeichnet.
Application Identifier | Inhalt | Anzahl der Stellen |
---|---|---|
01 | Nummer der Versandeinheit | 14-stellige Zahl |
Auf „01“ wird in der Regel dieselbe Struktur angewendet wie beim Standardverteilercode (ITF). Diese Kennung besteht aus dem EAN-Code auf dem verpackten Produkt und der Kennziffer, welche die Produktmenge bezeichnet.
Kennzeichnung der Verpackung | 1-stellig |
EAN-Code | 12-stellig |
Prüfziffer (Modulus 10/Gewichtung 3) | 1-stellig |
Mögliche Angaben zur „Kennzeichnung der Verpackung“:
Kennzeichnung der Verpackung | |
---|---|
0 | Wellpappkartons, die verschiedene Produkte enthalten |
1 bis 8 | Wellpappkarton für einen Artikel, der die gleiche Menge enthält Auswahlbereich von 1 bis 8. In vielen Fällen ist 1 gesetzt. |
9 | Wellpappkarton, der einen Artikel in unterschiedlichen Mengen enthält |
Da die „Nummer der Versandeinheit“ die gleiche Datenstruktur wie EAN- und Standardverteilercodes aufweist, kann diese Kennung nur verwendet werden, wenn keine EAN- und Standardverteilercodes auf den Wellpappkarton aufgedruckt sind.
In Europa und Amerika wird die „Nummer der Versandeinheit“ auch als SCC-14 (Shipping Container Code) bezeichnet.
Application Identifier | Inhalt | Format |
---|---|---|
10 | Chargen- oder Losnummer | Maximal 20 alphanumerische Zeichen |
„10“ ist der Datenbezeichner zur Angabe der Chargen- und Losnummer des Produkts. Maximal 20 alphanumerische Zeichen (variable Länge) sind zulässig.
Application Identifier | Inhalt | Format |
---|---|---|
11 | Herstellungsdatum (JJMMTT) | 6-stellige Zahl |
13 | Verpackungsdatum (JJMMTT) | 6-stellige Zahl |
15 | Verfallsdatum (JJMMTT) | 6-stellige Zahl |
17 | Verkaufsfähigkeit (JJMMTT) | 6-stellige Zahl |
Das entsprechende Datum wird hier angegeben.
Für das Verfallsdatum werden die für die Verwaltung erforderlichen wichtigen Daten angegeben, zum Beispiel das Mindesthaltbarkeitsdatum von Lebensmitteln und das Verfallsdatum von Medikamenten.
Application Identifier | Inhalt | Format |
---|---|---|
400 | Verwaltungsnummer (Kundenbestellnummer) | Maximal 30 alphanumerische Zeichen |
411 | Standortnummer (Kundenkontonummer) | 13-stellige Zahl |
Hierbei handelt es sich um die Datenbezeichner zur Angabe von verwaltungstechnischen Daten wie „Bestellnummer“ der Kunden und „Kundenkontonummer“.
Application Identifier | Inhalt | Format |
---|---|---|
410 | Standortnummer (Zielort-Code) | 13-stellige Zahl |
420 | Standortnummer (PLZ des Zielorts) | Maximal 9 alphanumerische Zeichen |
Die oben genannten Bezeichner dienen der Sortierung von Waren nach Bestimmungsorten.
Dabei ist „410“ der Datenbezeichner für die Zuordnung anhand der EAN-Betriebscodes der jeweiligen Unternehmen.
„420“ dient der Zuordnung zu den einzelnen Lieferzielen anhand der Postleitzahl.