Scanning a barcode is basically no more than filling the 'keyboard buffer', the scan head of a scanning device just translates a barcode. An EAN128 barcode looks like a complicated barcode, but it just a row of digits (and some hidden separator signs). Only the meaning and format of the digits is decided by international rules (GS1), so any party in a logistic chain can use the barcode.
E-WMS can decode EAN128 bar codes, but needs to know if the input into E-WMS was scanned or by manual input. By using prefix and suffix this distinction can be made.
E-WMS supports the most important of the international EAN128 'application identifiers' (see:
Which EAN128 application identifiers are supported by E-WMS). The main purpose of these Application Identifiers is that the actual data is preceded by an identifier code which tells what kind of data is following this code.
For example, an EAN128 barcode could be "0208717496971074101234567890123$15120101". This barcode consists of the following parts:
identifier for "GTIN of item" which means "following data is the EAN14 code for the item"
The unique code for the item, always 14 digits,
identifier for batch or lot number (batch number for
the actual batch number
separator sign to indicate where the batch number ends (batch number has variable length)
identifier for 'best before date', fixed format to follow is YYMMDD
best before date for this batch is 01-01-2012
Instead of scanning an EAN128 bar code, a regular item code could be entered manually - not every bar code (not all input) is EAN128 which need to be decoded. So when '020871749697107410BATCH1' was entered,
E-WMS should start decoding EAN128. But when '0255131011-A' was entered manually, this could very well be the actual item code and decoding should not be done.
This presented a problem to E-WMS: how could the software recognize if something was scanned (EAN128), or typed in manually (item code)? Because for software like
E-WMS, there is no way to tell the difference. That is why E-WMS needs 'prefix' and 'suffix' configured when EAN128 bar codes are used. When enabled on a scanner, all scans are preceded by this prefix sign, and followed by the suffix sign. So when configured in
E-WMS, E-WMS now knows when to start EAN128 decoding: when 'EAN128' is enabled for the specific
E-WMS module, and when the configured prefix and suffix are used in the input field.
This also means when prefix/suffix is not configured (empty prefix/suffix),
E-WMS will always start decoding EAN128, when the 'EAN128' setting for the specific functionality was enabled. So whether the EAN128 code '020871749697107410BATCH1' was scanned, or the item code '0255131011-A' was entered,
E-WMS will try to apply EAN128 decoding for both types of input.
When using several types of bar codes in a warehouse
(EAN13 or CODE39, and EAN128) E-WMS still can not tell when to start EAN128
decoding or not. This problem is
solved from product update 399 by supporting Code Identifiers (more in:
Code Identifier). By using
code identifiers, E-WMS knows if actual an EAN128 bar code was scanned, or not.
It does not really matter what prefix, suffix and separator signs are used, as long as the configuration in System/E-WMS/Scanners/General scanner settings
is the same as the characters configured on the hand terminal itself.
A group separator is a symbol to separate parts of
an EAN128 barcode which do not have a fixed length. Without the group separator,
software which reads EAN128 barcodes, can not determine where a variable length
field like 'batch number' or 'quantity' ends. This group separator is a hidden
symbol in the barcode itself, but a scan head can translate this
symbol to another sign, like "$" or "=". Of course, the
party printing the EAN128 bar code labels should use valid bar codes including
this hidden character. The group separator has to be configured specifically
on the hand terminal. When the variable length field is the last part of a
barcode, then a group separator is not required.
Sample of barcodes with correct group separator
In this barcode, '10' (batch number) and '37' (quantity) have variable length
and need a group separator. In the second barcode, '37' + quantity 100 are last
part of the barcode, and no group separator is needed.
Sample of an invalid barcode, containing no group
In this sample, the group separator is missing
between 10 and 37. This would result in E-WMS to read the batch number as