Problem With Readable Part Of Gs1-128 Barcode Follow

0
Avatar
Legacy Poster

Hi,
Looks like there is an issue with the human reading part of the barcode GS1-128 -> Code Set: C
I'm creating that barcode with this data: (01)90042421006684(3202)001225(15)110823(21)110000258(10)99
When showing the readable part you have: (01)90042421006684(43)20200122515110823211100002581099

I'm using sharename so a created a text object using the same share name, and the data shown is the correct one.

I'm using BarTender v9.4 SR3

5 comments

0
Avatar
Legacy Poster

For some reason, a 4 was added before (3202).

Also tried more GTIN, the number added is always the same as the last of the GTIN.

When trying more GTIN, sometimes a number is also append at the end.

[quote name='Francois' timestamp='1318389252' post='785']
Hi,
Looks like there is an issue with the human reading part of the barcode GS1-128 -> Code Set: C
I'm creating that barcode with this data: (01)90042421006684(3202)001225(15)110823(21)110000258(10)99
When showing the readable part you have: (01)90042421006684(43)20200122515110823211100002581099

I'm using sharename so a created a text object using the same share name, and the data shown is the correct one.

I'm using BarTender v9.4 SR3
[/quote]
0
Avatar
Shotaro Ito
Moderator

Hi Francois,
In GS1-128, BarTender automatically insert GTIN Checkdigit after 13th digit of GTIN Data.

So what you need to input in datasource is
019004242100668320200122515110823211100002581099

rather than
019004242100668[color="#FF0000"][b]4[/b][/color]320200122515110823211100002581099

The datasource will be trimmed when you create datasource by GS1 Application Identifier Datasoruce wizard, however it's not obvious when you input whole datasource as single substring.
So the workaround is either
[list]
[*]Use [url="http://s3.amazonaws.com/SeagullBarTender/ftp/WhitePapers/WhitePaper_UsingBarTendersApplicationIdentifierWizard.pdf"]GS1 Application Identifier Datasoruce wizard[/url] (create multiple substrings in datasource)
[*]Give datasource without the checkdigit
[*]Remove the checkdigit
In More option > VB Script > OnProcessData, you can apply VB Script like this(in case start from AI[01])
[code]Value = Left(Value,15) & Mid(Value,17)[/code]
[/list]

BarTender Online help - GS1-128 (UCC/EAN-128) and Application Identifier Specification
[quote]
[b]Automatic addition of check digits to certain data fields.[/b]
Certain data fields with Application Identifiers make use of an additional check digit, usually a modulo 10. When such a data field is used, BarTender automatically computes and appends the appropriate check digit to the data field. Since GS1-128 (UCC/EAN 128) supports multiple data fields, each of which could be a type that gets its own check digit, a given bar code printed by BarTender could potentially contain numerous data fields, each with its own check digit.
[/quote]

Sorry for the inconvenience caused, and hope it helps!
0
Avatar
Legacy Poster

Hi,

Thanks, I did the VB script, but 2 more issues are present:
that is my data: (01)90042421006684(3202)001225(15)110823(21)110000258(10)99

Issue #1:
that is what I have on the barcode:01900424210066843202001225151108232111000025810990
a 0 was added at the end.

Also the human readable is wrong: (01)90042421006684(3202)001225(15)110823(21)11000025810990
the AI (10) was replace by 10.

Also I don't have any of these issues (even the one wiht the added validation) when I'm using the code set A or B, it's only with C
0
Avatar
Shotaro Ito
Moderator

Oops - AI(21) is serial number with variable length.
Some AI codes, such as (01),(15)and(320x)are fixed length, however some others such as AI(21) and (10) are variable length.
When you have variable length AI in the middle of barcode, you need FNC1 terminator [b]^1[/b] after data to tell where next AI starts from.
(when you have these AI at the end of barcode, you don't need terminator.)

so the correct datasource will be:
01900424210066832020012251511082321110000258[b]^1[/b]1099

It is possible to insert ^1 by VB Script, however this might be difficult to find where the data ends and next AI begins.
Use AI wizard, if possible.

About trailing 0, Codeset C encodes 2 numbers in 1 character, so it saves space but it can only encode even digits of data.
since your data length is 49 digits, a '0' was appended to make it 50 digits. (FNC1 takes 1 character.)

Codeset "Auto" automatically switches effective codeset following GS1.org recommendation, so it keep barcode length minimum and accommodate all data properly.

Hope that helps!
0
Avatar
Legacy Poster

Thanks for the thorough explanation.

I need to use the code set C because it fits the customer requirements, since I'm using .Net to provide data to the label the modification is no biggie.

Please sign in to leave a comment.