GS1 DataMatrix: FNC1 versus GS as the Variable-Length Field Separator Character

The GS1 General Specification requires the use of FNC1 but the transmitted data are the same if GS (Group Separator) is encoded instead. Does it really matter?

 

George Wright IV

The four special bar code Function Characters (FNC1, FNC2, FNC3, and FNC4) trace their origins to the invention and introduction in 1981 of Code 128. According to the original Code 128 international symbology specification ISO/IEC 15417, these Code 128 symbology characters “define instructions to the bar code reading device to allow for special operations and applications.” These four symbol characters have no ASCII equivalent and are not intended to be transmitted. Many linear and 2-D symbologies invented subsequent to Code 128, including the popular 2-D symbologies Data Matrix ECC200, Aztec Code, and QR Code, incorporate these same characters and their defined functionality.

For example, according to ISO/IEC 15417, “FNC2 (Message Append) instructs the bar code reader to store temporarily the data from the symbol containing the FNC2 charac-ter and transmit them as a prefix to the data of the next symbol. This may be used to concatenate several symbols before transmission.” Similarly, “FNC3 (Initialise) instructs the bar code reader to interpret the data from the symbol containing the FNC3 character as instructions for initialization or reprogramming of the bar code reader. The data from the symbol shall not be transmitted by the bar code reader.” FNC4 has similar reader control functions. Because these function characters have no ASCII character equivalent, they cannot be directly represented in a data message transmitted by a scan-ner; nor with one exception are they ever supposed to be represented in transmitted data.

The exception is FNC1, which has two distinct roles. The first is to be a “flag” character to the reader indicating that the encoded message conforms to a specific data format convention. According to the spec, “FNC1 in Code 128 symbols in the first symbol character position following the Start character has been reserved exclusively” to define data conforming to the GS1 system. This same role is defined for FNC1 in Data Matrix ECC200 and other symbologies that support the GS1 system data structures. The FNC1 symbology character is the only character that can perform this function.

These two GS1 DataMatrix symbols both encode the same GTIN, SN, and QTY data. They have different patterns because the upper symbol uses FNC1 as the Separator Character between AI(21) and AI(30) while the lower symbol uses GS as the Separator Character. In both cases, the overall symbol size and the data transmitted by the scanner are exactly the same.

All scanners/readers are required to “key” on FNC1 in this first position. When a scanner is so enabled–as called for by GS1 specifica-tions–it transmits as a prefix to the encoded data the three-character ISO Symbology Identifier denoting a GS1 data structure. For GS1-128 it is “]C1” versus “]C0” for “plain” Code 128. For GS1 DataMatrix the symbology identifier is “]d2” versus “]d1” for Data Matrix ECC200 in general use.

For the second use of FNC1 the Code 128 symbology specification stipulates that “FNC1 in the third or subsequent character position is transmitted as the ASCII character GS (ASCII value 29).” This is the “nonprinting” character named Group Separator. The same functionality and scanner behavior is stipu-lated for FNC1 in GS1 DataMatrix.

In the GS1 system, a variable-length Application Identifier data field that is not the last field must have a delimiter following the last data character to indicate where that data character ends and the subsequent Application Identifier begins. This would be the case, for example, for AI(21) Serial Number followed by AI(30) Quantity.

Whether in GS1-128 or GS1 DataMatrix, an encoded FNC1 symbology character is specified to perform this function. Section 7.9.3, the Function 1 Symbol Character (FNC1) of the current GS1 General Specification (v9.1), reads as follows:
 “Only when used as a Separator Character is the Function 1 Symbol Character (FNC1) transmitted in the decoded data string as <GS> (ASCII character 29, seven-bit character set ISO 646). All Element Strings of variable length…must be followed by an FNC1 when followed by another Element String in a single bar code symbol. An FNC1 is not required at the end of the last Element String represented in a bar code symbol or for certain AI combinations defined by the symbology specification (e.g., some types of GS1 DataBar).”

Because of its historical function in data processing and the fact that it is not a valid data character in the GS1 system, “GS” (ASCII value 029) was chosen as the “alias” to represent an FNC1 character encoded as a field delimiter, or “Separator Character” to use GS1 terminology.

This convention that the bar code reader shall transmit an FNC1 encoded in the 3rd or subsequent position following the start character as GS is enshrined in all of the applicable symbology specifications. And, as is plainly mandated in section 7.9.3 of the General Specification cited above, it is required that one encode the symbology character FNC1 as the Separator Character.
However, it is also possible to encode the GS character literally in any symbology that supports these four Function Characters. But because of the arcane way some bar code label design software implements how a user inputs FNC1, it is sometimes much easier to encode GS directly rather than FNC1 as the Separator Character. The key point, however, is this: the data transmitted from the scanner–and received by the application–is identical. The Separator Character is transmitted as GS (Group Separator, ASCII 29) whether one encodes the character FNC1 or GS.

It should be noted that in GS1-128 encoding FNC1 versus GS almost always results in a shorter symbol. In GS1 DataMatrix, however, the symbol size is usually the same regardless of which character is encoded.

From a verifier manufacturer’s perspective, given the clear requirement to encode (only) FNC1 as the Separator Character, it would be perfectly appropriate to “Fail” a GS1-128 or GS1 DataMatrix symbol for data format conformance (if the verifier offers such checking) if it encodes the bar/space pattern or 2-D codeword for GS literally and not FNC1. As a practical matter, however, it makes no difference at all and one can argue that at most a verifier should warn or merely note that GS,  not FNC1, is encoded.

AI(01) GTIN + AI(21) Serial Number + AI(30) Quantity Encoded in GS1 DataMatrix


Encodation: <F1>010031234567890621123456789012<F1>300144
Encodation: <F1>010031234567890621123456789012<GS>300144

In either case above, the human-readable and transmitted data are exactly the same:

Human Readable Interpretation (HRI):
(01) 00312345678906 (21) 123456789012 (30) 0144

Transmitted (with Symbology Identifier):     ]d2010031234567890621123456789012<GS>300144

Transmitted (without Symbology Identifier):     010031234567890621123456789012<GS>300144

Others agree that it makes no difference in the supply chain which of the two characters is encoded. In fact, a formal GS1 General Specification change request (CR # 09-177) to allow the encodation of either GS or FNC1 as the Separator Character has been submitted on behalf of several of the national GS1 Member Organizations. This CR is now working its way through GS1’s Global Standards Management Process. There is some resistance to this change by “purists” on the grounds that FNC1 is the established field delimiter and that people simply ought to learn how to use their software tools properly. It is unclear which camp will prevail. It is this author’s opinion that there is good reason to make this proposed change to the GS1 General Specification. If it makes no difference which character is encoded, and it is easier for label designers to use GS rather than FNC1, then use of GS instead of FNC1 as the Separator Character will continue–and expand–whether GS1 changes the GenSpec or not.

At the moment, however, the GenSpec is clear. One could appropriately challenge the statement that a symbol encoding GS and not FNC1 is “correctly formatted.” In fact, it is not correctly encoded. However, it is unequivocal that the transmitted data are correctly formatted.

For the present, the fact remains: FNC1 is specifically called for in the GS1 GenSpec; Group Separator is not permitted. Does it really make a difference which one is used? No. The data coming from the scanner are the same. It takes a verifier or other diagnostic bar code tool to know which character is actually encoded.

George Wright IV is vice president of Product Identification & Processing Systems Inc. Questions, comments, or requests for application assistance should be emailed to the author at gw4@pips.com. Look for a follow-up article on bar code Symbology Identifiers and data capture application design in a forthcoming issue of PMP News.
 

 

Your rating: None Average: 4 (2 votes)

accident lawyer

This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more accident lawyer

MotorcycleAccident.org

definately enjoy every little bit of it and I have you bookmarked to check out new stuff of your blog a must read blog!!MotorcycleAccident.org

For the present, the fact

For the present, the fact remains: FNC1 is specifically called for in the GS1 GenSpec; Group Separator is not permitted. Does it really make a difference which one is used? No. The data coming from the scanner are the same. It takes a verifier or other diagnostic bar code tool to know which character is actually encoded.
katalog stron
salon sukien ślubnych warszawa
katalog stron
suknie ślubne
http://www.e-zwd.pl
http://www.e-zawady.pl

This is a wonderful article,

This is a wonderful article, in view of so much information, these types of articles on the site to maintain the user's interest, and continue to share more Online Bookmark

Zquiet real reviews

Strong public pressure is needed to demand real change. Zquiet real reviews

lawyer bail bonds

We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Great worklawyer bail bonds

laser length measurement

Interesting post and thanks for sharing. Some things in here I have not thought about before..laser length measurement

Long Live ASAP Download

<<<....>>>You can always be sure you're reading unbiased, factual, and accurate information.<<<???>>> Long Live ASAP Download

calvin johnson workout

..the use of English and indigenous languages in literacy and nonformal education classes... calvin johnson workout

Max

I love seeing blog that understand the value of providing a quality resource for free.Max

bread machine reviews

You write really very well and this time your topic is really very effective and very important for me and all your well wisher.bread machine reviews

cosplayer forum

We supply a good unique foot orthotics you can easlily recommend for various disorders. cosplayer forum

I am very much overwhelmed..

I am very much overwhelmed.. Such an informative session for me. Hope you will provide more informative post on this blog. best loan for people with bad credit

Useful and interesting which

Useful and interesting which we talk about with you so i think so it is very useful and knowledgeable. I would like to thank you for the projects. I am tiring the same best execute from me later on as well.
how do i get a loan

Hotel in LA

http://www.premierservicecleaning.com

It should be noted that whilst ordering papers for sale at paper writing service, you can get unkind attitude. http://www.premierservicecleaning.com

Nice Blog

Thanks for sharing news

web development company | web design company

I don't cerebrate some of

I don't cerebrate some of websites offer this typewrite of assemblage.
letmewatchthis

t shirt screen printing

I just wish to give an enormous thumbs up for the nice info you've got right here on this post. I will probably be coming back to your weblog for more soon.t shirt screen printing

Great post.Before reading

Great post.Before reading this post I just know about triberr but after reading it I am willing to try it. bad credit loan

Cataract

I will probably be coming back to your weblog for more soonCataract

online income

.>>>You can always be sure you're reading unbiased, factual, and accurate information.... online income

insurance claim repairs

The article is clearly written and every point is factual and is no-nonsense. I have surf the internet looking for topics.insurance claim repairs

I am impressed

Stratum Condo. The condo’s features provide complete close relatives enjoyment needs for your household members members and close relatives members. Engage in a relaxing and relaxing way of life right in the heart of Pasir Ris Stratum Condo

los angeles california dui lawyers

After reading your post i could understand that the content is most simple and great. los angeles california dui lawyers

The people not reading your

The people not reading your blogs are missing out a lot of quality contents.
Aluminum Fence Gate

whole house surge protector reviews

I would like to thank you for your nicely written content, its useful and your writing style helped me to read it without any difficulty. Thankswhole house surge protector reviews

www.musiccds.eu

This is your new blog post. Click here and start typing, or drag in elements from the top bar. www.musiccds.eu

This is simply the qualified

This is simply the qualified data I am identifying everywhere.Me and my companion were contending concerning an issue comparative to this!
bad credit loan

Re: Return to previous page after login

i think they have packaged it very wisely
mobile tracker

Good job..

Good job, This is very interesting most of us get benefits after read this blog... I am eager to see your upcoming post.. today in america bradshaw

CQY-QSXX Website

Does the fact that it's familiar help them on the field?CQY-QSXX Website

web design

...I located this blog! From time to time, students want to cognitive the keys of productive literary essays composing.... web design

.

Worth Bookmarking

Sant Ritz is a new and upcoming condominium located in the Potong Pasir area, within a short drive to Little India, Orchard and city area. With expected completion in mid 2016, Sant Ritz comprises of 3 towers with 214 units and stands 12 storeys tall. Future residents will be able to walk to the existing Potong Pasir MRT. With such a short drive to the city area as well as the orchard and bugis area. Entertainment for your love ones will come at a stone’s throw away

Great post.Before reading

Great post.Before reading this post I just know about triberr but after reading it I am willing to try it.
road markers

claim for whiplash

I'm just glad that I found yours. Looking forward for your next post. Thanks :)
claim for whiplash

new york city dwi lawyer

Hopefully your blog more successful. If you are interested and have time to you can visite in my blog friend. Thanks... new york city dwi lawyer

Cenaless Funciona

I love all the posts, I really enjoyed, I would like more information about this, because it is very nice., Thanks for sharing...Cenaless Funciona

metal roof murfreesboro

I was exactly searching for. Thanks for such post and please keep it up. Great work.metal roof murfreesboro

Brooklyn bankruptcy lawyer

I think who visit your site could not stop reading your post. Because i seen the content of you.
Brooklyn bankruptcy lawyer

adt review

Congratulations for posting Such A Useful blog. Your Blog Is not only informative purpose aussi Extremely artistic too.adt review

E Commerce Indonesia.

I have found it here. I must say that your website is great and I am really happy to find it.E Commerce Indonesia.

interesting

Buy Guild Wars 2 Gold direct from the USA at low prices. Guild Wars 2 Gold cheap price with 24/7 Customer Support. Buy Guild Wars 2 Gold Guild wars 2 is a newer and more stimulative games than guild wars for players,supplies a new choice when buy guild wars 2 gold. Canyon Country Garage Door Repair cheap GW2 Gold We are the safe store of Cheap Guild Wars 2 Gold. cheap Guild Wars 2 Gold Large bulk of GW2 Gold on all servers are always ready for sale. Buy GW2 Gold Guild Wars 2 Power Leveling is of Fast Delivery and security. Enjoy GW 2 Power Leveling.huge amount of cheap Guild Wars Gold in real stock on all servers for sale!

Jump Bookmark

I am currently teaching a class and part of the curriculum involves this subject matter. Do you have any other posts.Jump Bookmark

voip providers

The data coming from the scanner are the same. It takes a verifier or other diagnostic bar code tool to know which character is actually encoded.voip providers

http://www.middleeastmediagroup.com/

The nonformal component of the new system aims at accelerating adult literacy. http://www.middleeastmediagroup.com/

http://jerusalemworldnews.com/

you also can choose a classic look or go for a tailored pure color dress http://jerusalemworldnews.com/

ppi claims companies

Thank you for taking the time to publish this information very useful! I've been looking for books of this nature for a way too long. I'm just glad that I found yours.ppi claims companies

http://www.timeworthybooks.com/

the vehicle is operated in an urban area with the corresponding traffic dynamics. http://www.timeworthybooks.com/

filipina heart

Great post. If they are familiar with each other, it should make for an interesting game.filipina heart

michael fiore 

The Bloodhorde ship barely moved, drawn by the retracting grapples.. michael fiore