GTIN 14 Carton Labels in Accellos using Interleave 2 of 5 barcode


The GTIN Carton Label is a unique label built on the pack size + UPC + a modulo 10 check digit.

Accellos use   the prodmstr table to keep track of the different case pack sizes in the fields size1-size5

With this knowledge we build the UPC  as such

if the item is picked in size 1   the  GTIN 14 carton label is thus  1+UPC + ckdigit

if the item is picked in size 2   the GTIN 14 carton label is thus  2+UPC + ckdigit


The check digit is calculated by the following  algerithm

if the   UPD  =  123456789012   and pack size2 is utilized for shipping

we end up with 2123456789012

we take the even number place holders  N2 N4 N6 N8 N10 N12 and add them together

so  1 + 3 + 5 + 7 + 9 + 1  =   27

We take the odd numbered place holder N1 N3 N5 N7 N9 N11 and add them together and multiply by 3

so   2 + 4 + 6 +8 +0+2  =      22

Multiple the the Odd times 3   =  66

add the Odd + Even  together    = 88

using the modulo  operator  %    we end up with   88%10  =     returning a 2    

NOTE:  if the value returns 10 we need to return 0 

so we return   2123456789012  as the Carton GTIN -14  requirement


All these calculations are done in  a function in  the SQL database called dbo.scc14 which I created with the parameters    UPC  VARCHAR(20)  ,    Pack _size  INT  ,   Clientname  VARCHAR (20)

I have not had success calling this outside of an SQL Trigger   so in the  Insert Trigger I created  in  TOTEDETL I have setup  that if the ClientCust = MSY / WAL%   MSY/LOW%   then update the substitute field with the GTIN 14  Number  in the table  for each record.


What happens is Faro Quick Complete  is so fast it doesn't allow the SQL Trigger to fire prior to submitting the label to XML3 For Printing.    So  XML3 prints a blank bar code.   The only solution is not to add the label to the cust_ctyp field in pickhead  and after Faro Quick Complete finishes processing is to use the hand held and print N of M labels after the fact.   But you must add the Label to the PACK SLIP  edit field Cust_Ctype in the Edit screen on General 4  Tab. 



Interleave 2 of 5 Generation 

Now  in the  XML3    Label program I determined the following when using the label 2OF5 INTERLEAVE BARCODE  the following  

if you send it and odd number of characters  it only adds a check digit to the barcode.  If you send it an even number of characters  it prepends it with a 0 and adds a check digit to the barcode.

So in order to make the bar code print properly we using our example 2123456789012   we would only send the data up to our check digit 212345678901  and  Accellos recalulates our check digit.   My function basically states   left(totedetl.substitute,13)   and send it to the Interleave 2 of 5 Bar Code function.

I then print the value from totedetl.substitute  for a human Readable version on the label.

And two  example  bar codes to look at in XML3  is    WALMSY  and LOWMSY  for supporting code.

I had to add the bars across the top and acrosss the bottom of the UPC Manually.

and the results are   seen in the image below.







Article Details

Article ID:
Date added:
2013-02-27 14:22:29
Rating (Votes):

Related articles