VPE and EAN128

Knowledge exchange related to the VPE Report Engine and PDF Library

Moderator: IDEAL Software Support

VPE and EAN128

Postby Tina » Thu Mar 03, 2005 12:19 pm

Hi,
I have a problem with VPE V3.10 (VCL-Version with Delphi 5).

We need to create a EAN/UCC 128AI Barcode.

To seperate different AI with variable lenght, you have to write a control character called "FNC1".

Here my questions:

- can I create this barcode with VPE ?
- does anybody know the ascii code for this control character ?

thanks

Tina
Tina
 
Posts: 6
Joined: Thu Mar 03, 2005 12:09 pm

Postby IDEAL Software Support » Thu Mar 03, 2005 12:59 pm

Your version of VPE is from the year 2000. It used a different barcode library than the versions which were released after 2000 up until today.

To be honest, I don't know how the old barcode library worked and we have no documentation left here. For the current version, EAN128 barcodes can be created. However, you can not control when the barcode library switches between the ABC encodings. The barcode library switches itself the encodings as required. I.e. if at any position a character appears which can not be encoded with the current internal setting, the barcode libray switches the setting automatically. The barcode library will optimize the encoding so that the shortest possible code will be generated.

Regards
Thorsten Radde
IDEAL Software GmbH
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Postby Tina » Thu Mar 03, 2005 1:06 pm

Hello Thorsten,

I found the following description in a printer driver property TAB (a printer with Barcodefonts)
...
When the UCC/EAN-128 option is checked, the driver automatically inserts a FNC1 character immediately following the Code 128 start character at the beginning of the bar code. It is used as an identification prefix or "flag character" to indicate that the rest of the symbol code complies with the new UCC/EAN distribution standards.

So I think VPE can not print this Barcode.

Tina
Tina
 
Posts: 6
Joined: Thu Mar 03, 2005 12:09 pm

Postby IDEAL Software Support » Thu Mar 03, 2005 1:19 pm

The current version of VPE does. As explained in my previous post, I have unfortunately no information available regarding your version from the year 2000.

Regards
Thorsten Radde
IDEAL Software GmbH
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Postby Tina » Thu Mar 03, 2005 2:31 pm

Hello Thorsten,

sorry, you are right. I tested the EAN128 with the version 3.6 and it works.

But now I still have the problem with the control character FNC1, which I need to seperate the AI's with variable lenght.

thanks

Tina
Tina
 
Posts: 6
Joined: Thu Mar 03, 2005 12:09 pm

Postby IDEAL Software Support » Thu Mar 03, 2005 2:59 pm

Tina,

the control characters FNC1 - FNC4 are inserted automatically by the barcode library as required by the characters that shall be represented.

Regards
Thorsten Radde
IDEAL Software GmbH
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Postby Tina » Fri Mar 04, 2005 9:21 am

Thorsten,

I tested with this Data (without the brackets):

(30)19(21)123456789012

and the Barcode-Types BCT_EAN128C ,BCT_EAN128B

the Result of the VPE-Barcode is different to the Result of a LabelPrinter with a internal BarcodeFont (CODE 128 with the UCC/EAN 128 Option).

The VPE-Barcode starts with the C FNC1 characters but after "19" there is no FNC1.

Printingthe Barcode with a Label Printer I have to to insert "^1" or "~999" instead of FNC1 in the Data.

So what did I wrong with the VPE -Data ?

Tina
Tina
 
Posts: 6
Joined: Thu Mar 03, 2005 12:09 pm

Postby IDEAL Software Support » Fri Mar 04, 2005 3:42 pm

Tina,

as I tried to explain, the barcode library inserts itself FNC control-characters as required. The barcode library is intelligent and optimizes the generated character sequence. You can not force the barcode library to insert control characters at a given position.

We eliminated the ABC types, there is only the EAN 128 type left and the barcode library inserts control-characters (switching internally automatically to the ABC types) where necessary. If your barcode reader works correctly, it will scan the generated barcodes without problems.

Regards
Thorsten Radde
IDEAL Software GmbH
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Postby Stéphane Bessette » Wed Apr 20, 2005 3:33 pm

We print UCC serial shipping container barcodes in OCX mode. Here's how we do it.

First we turn off the Auto Checksum:
ASSIGN shPrinterVPE:BarcodeAutoChecksum = FALSE

Then we create a human-readable version of the barcode:
cBarcode[1] = "(00) 1 " + UCC + " " + STRING(skid-serial-number, "999999999") + " "

The UCC is a 7 digit identifier for the company and the skid serial number is a 9 digit skid identifier. A sample would be: (00) 1 1234567 123456789

Next we remove parentheses and spaces in order to generate a barcode value:
cBarcode[2] = REPLACE(cBarcode[1], "(", "")
cBarcode[2] = REPLACE(cBarcode[2], ")", "")
cBarcode[2] = REPLACE(cBarcode[2], " ", "")

Then we calculate a check digit modulo 10:
cCheck = STRING(CheckDigit10(cBarcode[2]))

We then add this check digit to both the barcode and the human readable versions:
cBarcode[1] = cBarcode[1] + cCheck
cBarcode[2] = cBarcode[2] + cCheck

Then we calculate a check digit modulo 103:
cCheck = STRING(CheckDigit128C(cBarcode[2]))

And finally we add this check digit to the barcode:
cBarcode[2] = cBarcode[2] + cCheck

My barcode sources are:
http://www.adams1.com/pub/russadam/spec.html
http://idautomation.com/code128faq.html#EAN128andUCC128

It may take a bit of digging to locate the proper formula for the check digit calculations.

As a last word, we've turned off the automatic check digit generation a long time ago and went this route. When we finally got it working we did not spend additional time in testing the automatic check sum generation from VPE; we may have incorrectly used it originally. But time constraints prevented proper testing.

Hopefully this helps.
Stéphane Bessette
 
Posts: 9
Joined: Fri Dec 10, 2004 4:35 pm

Postby IDEAL Software Support » Wed Apr 20, 2005 5:35 pm

Stéphane,

thank you for your post, but I don't think you are going the right way. Up until VPE v3.20 (which was released 2001), this might have been the correct way, because we used a different barcode library which didn't compute check digits for EAN 128. But since v3.20 we use a new barcode library which computes the check digits itself.

Simply remove the parentheses and spaces as required and go ahead with VPE. If this should - for any reason - not work, please send a post to this forum.

Regards
Thorsten Radde
IDEAL Software GmbH
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Postby IDEAL Software Support » Thu Apr 20, 2006 6:03 pm

Some good news regarding Code 128 / EAN 128: since some applications require that the FNC1 - FNC4 control codes can be inserted, the barcode library will be enhanced in version 4.0 of VPE to support the insertion of such control codes.

Furthermore it will be possible to override the automatic charset switching and to force the library to use a specific character set (A, B or C).

Regards
Thorsten Radde
IDEAL Software GmbH
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

FNC1 and GS1-128

Postby Informing AG » Wed Apr 08, 2009 12:54 pm

IDEAL Software Support wrote:Some good news regarding Code 128 / EAN 128: since some applications require that the FNC1 - FNC4 control codes can be inserted, the barcode library will be enhanced in version 4.0 of VPE to support the insertion of such control codes.

Furthermore it will be possible to override the automatic charset switching and to force the library to use a specific character set (A, B or C).

Regards
Thorsten Radde
IDEAL Software GmbH


Even though your answer is very old, the problem seems still not to be solved.
We tried to produce a GS1-128 Barcode with GTIN (AI = 02), Count of Trade Items (AI = 37) and Order-Nr. (AI = 400). The beginning of the code is OK. The AI (02) is fixed to 14 digits.
But in GS1-Standard at the end of a variable AI (eg 37) there has to be a FNC1. Neither VPE inserts this by itself nor can we insert it by hand. Every time we try to insert in the string the Character 134 (see ProgrammersManual) there is no more barcode at all. We realised, when we insert a character bigger than 127 there will be no printed barcode anymore.

What trick do we have to use to get a readable GS1-128?
Informing AG
 
Posts: 2
Joined: Wed Apr 08, 2009 12:35 pm

Postby IDEAL Software Support » Wed Apr 08, 2009 4:24 pm

Please download VPE v5.0 trial version and see if this works. It has some changes regarding Code 128 generation. We also updated the documentation, the FNC codes were documented wrong.
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Postby Informing AG » Wed Apr 15, 2009 7:51 am

IDEAL Software Support wrote:Please download VPE v5.0 trial version and see if this works. It has some changes regarding Code 128 generation. We also updated the documentation, the FNC codes were documented wrong.


We tested Version 5.00 But still we could not get a Barcoce-printout when we tried to submit a character-code bigger than 127. (And the manual gives the value of 134 for FNC1).
Informing AG
 
Posts: 2
Joined: Wed Apr 08, 2009 12:35 pm

Postby IDEAL Software Support » Wed Apr 15, 2009 9:54 am

Please contact our support by e-mail and send us the line of code which is calling the Barcode-method (including the string you are trying to use, as well as the BCT_ code you are using).
IDEAL Software Support
 
Posts: 1622
Joined: Thu Nov 18, 2004 4:03 pm

Next

Return to VPE Open Forum

Who is online

Users browsing this forum: No registered users and 155 guests