Explanation about what is Group Serparators.
One type of codes we are encountering more and more are GS1 codes, be them the 1D EAN128 or the 2D GS1Data matrix, etc.
These codes have great capabilities together with extreme flexibility, they take advantage of the amount of information that can be stored inside the barcode, and make the best use of them organizing data and giving the chance to select parts of the code, separate them and catalogue them all depending on the needs of the customers.
To work well with scanners and the systems to which this information is sent to, they have specific standards to be followed when constructing them, and I have come across many that did not follow those standards, creating more than one issue when working with them.
The most obscure of these standard, to the general public that is, is the GS, Group Separator.
For the sake of this little guide, we are only going to see one important aspect of these codes, the way we can organize information inside of them, that is using their AI or Application Identifiers, and the Group Separator, that, as the name implies, separates some of them.
You will find attached, under RELATED/DOCUMENTS a full 500+ pages PDF explaining all the GS1 specs, and an 8 page extract, for our convenience, with all the AI and their individual characteristics.
The Group Separator is a non-printable character that has to be printed inside the code, to make things clear I am going to take 2 Application Identifiers from that very long list and use them as an example here below.
Let us have a look at the two AIs:
- the first one, number 10, it contains Batch or Lot number and it comes in the format of N2+X...20,
- the first one, number 11, it contains Production Date and it comes in the format of N2+N6
Now what concerns us is the format, as explained in the NOTES section at the end of the 8 page extract, N2 stands for 2 Numeric Digits, in our example (10) and X...20 tells us the field can be 20 characters long ( the list of chars available is inside the main 500 pages doc in section 7.11)
How will we know when this particular field finishes, and the next one starts? With the Group Separator. This is the content of a code I have created with an online tool,
with this tool the insertion of the Group Separator is done using the \F escape sequence and this is the result you can see the software, in the same way the scanner will do,
recognised the length of the field and compiled the following 11 as the next AI.
Now let us look at this code below.
it might look exactly like the one before, but was constructed this way
We would have massive issues when trying to program our scanners to identify the different AIs and their respective values. So when working with GS1 codes we need to familiarize with the different AIs, their unique characteristics and analyze in depth the codes from the customer.
