This article defines and explains the problem of getting the same data repeated throughout a label when using alpha characters are to define ^FN (field numbers) in ZPL language.
Situation and Symptoms
- User creates printer code using text instead of numbers to identify fields (e.g. ^FNSEQ, ^FNXXX, and ^FNTest instead of ^FN1, ^FN2, and ^FN3)
- Printer accepts the ^FN command with a text field without error (e.g. ^FNSEQ) when stored in printer memory
- ZPL is then loaded from the printer memory using the ^XS command to print a label
- ALL ^FN fields not using number to identify the field will all print the same value, even if given different values in by the print file
According to ZPL programming manual, ^FN command defines field numbers in the label. The usage is:
We discovered an anomaly with this command. Instead of using a number for the #, a client used alpha characters (i.e. ^FNSeq instead of ^FN1). Zebra printers appear to treat the ^FN commands that reference alpha characters instead of numbers as the same field.
^FNSeq, ^FNXXX, ^FNTest may be assigned different values in the printer code. When the program passes the data to the printer via ^XS command (recall label format from printer memory) and defines the value of ^FNTest as “123456”, the fields marked as ^FNSeq, ^FNXXX and ^FNTest will all print the same value of “123456”.
All ^FN definitions must use a numeric reference to operate correctly. All ^FN definitions using alpha / text characters must be changed to ^FN1, ^FN2, ^FN3, etc.