Subcommands
- START
-
Specifies the starting byte in the data record for the field you want.
- n
- Specifies the number of bytes from the first data byte in the record to be used as the starting
point of the field. The first data byte position of an input record is 1. Note: The carriage-control character, table-reference character, and record ID are not considered data.
- *
- Denotes the next byte after the field identified in the previous FIELD command, excluding FIELD commands with constant TEXT.
- + n
- Adds the value of n to the * byte position.
- - n
- Subtracts the value of n from the * byte position.
If START is omitted and LENGTH is specified, then START * is assumed.
- LENGTH n
- Specifies the number (n) of bytes to process from the data record,
beginning with the position specified in START. Record Format: When the maximum length of the field is determined, the print server truncates all of the fields not containing data.
- TEXT

.---------------------------------.
V .-C-. |
|----TEXT----+----+--+-X-+--+------+--'text'-+------------------|
'-Dn-' +-G-+ '-L(m)-'
'-K-'
Specifies the constant text that is to be printed in the output. A maximum of 65,535 bytes of text can be provided in one page format.
Note: This text is considered constant in that the same text is printed each time. In regard to the CONSTANT command within a form definition, this text is considered variable because the text prints only where variable data is allowed to print.- Dn
- Specifies the number of times the text is to be duplicated (use a decimal number). The maximum times the text is repeated varies depending on the size of the text. The default is 1.
- text type
- Specifies the type of text.
- C
- Indicates that the text contains single-byte code characters, which include all Roman alphabetic characters (for example, the ones used for English). Any valid character code can be specified, including blanks. This is the default.
- X
- Indicates that the text contains hexadecimal codes (in groups of two hexadecimal codes) that specify values from X'00' - X'FE'.
- G
- Indicates that the text contains double-byte code characters (for example, kanji characters).
Characters in type G text must start with shift-out (SO X'0E') and end with shift-in (SI X'0F') characters within opening and closing apostrophes (X'7D' for EBCDIC operating systems and X'27 ' for ASCII operating systems).
- K
- Indicates that the text contains kanji numbers that are enclosed in apostrophes. Kanji numbers
are separated by commas:
K'321,400'
Valid double-byte character set (DBCS) codes are from X'41' - X'FE' for each byte. Code X'4040' (blank) is the only exception.- Valid
- X'4040', X'4141', X'41FE' X'FE41', X'FEFE'
- Invalid
- X'2040', X'413E', X'4100' X'7F00', X'FE3E'
- L(m)
- Specifies the length of text (use a decimal number in parentheses). When the actual length of the text is different from m, the m specification is accepted. That is, the text is either padded with blanks to the right or truncated.
- 'text'
- Specifies the text. Examples:
- When TEXT 2C(3)‘AB’ is specified, ‘AB AB ’ is generated. The blanks are generated because of the (3) specification.
- TEXT 2C(1)‘AB’ generates ‘AA’, truncating the Bs.
- PAGENUM n (Record Format and XML)

.-PAGENUM--NOPRINT--NORESET----------.
|--+------------------------------------+-----------------------|
| .-PRINT---. .-NORESET--. |
'-PAGENUM--+---------+--+----------+-'
'-NOPRINT-' '-RESET--n-'
Although parameters are specified as optional, at least one must be specified.
Page numbers can be set to start with the value specified as n; otherwise, they follow the specification that is made in the PAGEDEF or PAGEFORMAT command.
The POSITION parameters that are specified with the PAGENUM parameter reflect the position of the page number only.
If you do not want a page number to be printed, either do not use this parameter or specify NOPRINT.
The RESET parameter is only used when you want to reset the page number that is to be used with this page.
Note: You must define a font that specifies the font type to be used for printing page numbers.- FLDNUM (Record Format and XML)

.-START - 1-. .-LENGTH -rest of field-.
|--FLDNUM--n--+-----------+--+-----------------------+----------|
'-START - n-' '-LENGTH - n------------'
This keyword must only be used if the DELIMITER field was used in the LAYOUT command. Fields cannot be counted without specifying delimiters in the database.
To allow for the identification of a part of a field that is field delimited, you can specify the starting position (from the delimiter), and optionally the length of the part of the field you want to use. The LENGTH default is to use the entire remainder of the field from the start position to the ending delimiter.
- RECID (Record Format only)

.-START - 1-. .-LENGTH - rest of id -.
|--RECID--+-----------+--+----------------------+---------------|
'-START - n-' '-LENGTH -n -----------'
You use this keyword to access characters in the first n characters of a record. This area is reserved for the record identifier, and all other field starts and lengths are calculated after this area. These starts and lengths reference only the area within the record ID.
If no record length is specified, the remaining bytes of the n-byte field are assumed.
- STAG (XML only)

.-START - 1-. .-LENGTH - rest of id -.
>>-STAG--+-----------+--+----------------------+---------------><
'-START - n-' '-LENGTH -+-n -+-------'
'- * '
You use this keyword to access characters in the START tag. It also includes the < and > delimiters; position 1 is always the < delimiter.
If no record length is specified, the remaining bytes of the START tag are assumed. If no START is specified, 1 is assumed.
LENGTH * means that the remainder of the field is used for the length.
- ATTR (XML only)

.-START - 1-. .-LENGTH--rest of attribute-.
>>-ATTR--aname--+-----------+--+---------------------------+---><
'-START - n-' '-LENGTH--+-n---+-----------'
'- * -'
You use this keyword to access attribute values from the data. Multiple attribute fields can access the same attribute, which allows subsets of the value to be printed.
If no record length is specified, the remaining bytes of the attribute are assumed. If not START is specified, 1 is assumed.
- aname
- The attribute name. To preserve the case, enter the name in quotation marks. The name is converted to the data type you specify, by using UDTYPE on the page definition, or it is defaulted.
- START n
- The starting position of the attribute to extract the data. If this parameter is omitted, position 1 is assumed.
- LENGTH n
- The length of the attribute to be placed. If this parameter is omitted or LENGTH * is coded, the rest of the field is assumed for the length.
- POSITION

Traditional
.-POSITION--CURRENT or * --CURRENT or * ------------.
|--+---------------------------------------------------+--------|
'-POSITION--+-+-----+--x-pos-+--+-+------+--y-pos-+-'
| '- – -' | | '- – -' |
'-CURRENT or * --' +-NEXT------------+
'-CURRENT or * ---'

Record Format
|--+----------------------------------------------------+-------|
'-POSITION--+-+------+--x-pos-+--+-+------+--y-pos-+-'
| '- – -' | | '- – -' |
'-CURRENT or * ---' +-NEXT------------+
'-CURRENT or * ---'

XML
.-POSITION--CURRENT--CURRENT-------------------------------------------.
|--+----------------------------------------------------------------------+--|
'-POSITION--+-+------+--+-----+--x pos-+--+-+------+--+-----+--y pos-+-'
| '-LPOS-' '- - -' | | '-LPOS-' '- - -' |
| .-0-----. | +-NEXT---------------------+
+-LPOS--+-------+----------+ '-CURRENT or * ------------'
| '-x pos-' |
| .-0-----. |
+-CPOS--+-------+----------+
| '-x pos-' |
+-APOS--x pos--------------+
'-CURRENT or * ------------'
Specifies the starting position of the field in the printout.
- x-pos
- Do not mix x-pos specifications with CURRENT or * except in ACROSS
fields.
- -
- Specifies that the x value is negative.
- x
- Specifies the horizontal offset for the starting print position that is relative to the
printline starting position. The choices are IN, MM, CM, POINTS, or PELS.
The default is the most recent SETUNITS command value or IN (inch) if a SETUNITS command is not issued.
The PELS measurement equals one L-unit or 1/240 of an inch, depending on whether the PELSPERINCH parameter is specified previously.
- APOS
- Specifies that the x pos parameter that follows is absolute. The x pos parameter is mandatory and must be positive.
- CPOS
- Specifies that the x pos parameter that follows is relative to the current position. This parameter can be negative.
- LPOS
- Specifies that the x pos parameter that follows is relative to the XLAYOUT position. This parameter can be negative.
- CURRENT
- Specifies that the inline offset (relative to the field's direction) is the end of the previous
field. For the first field, use the PRINTLINE offset. This is the default. Note: The meaning of CURRENT differs from the meaning of the PRINTLINE command parameter (Traditional) or a LAYOUT command parameter (Record Format) SAME.
- *
- Alternative for CURRENT.
- y-pos
- Do not mix y-pos specifications with CURRENT or * except in ACROSS
fields.
- -
- Specifies that the y value is negative.
- y
- Specifies the vertical offset for the starting print position that is relative to the
printline starting position. The choices are IN, MM, CM, POINTS, or PELS.
The default is the most recent SETUNITS command value or IN (inch) if a SETUNITS command is not issued.
- NEXT
- Specifies a field that is positioned down one line in the baseline direction (as defined in the
SETUNITS command LINESP subcommand) from the previous field.
Use NEXT only in ACROSS fields.
- CURRENT
- Specifies that the baseline offset (relative to the field's direction) is the same as the previous field. That is, the baseline position does not change. For the first field, use the PRINTLINE (Traditional) or a LAYOUT (Record Format) offset. This is the default.
- *
- Alternative for CURRENT.
- FONT
-

|--+--------------------------+---------------------------------|
'-FONT--name1--+---------+-'
'-, name2-'
Defines the font to be used for the field.
- name1
- Specifies the local name of a font that is used to print the data. This font must be defined in
a previous FONT or DOFONT command in this page definition.
If Shift-Out, Shift-In (SOSI) processing is used, name1 must be the single-byte font.
- name2
- Specify only when you are using Shift-Out, Shift-In (SOSI) processing to dynamically switch
between a single-byte font and a double-byte font within the field. name2
must be the double-byte font. Note: name2 is only valid with EBCDIC data.
Notes:- If this subcommand is not specified, the font that is specified in the preceding PRINTLINE command (Traditional) or a LAYOUT command (Record Format) is used. If neither is specified, the print server assigns a font.]
- Record Format only: For ASCII, UTF8, or UTF16, the entire PRINTLINE command must be one font. To use multiple font mappings for a line in ASCII, UTF8, or UTF16, you must use the FIELD command.
- ALIGN LEFT | RIGHT (Record Format and XML only)

.-ALIGN - LEFT-----.
|--+------------------+-----------------------------------------|
'-ALIGN--+-LEFT--+-'
'-RIGHT-'
The data in this field is left or right-aligned to the x position that is specified in the horizontal POSITION parameter.
- DIRECTION

.-DIRECTION--ACROSS---.
|--+---------------------+--------------------------------------|
'-DIRECTION--+-DOWN-+-'
+-BACK-+
'-UP---'
Specifies the print direction of the field, relative to the upper-left corner as you view the logical page. If this subcommand is omitted, the direction that is specified in the governing PRINTLINE command is used.
- ACROSS
- The page is printed with the characters added from left to right on the page, and the lines are added from the top to the bottom.
- DOWN
- The page is printed with the characters added from top to bottom on the page, and the lines are added are from the right to the left.
- BACK
- The page is printed with the characters added from right to left on the page, and the lines are added from the bottom to the top.
- UP
- The page is printed with the characters added from bottom to top on the page, and the lines are added from the left to the right.
Note: Not all printers can print in all directions. See your printer documentation for more information.- SUPPRESSION
-
Specifies that this text field can be suppressed (not valid for bar codes).
- name
- Specifies the name of a field to be suppressed.
Printing of this field is suppressed if this name is identified by a SUPPRESSION command within the form definition.
The same name can be used in one or more fields to suppress these fields as a group.
- COLOR

|--+-------------------------------------------------------------+--|
+-COLOR--colorname--------------------------------------------+
+-RGB--rvalue--gvalue--bvalue---------------------------------+
+-HIGHLIGHT -hvalue --+------------------+--+---------------+-+
| '-COVERAGE--cvalue-' '-BLACK--bvalue-' |
+-CMYK--cvalue--mvalue--yvalue--kvalue------------------------+
'-CIELAB--lvalue--+-----+--clvalue--+-----+--c2value----------'
'-(–)-' '-(–)-'
Specifies an OCA or defined color for the text of this field. This subcommand is recognized only by printers that support multiple-color printing. See your printer publication for more information.
- colorname
- Values for colorname can be a defined color (see DEFINE COLOR Command), or an OCA colorname. Values for OCA
colornames are:
- BLUE
- RED
- MAGENTA (or PINK)
- GREEN
- CYAN (or TURQ)
- YELLOW
- BLACK
- BROWN
- MUSTARD
- DARKBLUE (or DBLUE)
- DARKGREEN (or DGREEN)
- DARKTURQ (DTURQ, or DCYAN, or DARKCYAN)
- ORANGE
- PURPLE
- GRAY
- NONE
- DEFAULT
Note: In some printer publications, the color turquoise (TURQ) is called cyan, and the color pink (PINK) is called magenta. - color model
- Specifies the color of print for this field that is supported in MO:DCA for the Red/Green/Blue
color model (RGB), the highlight color space, the Cyan/Magenta/Yellow/Black color model (CMYK), and
the CIELAB color model. This example shows the color model with the FIELD command:
FIELD START 1 LENGTH 5 COLOR BLUE ; FIELD START 1 LENGTH 1 RGB 10 75 30 ; FIELD START 1 LENGTH 1 cmyk 80 10 10 10 ; FIELD START 1 LENGTH 2 CIELAB 80 100 20 ; FIELD START 1 LENGTH 2 highlight 5 ; FIELD START 1 LENGTH 2 highlight 300 COVERAGE 50 BLACK 30 ;- RGB rvalue gvalue bvalue
-
Three RGB integer values are used. The first (rvalue) represents a value for red, the second (gvalue) represents a value for green, and the third (bvalue) represents a value for blue. Each of the three integer values can be specified as a percentage 0 - 100.
Note: An RGB specification of 0/0/0 is black. An RGB specification of 100/100/100 is white. Any other value is a color somewhere between black and white, depending on the output device. - HIGHLIGHT hvalue COVERAGE cvalue BLACK bvalue

|--+-------------------------------------------------------------+--|
'-HIGHLIGHT -hvalue --+------------------+--+---------------+-'
'-COVERAGE--cvalue-' '-BLACK--bvalue-'
Indicates the highlight color model. Highlight colors are device-dependent.
You can use an integer within the range of 0 - 65535 for the hvalue.Note: An hvalue of 0 indicates that no default value is defined; therefore, the default color of the presentation device is used.COVERAGE indicates the amount of coverage of the highlight color to be used. You can use an integer within the range of 0 - 100 for the cvalue. If less than 100 percent is specified, the remaining coverage is achieved with the color of the medium.Note: Fractional values are ignored. If COVERAGE is not specified, a value of 100 is used as a default.BLACK indicates the percentage of black to be added to the highlight color. You can use an integer within the range of 0 - 100 for the bvalue. The amount of black shading that is applied depends on the COVERAGE percentage, which is applied first. If less than 100 percent is specified, the remaining coverage is achieved with black.Note: If BLACK is not specified, a value of 0 is used as a default.- CMYK cvalue mvalue yvalue kvalue

|--+--------------------------------------+---------------------|
'-CMYK--cvalue--mvalue--yvalue--kvalue-'
Defines the cyan/magenta/yellow/black color model. Cvalue specifies the cyan value. Mvalue specifies the magenta value. Yvalue specifies the yellow value. Kvalue specifies the black value. You can use an integer percentage within the range of 0 to 100 for any of the CMYK values.
- CIELAB Lvalue (-)c1value (-)c2value

|--+----------------------------------------------------+-------|
'-CIELAB--lvalue--+-----+--clvalue--+-----+--c2value-'
'-(–)-' '-(–)-'
Defines the CIELAB model. Use a range of 0.00 - 100.00 with Lvalue to specify the luminance value. Use signed integers from -127 to 127 with c1value and c2value to specify the chrominance differences.
Lvalue, c1value, c2value must be specified in this order. No defaults exist for the subvalues.Note: Do not specify both an OCA color with the COLOR subparameter and an extended color model on the same FIELD or PRINTLINE command. The output is device-dependent and might not be what you expect.
- BARCODE

|--+--------------------------------------------------------------------------+--|
'-BARCODE--+------+--+---------------------+--+--------------------------+-'
'-name-' '-TYPE--+-n---------+-' '-Other BARCODE Parameters-'
'-type-name-'
Specifies a bar code in a page definition. The following are valid bar code type-names:- CODE39 (same as 1)
- MSI (same as 2)
- UPCA (same as 3)
- UPCE (same as 5)
- UPC2SUPP (same as 6)
- UPC5SUPP (same as 7)
- EAN8 (same as 8)
- EAN13 (same as 9)
- IND2OF5 (same as 10)
- MAT2OF5 (same as 11)
- ITL2OF5 (same as 12)
- CDB2OF7 (same as 13)
- CODE128 (same as 17)
- EAN2SUP (same as 22)
- EAN5SUP (same as 23)
- POSTNET (same as 24)
- RM4SCC (same as 26)
- JPOSTAL (same as 27)
- 2DMATRIX (same as 28)
- 2DMAXI (same as 29)
- 2DPDF417 (same as 30)
- APOSTAL (same as 31)
- 2DQRCODE (same as 32)
- CODE93 (same as 33)
- US4STATE (same as 34)
- REDTAG (same as 35)
- DATABAR (same as 36)
The bar code name can be 1 - 8 characters long. See your printer documentation for more information about bar code support. Ensure that the bar code fits on the page or you errors occur at print time.
Read your printer hardware documentation before you use bar codes. The documentation indicates which bar code types, modifiers, MODWIDTH, element heights, and ratio values are valid for the printer.
PPFA does minimal verification of the bar code values. If you use the MOD, HEIGHT, MODWIDTH, and RATIO parameters, ensure that the values you specify are valid for your printer.
For printer optimization, specify BARCODE name options in the first instance of a specific type of bar code. If this type is used again, position it as usual with START, LENGTH, and POSITION, but specify the bar code information by using only BARCODE same-name-as-previously. The BARCODE subcommand is recognized only by printers that support BCOCA bar code printing; see your printer documentation for more information.- Bar code concatenation
- The concatenated bar code function allows the user to collect bar code data from different
fields, records, or both to be concatenated in generating a bar code object.
For example, the hyphen in a nine-digit ZIP code, aaaaa-bbbb, is not a valid character in a POSTNET bar code. The concatenated bar code function allows a user to specify a FIELD for the aaaaa and a FIELD for the bbbb and concatenate them together into one bar code. For 2D bar codes, which can contain many bytes of data, multiple records of data can be concatenated together into one bar code.
The defining bar code fully defines a bar code, specifying any necessary placement or descriptive parameters. A defining bar code can start the collection of bar code data if it specifies a BARCODE name and the BCDSYMB keyword with a symbol name.
The continuation bar code defines bar code data that is to be added to a bar code data collection started with a defining bar code with BCDSYMB coded. This bar code uses the defining BARCODE name and BCDSYMB name but does not specify the TYPE or BARCODE parameters because it uses the information from the defining bar code.- Example 1
- POSTNET 9-digit bar code split in two fields
aaaaa-bbbb:
PAGEDEF BC1P REPLACE YES; FONT afont GT10; PAGEFORMAT example1; PRINTLINE POSITION 4 in 1.5 in; FIELD START 1 LENGTH 15 POSITION 0 IN 0 IN; FIELD START 16 LENGTH 20 POSITION 0 IN NEXT; FIELD START 36 LENGTH 15 POSITION 0 IN NEXT; FIELD START 51 LENGTH 5 POSITION 0 IN 0.70 IN BARCODE zip54 TYPE POSTNET MOD 1 BCDSYMB datacoll; FIELD START 57 LENGTH 4 BARCODE zip54 BCDSYMB datacoll; - Example 2
- 2D bar code with data bytes across multiple
records:
PAGEDEF BC2P REPLACE YES; FONT afont GT10; PAGEFORMAT example2; PRINTLINE POSITION 1 in 1 in; FIELD START 1 LENGTH 200 POSITION 1.0 IN 1.0 IN DIRECTION ACROSS BARCODE maxil TYPE 2DMATRIX MOD 0 BCXPARMS ESC E2A BCDSYMB bcd2 BCDSEQ 5; PRINTLINE REPEAT 4; FIELD START 1 LENGTH 200 DIRECTION ACROSS BARCODE maxil BCDSYMB bcd2 BCDSEQ 1;
Notes:- A bar code cannot be positioned on or outside of the logical page. For example, the following page definition results in a position of 0 0, which is on the logical page boundary. The following example results in a printer error:
PAGEDEF XMPL1 REPLACE YES; SETUNITS 1 IN 1 IN LINESP 6 LPI; FONT FNT1 CR10; FONT FNT2 CR10; PAGEFORMAT IBMSSN WIDTH 9.5 HEIGHT 4.0 /* PORTRAIT */ DIRECTION ACROSS; PRINTLINE FONT FNT1 REPEAT 1 CHANNEL 1 POSITION 0 0; FIELD START 671 LENGTH 13 POSITION 0 0 BARCODE 3OF9 TYPE 1 MODWIDTH 17 SSASTERISK ON; - If you want to suppress blanks, use the SUPPBLANKS parameter.
- SUPPBLANKS for bar code data cause the entire field to be ignored if it is all blanks.
- Bar code Symbol Size The height of the bar code symbol is controlled by the bar code symbology definition and by various BCOCA parameters. The width of the symbol is typically dependent on the amount of data to be encoded and by choices that are made in various BCOCA parameters.
- Linear Symbologies
- The element-height and height-multiplier parameters specify the height of the symbol. For some bar code types, these parameters also include the height of the human-readable interpretation (HRI). See the description of the element-height parameter in the Bar Code Object Content Architecture Reference for a description of the height for specific linear symbols. Some bar code symbologies (Australia Post Bar Code, Japan Postal Bar Code, POSTNET, RM4SCC, and REDTAG) explicitly specify the bar code symbol height; in this case, the element-height and height-multiplier parameters are ignored.
- Two-Dimensional Matrix Symbologies
- The MaxiCode symbology specifies a fixed physical size, nominally 28.14 mm wide by 26.91 mm
high; the module-width, element-height, and height-multiplier parameters are ignored for MaxiCode
values.
Data Matrix symbols are rectangular and are made up of a pattern of light and dark squares (called modules). The size of each module is specified in the module-width parameter and the number of rows and columns of these modules is controlled by the desired-number-of-rows and desired-row-size parameters and the amount of data to be encoded. The element-height and height-multiplier parameters are ignored for Data Matrix symbols.
QR Code symbols are square and are made up of a pattern of light and dark squares (called modules). The size of each module is specified in the module-width parameter; the number of rows and columns of these modules is controlled by the version parameter, the error correction level that is selected, and the amount of data to be encoded. The element-height and height-multiplier parameters are ignored for QR Code symbols.
- Two-Dimensional Stacked Symbologies
- PDF417 symbols are rectangular and are made up of a pattern of light and dark rectangles (called modules). The size of each module is specified in the module-width, element-height, and height-multiplier parameters and the number of rows and columns of these modules is controlled by the data-symbols and rows parameters and the amount of data to be encoded. A PDF417 symbol must contain at least three rows.
For more information about bar codes, see More About Bar Code Parameters and Bar Code Object Content Architecture Reference.
- name
- Specifies a specific bar code name to be included in a page definition. The name is required if BARCODE is used to reference or continue the bar code later, as is done for bar code concatenation.
- TYPE { n | type-name }
- Specifies the type of bar code symbol to be generated. Note: If a type indicates "(same as n)", you can substitute the specified number for the character name.The following bar code types are supported:
- type-name
- Specifies a specific bar code type name to be included in a page definition.
- CODE39 (same as 1)
- Specifies a bar code type of Code 39 (3-of-9 code), Automatic Identification Manufacturers Uniform Symbol Specification 39.
- MSI (same as 2)
- Specifies a bar code type of modified Plessey code.
- UPCA (same as 3)
- Specifies a bar code type of Universal Product Code (United States) and the Canadian Grocery Product Code, Version A.
- UPCE (same as 5)
- Specifies a bar code type of Universal Product Code (United States) and the Canadian Grocery Product Code, Version E.
- UPC2SUPP (same as 6)
- Specifies a bar code type of Universal Product Code (United States) two-digit Supplemental (periodicals).
- UPC5SUPP (same as 7)
- Specifies a bar code type of Universal Product Code (United States) five-digit Supplemental (paperbacks).
- EAN8 (same as 8)
- Specifies a bar code type of European Article Numbering 8 (includes Japanese Article Numbering-short).
- EAN13 (same as 9)
- Specifies a bar code type of European Article Numbering 13 (includes Japanese Article Numbering-standard).
- IND2OF5 (same as 10)
- Specifies a bar code type of Industrial 2-of-5.
- MAT2OF5 (same as 11)
- Specifies a bar code type of Matrix 2-of-5.
- ITL2OF5 (same as 12)
- Specifies a bar code type of Interleaved 2-of-5, Automatic Identification Manufacturers Uniform Symbol Specification-I 2/5.
- CDB2OF7 (same as 13)
- Specifies a bar code type of Codabar, 2-of-7, Automatic Identification Manufacturers Uniform Symbol Specification-Codabar.
- CODE128 (same as 17)
- Specifies a bar code type of Code 128, Automatic Identification Manufacturers Uniform Symbol
Specification-128. Note: A subset of CODE128 exists that is called EAN128. These EAN128 bar codes can be produced with PPFA by specifying CODE128 for the bar code type in the PAGEDEF and including the extra parts of the bar code in the data. The UCC-128 bar code format is:
The string of ns represents the bar code data. The start code, stop character, and 'c' value are generated by the printer microcode for BCOCA bar codes. The FNC1 is a hexadecimal 8F character. The ai is an application identifier and needs to be defined for use by each EAN128 application. The m is a modulo 10 check digit that must be calculated by the application and included in the bar code data.startcode FNC1 ai nnnnnnnnnnnnnnnnnn m c stopcharNot all printers generate the EAN128 bar codes; thus, you might need to verify that the bar code that is produced in this manner is readable by your bar code scanner.
For more information about the EAN128 bar codes, see the AFP Consortium web page.
- EAN2SUP (same as 22)
- Specifies a bar code type of European Article Numbering, Two-digit Supplemental.
- EAN5SUB (same as 23)
- Specifies a bar code type of European Article Numbering, Five-digit Supplemental.
- POSTNET (same as 24)
- Specifies a bar code type of POSTal Numeric Encoding Technique (United States Postal Service),
and defines specific values for the BSD module width, element height, height multiplier, and
wide-to-narrow ratio fields. Note: POSTNET MOD 4 is normally called PLANET bar code. POSTNET MOD 4 is supported by PPFA and some AFP printers.
- RM4SCC (same as 26)
- Specifies a 4-state customer code that is defined by the Royal Mail Postal Service of England for bar coding postal code information.
- JPOSTAL (same as 27)
- A complete Japan Postal Bar Code symbol consists of a set of distinct bars and spaces for each character followed by a modulo 19 checksum character and enclosed by a unique start character, stop character and quiet zones.
- 2DMATRIX (same as 28)
- Specifies a Data Matrix two-dimensional bar code. Two-dimensional matrix symbologies (sometimes called area symbologies) allow large amounts of information to be encoded in a two-dimensional matrix. These symbologies are typically rectangular and require a quiet zone around all four sides; for example, the Data Matrix symbology requires a quiet zone at least one module wide around the symbol. Two-dimensional matrix symbologies use extensive data compaction and error correction codes, allowing large amounts of character or binary data to be encoded.
- 2DMAXI (same as 29)
- Specifies a MaxiCode two-dimensional stacked bar code. Two-dimensional stacked symbologies allow large amounts of information to be encoded by effectively stacking short one-dimensional symbols in a row/column arrangement. This arrangement reduces the amount of space that is typically used by conventional linear bar code symbols and allows for a large variety of rectangular bar code shapes.
- 2DPDF417 (same as 30)
- Specifies a PDF417 two-dimensional stacked bar code. Two-dimensional stacked symbologies allow large amounts of information to be encoded by effectively stacking short one-dimensional symbols in a row/column arrangement. This arrangement reduces the amount of space that is typically used by conventional linear bar code symbols and allows for a large variety of rectangular bar code shapes.
- APOSTAL (same as 31)
- Specifies the bar code type as defined by the Australian Postal Service.
- 2DQRCODE (same as 32)
- Specifies a QR Code two-dimensional bar code. QR Code consists of a matrix of dark and light
squares (modules). The matrix is also square and 40 sizes exist that range from a matrix of 21 by 21
modules and increase by steps of 4 up to a matrix of 177 by 177 modules. Thus, up to 7089 numeric
characters, 4296 alphabetic characters, 2953 8-bit characters, or 1817 Kanji characters can be
contained on a single symbol, and up to 16 symbols can be logically linked together.
Since squares (modules) are square, the size of a module is determined by the MODWIDTH parameter only. The HEIGHT and RATIO parameters are not used.
- CODE93 (same as 33)
- Specifies a bar code type as defined by the AIM Uniform Symbology Specification - Code 93. This linear bar code is similar to Code 39, but more complex.
- US4STATE (same as 34 or US4ST)
- Specifies a United States Postal Service (USPS) Four-State bar code. This parameter can be
abbreviated as US4ST. This bar code is also known as the Intelligent Mail Bar
Code.
The USPS Four-State bar code symbol has a fixed size; therefore, the HEIGHT and RATIO parameters are not applicable and ignored. This bar code symbol allows a MODWIDTH parameter with two sizes SMALL and OPTIMAL. If you specify any other MODWIDTH, PPFA issues a warning message (RC=4), defaults to OPTIMAL, and continues generating the page definition. MODWIDTH SMALL prints a symbol approximately 2.575 inches wide and MODWIDTH OPTIMAL prints a symbol approximately 2.9 inches wide.
The input data is all numeric and consists of five data fields. The first four are fixed length; the fifth is variable length. The five fields are:
- Application ID (2 digits) - the second digit must be 0 - 4 so that the valid values are 00 - 04, 01 - 14, and so on, through 90 - 94.
- Special Services (3 digits) - assigned by the USPS. Valid values are 000 - 999.
- Customer Identifier (6 digits) - assigned by the USPS. Valid values are 000000 - 999999.
- Sequence Number (9 digits) - assigned by the mailer. Valid values are 000000000 - 999999999.
- Delivery Point ZIP Code (0, 5, 9, or 11 digits) - see the following MOD parameter for valid values.
USPS Four-State modifiers (MOD) are defined as follows:- X'00'
- Present a USPS Four-State bar code symbol with no Delivery Point ZIP Code. The input data for this bar code symbol must be 20 numeric digits.
- X'01'
- Present a USPS Four-State bar code symbol with a 5-digit Delivery Point ZIP Code. The input data for this bar code symbol must be 25 numeric digits. The valid values for the Delivery Point ZIP code are 00000 - 99999.
- X'02'
- Present a USPS Four-State bar code symbol with a 9-digit Delivery Point ZIP Code. The input data for this bar code symbol must be 29 numeric digits. The valid values for the Delivery Point ZIP code are 000000000 - 999999999.
- X'03'
- Present a USPS Four-State bar code symbol with an 11-digit Delivery Point ZIP Code. The input data for this bar code symbol must be 31 numeric digits. The valid values for the Delivery Point ZIP code are 00000000000 - 99999999999.
Note: You can print HRI with this symbol but it is not currently (Oct 2004) defined by the USPS. Therefore, PPFA defaults the HRI parameter to HRI OFF for this symbol. The USPS says that they plan to define HRI for some Special Services. "Track and Confirm" is an example of a Special Service that USPS does not currently define HRI but might in the future. - REDTAG (same as 35)
- Specifies a 4-state bar code type that is defined by the Royal Mail Postal Service of England as RED TAG.
- DATABAR (same as 36)
- Specifies a bar code type of GS1 DataBar.

Other BARCODE Parameters
|--+---------------------------+-------------------------------->
'-Common BARCODE Parameters-'
>--+------------------------------+----------------------------->
'-Common 2D BARCODE Parameters-'
>--+---------------------------------+--------------------------|
'-Concatenated BARCODE Parameters-'
- Common BARCODE Parameters

|--+--------+--+---------------------------------------+-------->
'-MOD--n-' '-HRI--+-ON----+--+-------------------+-'
+-ABOVE-+ '-HRIFONT--fontname-'
+-BELOW-+
+-OFF---+
'-ONLY--'
>--+---------------------+--+----------------------+------------>
'-SSASTERISK--+-ON--+-' '-WIDTH--n--+--------+-'
'-OFF-' +-IN-----+
+-MM-----+
+-CM-----+
+-POINTS-+
'-PELS---'
.-MODWIDTH--OPTIMAL-----.
>--+-----------------------+--+-----------------------+--------->
'-HEIGHT--n--+--------+-' '-MODWIDTH--+-n-------+-'
+-IN-----+ +-OPTIMAL-+
+-MM-----+ '-SMALL---'
+-CM-----+
+-POINTS-+
'-PELS---'
>--+------------------------------------------------------------+-->
+-BCCOLOR--colorname-----------------------------------------+
+-RGB--rvalue--gvalue--bvalue--------------------------------+
+-HIGHLIGHT--hvalue--+------------------+--+---------------+-+
| '-COVERATE--cvalue-' '-BLACK--bvalue-' |
+-CMYK--cvalue--mvalue--yvalue--kvalue-----------------------+
'-CIELAB--lvalue--(-)--cvluae--(-)--c2value------------------'
>--+------------+--+------------+------------------------------->
'-SUPPBLANKS-' '-RATIO-- n -'
>--+-------------------------------+----------------------------|
| .---------------------------. |
| V | |
'---CMR--cmr-lname--+-AUDIT-+-+-'
+-INSTR-+
'-LINK--'
- MOD

|--+--------+---------------------------------------------------|
'-MOD--n-'
Specifies more processing information about the bar code symbol to be generated (for example, MOD specifies whether a check-digit 1 must be generated for the bar code symbol).
- n
- The meaning of n differs between the types. For more information, see
Table 1. If MOD is not specified, the MOD value defaults as follows, depending on the bar code type specified:
TYPE MOD TYPE MOD 1 1 22 0 2 1 23 0 3 0 24 0 5 0 26 0 6 0 27 0 7 0 28 0 8 0 29 0 9 0 30 0 10 1 31 1 11 1 32 2 12 1 33 0 13 1 35 1 17 2 36 0
- HRI

|--+---------------------------------------+--------------------|
'-HRI--+-ON----+--+-------------------+-'
+-ABOVE-+ '-HRIFONT--fontname-'
+-BELOW-+
+-OFF---+
'-ONLY--'
Specifies the human-readable interpretation (text characters) to be generated and placed above or below the bar code symbol, as directed.
- ON
- Specifies that HRI must be generated at the default location for the bar code type.
- ABOVE
- Specifies that HRI must be placed above the bar code symbol.
- BELOW
- Specifies that HRI must be placed below the bar code symbol.
- OFF
- Specifies that HRI must not be generated.
- ONLY
- Specifies that only the HRI is to be printed. No bar code symbol is to be generated. The
POSITION parameters on the FIELD command specify the placement position for the first character of
the HRI. Note: Not all bar code printers accept the request to suppress printing the bar code symbol.
Notes:- If HRI is requested, and HRI font isn't, the printer default font is used to render the HRI, instead of the font specified on the FIELD FONT subcommand.
- HRI is not supported by any of the 2D bar codes.
- HRIFONT fontname
- Specifies the local name of a font that is used in printing the HRI for the bar code. This font must first be defined in a previous font command in the page definition.
- SSASTERISK

|--+---------------------+--------------------------------------|
'-SSASTERISK--+-ON--+-'
'-OFF-'
Specifies whether an asterisk is to be generated as the HRI for CODE39 bar code start and stop characters.
Note: SSASTERISK is ignored by all bar code types except CODE39.- ON
- Specifies that start and stop characters must be generated in the HRI.
- OFF
- Specifies that start and stop characters must not be generated in the HRI.
- WIDTH

|--+----------------------+-------------------------------------|
'-WIDTH--n--+--------+-'
+-IN-----+
+-MM-----+
+-CM-----+
+-POINTS-+
'-PELS---'
Specifies the width of the whole bar code symbol.
- n
- Specifies the width value of the whole bar code symbol. The n value can be up to three decimal places.
- HEIGHT

|--+-----------------------+------------------------------------|
'-HEIGHT--n--+--------+-'
+-IN-----+
+-MM-----+
+-CM-----+
+-POINTS-+
'-PELS---'
Specifies the height of bar code element. For UPC and EAN bar codes, the total height includes the bar code and the HRI characters.
If HEIGHT is not specified, the printer default height is used.Note: HEIGHT is ignored by bar code types that explicitly specify the element heights (for example, POSTNET or RM4SCC).- n
- Specifies the height of the bar code. The n value can be up to three decimal places.
- unit
- Specifies a unit of measurement for the HEIGHT parameter. The choices are IN, MM, CM, POINTS, or
PELS. Notes:
- If no unit is specified, the default is the most recent SETUNITS command value or IN (inch) if a SETUNITS command is not issued.
- Height for the 2D bar code. PDF417 specifies the height of a bar or row (not the total height of the symbol).
- MODWIDTH

.-MODWIDTH--OPTIMAL-----.
|--+-----------------------+------------------------------------|
'-MODWIDTH--+-n-------+-'
+-OPTIMAL-+
'-SMALL---'
Specifies the width of the smallest defined bar code element by using mils (thousandths of an inch). The range of values is 1 - 254. If MODWIDTH is not specified, the printer default MODWIDTH is used; the printer default yields the optimum scannable symbol.
- n
- Specifies the width of each module by using thousandths of an inch (1⁄1000) as the unit of measurement.
- OPTIMAL
- Specifies that the printer chooses the optimal module width. This value is recommended. It is the default value when MODWIDTH is not coded.
- SMALL
- Specifies that the PPFA chooses a module width that produces the smallest symbol that meets the
symbology tolerances. Note: Because this symbol is at the lower boundary of the symbology-defined tolerance range, external conditions, such as printer contrast setting, toner consistency, and paper absorbency, might cause this symbol to scan improperly.
Example:PAGEDEF 4SXM1 REPLACE YES; FONT FN1; PRINTLINE ; FIELD START 1 LENGTH 20 BARCODE BC1 TYPE US4ST; PRINTLINE ; FIELD START 01 LENGTH 20 BARCODE bc2 TYPE US4STATE MOD 0 MODWIDTH OPTIMAL; PRINTLINE ; FIELD START 41 LENGTH 25 BARCODE bc3 TYPE US4STATE MOD 1 MODWIDTH SMALL ; PRINTLINE ; FIELD START 66 LENGTH 29 BARCODE bc4 TYPE US4STATE MOD 2 MODWIDTH SMALL ; PRINTLINE ; FIELD START 66 LENGTH 31 BARCODE bc5 TYPE US4STATE MOD 3 MODWIDTH SMALL ; PRINTLINE ; FIELD START 66 LENGTH 31 BARCODE bc6 TYPE US4STATE MOD 3 MODWIDTH 15 ;In the example:- FIELD BARCODE commands exist for the new "Four State" bar code with default Modifier, and explicit Modifiers each with the proper field length.
- FIELD BARCODE commands exist that use the new MODWIDTH parameters SMALL and OPTIMAL.
- One example BARCODE command exists that uses an explicit MODWIDTH parameter that results in an informational message and a MODWIDTH of OPTIMAL.
- BCOLOR

|--+------------------------------------------------------------+--|
+-BCCOLOR--colorname-----------------------------------------+
+-RGB--rvalue--gvalue--bvalue--------------------------------+
+-HIGHLIGHT--hvalue--+------------------+--+---------------+-+
| '-COVERATE--cvalue-' '-BLACK--bvalue-' |
+-CMYK--cvalue--mvalue--yvalue--kvalue-----------------------+
'-CIELAB--lvalue--(-)--cvluae--(-)--c2value------------------'
Specifies an OCA color or a defined color to be used in printing the bar code and its HRI. Defined colors are specified with the DEFINE COLOR command.
- colorname
- Values for color names are:
- A defined color (defined by the DEFINE COLOR command)
- NONE
- DEFAULT
- BLACK
- BLUE
- BROWN
- GREEN
- PINK
- RED
- TURQ (turquoise)
- YELLOW
- ORANGE
- PURPLE
- MUSTARD
- GRAY
- DARKBLUE
- DARKGREEN
- DARKTURQ (dark turquoise)
The color choices depend on the printer. NONE is the color of the medium. DEFAULT is the printer default color.
- color model
- Specifies the color of print for this field that is supported in MODCA for the Red/Green/Blue color model (RGB), the highlight color space, the Cyan/Magenta/Yellow/Black color model (CMYK), and the CIELAB color model.
Example: In the following code example, four bar codes are defined that use color.- The first uses a predefined non-OCA color.
- The second uses an OCA color that is not predefined.
- The third uses a predefined OCA color.
- The fourth uses a CMYK color model directly.
/*--------------------------------------------------------*/ /* CMRX13 - Full Color on Bar Code */ /* */ /* */ /*--------------------------------------------------------*/ /* Traditional pagedef */ /*--------------------------------------------------------*/ Pagedef cmx14P replace yes; DEFINE ocablue COLOR OCA blue ; DEFINE cymkyel COLOR CMYK 50 30 30 30 ; FONT fte egt12 TYPE ebcdic; PAGEFORMAT pf1; PRINTLINE; FIELD START 50 LENGTH 8 RGB 30 25 25 BARCODE AUST1 TYPE APOSTAL MOD 2 BCCOLOR cymkyel /* PRE-DEFINED NON-OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO TYPE POSTNET BCCOLOR RED /* OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO1 TYPE POSTNET BCCOLOR ocablue /* Defined OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO2 TYPE POSTNET CMYK 50 30 30 30 /* direct cmyk color */ HEIGHT .5 IN; /*--------------------------------------------------------*/ /* Record Fmt pagedef */ /*--------------------------------------------------------*/ Pagedef cmx14L replace yes; DEFINE ocablue COLOR OCA blue ; Define rgbred COLOR RGB 30 25 25 ; DEFINE cymkyel COLOR CMYK 50 30 30 30 ; DEFINE HIgreen COLOR HIGHLIGHT 100 coverage 50; DEFINE cieblue COLOR cielab 40 90 95 ; FONT fte egt12 TYPE ebcdic; /* type ebcdic */ PAGEFORMAT pf1; LAYOUT 'l1'; FIELD START 50 LENGTH 8 RGB 30 25 25 BARCODE AUST1 TYPE APOSTAL MOD 2 BCCOLOR cymkyel /* PRE-DEFINED NON-OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 8 BARCODE AUST2 TYPE APOSTAL MOD 2 BCCOLOR RED /* NON PRE-DEFINED OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO TYPE POSTNET BCCOLOR OCABLUE /* PRE-DEFINED OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO2 TYPE POSTNET CMYK 50 30 30 30 /* direct cmyk color */ HEIGHT .5 IN; /*--------------------------------------------------------*/ /* XML pagedef */ /*--------------------------------------------------------*/ Pagedef cmx14X replace yes; DEFINE ocablue COLOR OCA blue ; Define rgbred COLOR RGB 30 25 25 ; DEFINE cymkyel COLOR CMYK 50 30 30 30 ; DEFINE HIgreen COLOR HIGHLIGHT 100 coverage 50; DEFINE cieblue COLOR cielab 40 90 95 ; DEFINE cn QTAG 'cust','name' ; FONT fte egt12 TYPE ebcdic; /* type ebcdic */ PAGEFORMAT pf1; XLAYOUT cn; FIELD START 50 LENGTH 8 RGB 30 25 25 BARCODE AUST1 TYPE APOSTAL MOD 2 BCCOLOR cymkyel /* PRE-DEFINED NON-OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 8 BARCODE AUST2 TYPE APOSTAL MOD 2 BCCOLOR RED /* NON PRE-DEFINED OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO TYPE POSTNET BCCOLOR OCABLUE /* PRE-DEFINED OCA COLOR */ HEIGHT .5 IN; FIELD START 5 LENGTH 5 BARCODE BCCO2 TYPE POSTNET CMYK 50 30 30 30 /* direct cmyk color */ HEIGHT .5 IN;- SUPPBLANKS

|--+------------+-----------------------------------------------|
'-SUPPBLANKS-'
Suppress the trailing blanks in the data field that is used to generate the bar code.
When the page definition selects any of the EAN, UPC or POSTNET bar code types and modifiers and also requests that trailing blanks be truncated for the bar code field, the print server examines the resulting data length and choose the correct bar code type and modifier for the bar code object created.Note: If the data length does not match any of the bar code type and modifier combinations, the print server uses the original bar code type and modifier that is requested to build the bar code object.- RATIO

|--+------------+-----------------------------------------------|
'-RATIO-- n -'
Specifies the ratio between the width of the wide and the narrow bar code elements. The range of values is 100 - 500, but you must specify a value appropriate for your printer and bar code type or you errors occur at print time.
If RATIO is not specified, the printer default ratio is used.- n
- The RATIO is specified as a percent value. For example, form nnn. For example, 200 represents a ratio of 2 to 1; 250 represents a ratio of 2.5 to 1. For most bar code symbols, the RATIO value is 200 - 300. For bar code types that explicitly specify the module width (for example, POSTNET and RM4SCC, this field is ignored. If RATIO is not specified, the default ratio for the bar code symbol is used.
- CMR

.-------------------------------.
V |
|----+---------------------------+-+----------------------------|
'-CMR--cmr-lname--+-AUDIT-+-'
+-INSTR-+
'-LINK--'
Specify a Color management resource (CMR) and its process mode for a bar code object within the page definition.
Note: See AFP Color Management for more information about using the CMR subcommand.- cmr-lname
- The CMR local name. This name must be defined with a DEFINE CMRNAME command. Note: This parameter must immediately follow the CMR keyword.
- processing mode parameter
- Specify the processing mode for the CMR.
- AUDIT
- Process this CMR as an audit CMR.
- INSTR
- Process this CMR as an instruction CMR.
- LINK
- Process this CMR as a link CMR. This processing mode is only valid for device link (DL) CMRs.
Example: In the following code example, 2 bar codes are defined with CMRs specified. The bar codes are defined for traditional, record format and XML page definitions.Note: The DEFINE CMRNAMEs for mycmr and dark1 are used in each page definition but defined only once. Page definitions that are compiled together can define a local CMR name only once. This requirement is because a DEFINE CMRNAME definition is global for all page definitions and form definitions in the same set of source code.DEFINE mycmr CMRNAME ... ; DEFINE dark1 CMRNAME ... ; /* Traditional Pagedef */ PAGEDEF cmr10P REPLACE yes; PRINTLINE; FIELD Start 1 Length 20 BARCODE TYPE code39 MOD 1 CMR myCMR audit; FIELD Start 21 Length 40 BARCODE TYPE code39 MOD 1 CMR dark1 instr; /* Record Layout Pagedef */ PAGEDEF cmr10L REPLACE yes; Font f1; LAYOUT 'l1'; FIELD Start 1 Length 20 BARCODE TYPE code39 MOD 1 CMR myCMR audit; FIELD Start 21 Length 40 BARCODE TYPE code39 MOD 1 CMR dark1 instr; /* XML Pagedef */ PAGEDEF cmr10X REPLACE yes; Font f1 TYPE ebcdic; XLAYOUT QTAG 'x1'; FIELD Start 1 Length 20 BARCODE TYPE code39 MOD 1 CMR myCMR audit; FIELD Start 21 Length 40 BARCODE TYPE code39 MOD 1 CMR dark1 instr;
- Common 2D BARCODE Parameters

.-ESC---. .-NOE2A----------------.
|--BCXPARMS--+-------+--+----------------------+---------------->
'-NOESC-' | .-CP500-------. |
'-E2A--+-CP290-------+-'
+-CP1027------+
+-CV1390To943-+
+-CV1399To943-+
+-CV1390To942-+
+-CV1399To942-+
+-CV1390To932-+
'-CV1399To932-'
>--+-------------------------------+----------------------------|
+-| Data Matrix 2D Parameters |-+
+-| MaxiCode 2D Parameters |----+
+-| PDF417 2D Parameters |------+
'-| QRCODE 2D Parameters |------'
Bar code parameters are common for all for two-dimensional bar code types.Note: See the Bar Code Object Content Architecture (BCOCA) Reference and More About Bar Code Parameters for more details on these extra parameters.- escape sequence processing
- Specifies whether to process escape sequences in the data. Note: If the EBCDIC to ASCII flag is set (E2A), all characters are converted ASCII first so that the EBCDIC backslash characters (X'E0') are converted to ASCII (X'5C') before the escape sequence handling is applied.
- ESC
- Escape Sequence Handling. This is the default if neither is coded. When this parameter is coded or defaulted, each backslash character within the bar code data is treated as an escape character according to the particular bar code symbology specification.
- NOESC
- Ignore Escape Sequences. When this parameter is coded, each backslash character within the bar
code data is treated as a normal data character. Note: In this case, no code page switching can occur within the data.
- EBCDIC to ASCII translation
- Determines whether to translate the data. Note: Only QRCODE uses the E2A code page parameters.
- E2A
- EBCDIC to ASCII translation for all two-dimensional bar codes.
- For Data Matrix and MaxiCode, the printer converts each byte of the data from EBCDIC code page 500 to ASCII code page 819.
- For PDF417, the printer converts each byte of the bar code data and each byte of the Macro
PDF417 control block data from a subset of EBCDIC code page 500 into ASCII. This translation covers
181 code points, which includes alphanumerics and many symbols. The code points that are not covered
by the translation do not occur in EBCDIC and are mapped, by the printer, to the X'7F' (127) code
point. Do not use the following EBCDIC code points for PDF417:
X'04' X'06' X'08' X'09' X'0A' X'14' X'15' X'17' X'1A' X'1B' X'20' X'21' X'22' X'23' X'24' X'28' X'29' X'2A' X'2B' X'2C' X'30' X'31' X'33' X'34' X'35' X'36' X'38' X'39' X'3A' X'3B' X'3E' X'46' X'62' X'64' X'65' X'66' X'6A' X'6B' X'6C' X'6D' X'6E' X'6F' X'70' X'72' X'73' X'74' X'75' X'76' X'77' X'78' X'80' X'8C' X'8D' X'8E' X'9D' X'9F' X'AC' X'AD' X'AE' X'AF' X'B4' X'B5' X'B6' X'B9' X'BC' X'BD' X'BE' X'BF' X'CA' X'CF' X'DA' X'EB' X'ED' X'EE' X'EF' X'FA' X'FB' X'FD' X'FE' X'FF' - QRCODE - The default coding for QRCODE is ECI 000020, which is equivalent to the IBM® ASCII code page 897. When translation is required, you must
enter the code page to use for translation. Three choices exist. Each choice causes the printer to
translate from the code page into ASCII code page 897 before the data is used to build the bar code
symbol:
- EBCDIC code page 500 (International #5). Only 128 bytes of this code page can be translated into ECI 000020. These code points are specified in QR Code Special-Function Parameters.
- EBCDIC code page 290 (Japanese Katakana Extended).
- EBCDIC code page 1027 (Japanese Latin Extended).
The first three values are used when the input data is encoded with a single-byte EBCDIC code page. The parameter identifies the EBCDIC code page that encodes single-byte EBCDIC bar code data:- CP500
- Code page 500 (International #5) Only 128 of the characters within ECI 000020 can be specified in code page 500. The code page 500 characters that can be translated are shown in the Bar Code Object Content Architecture Reference.
- CP290
- Code page 290 (Japanese Katakana Extended)
- CP1027
- Code page 1027 (Japanese Latin Extended)
The following parameters are used when the input data is SOSI. Each parameter identifies a specific conversion from EBCDIC SOSI input data to a specific mixed-byte ASCII encoding:- CV1390To943
- Translates EBCDIC data CCSID 1390 code points to ASCII Shift-JIS CCSID 943 code points.
- CV1399To943
- Translates EBCDIC data CCSID 1399 code points to ASCII Shift-JIS CCSID 943 code points.
- CV1390To932
- Translates EBCDIC data CCSID 1390 code points to ASCII Shift-JIS CCSID 932 code points.
- CV1399To932
- Translates EBCDIC data CCSID 1399 code points to ASCII Shift-JIS CCSID 932 code points.
- CV1390To942
- Translates EBCDIC data CCSID 1390 code points to ASCII Shift-JIS CCSID 942 code points.
- CV1399To942
- Translates EBCDIC data CCSID 1399 code points to ASCII Shift-JIS CCSID 942 code points.
Note: CCSID definitions:- CCSID 932
- Japanese PC Data Mixed including 1880 UDC.
- CCSID 942
- Japanese PC Data Mixed including 1880 UDC, Extended SBCS.
- CCSID 943
- Japanese PC Data Mixed for Open environment (Multi-vendor code): 6878 JIS X 0208-1990 chars, 386 IBM selected DBCS chars, 1880 UDC (X'F040' to X'F9FC')
- CCSID 1390
- Extended Japanese Katakana-Kanji Host Mixed for JIS X0213 including 6205 UDC, Extended SBCS (includes SBCS and DBCS euro)
- CCSID 1399
- Extended Japanese Latin-Kanji Host Mixed for JIS X0213 including 6205 UDC, Extended SBCS (includes SBCS and DBCS euro)
- NOE2A
- No translation. This is the default if neither is coded. This parameter is used for all two-dimensional bar codes. No translation is done by the printer or PPFA. The bar code data is assumed to be the default coding as defined in the AIM Uniform Symbology Specification.
- Data Matrix 2D parameters

.-unspecified--------------.
|--+--------------------------+--------------------------------->
'-SIZE--rows--+----+--cols-'
'-BY-'
>--+--------------------------------------------------+--------->
| .-ID--1--1---------. |
'-SEQUENCE--seq--+----+--tot--+------------------+-'
'-OF-' '-ID--uidHi--uidLo-'
.-USERDEF------.
>--+--------------+---------------------------------------------|
+-FNC1UCC------+
+-FN1IND-------+
+-RDRPROG------+
+-MAC5---------+
+-MAC6---------+
'-ENCODE--type-'
These parameters are for Data Matrix 2D bar codes:
- SIZE

.-unspecified--------------.
|--+--------------------------+---------------------------------|
'-SIZE--rows--+----+--cols-'
'-BY-'
The size of the two-dimensional bar code. The number of rows and columns (row size) in the symbol. The allowable values for rows and columns are specified in Table 1. If size is not coded, the size is marked as unspecified and the appropriate number of rows and columns are used based on the amount of data.
- unspecified
- Unspecified size. The SIZE parameter isn't coded. The appropriate number of rows and columns are used based on the amount of data that is presented.
- rows BY cols
- The number of rows that are wanted including the finder pattern, and the number of columns (or modules) in each row that are wanted including the finder pattern. The keyword BY is optional. The rows and columns must be one of the allowed combinations in Table 1.
- SEQUENCE

|--+--------------------------------------------------+---------|
| .-ID--1--1---------. |
'-SEQUENCE--seq--+----+--tot--+------------------+-'
'-OF-' '-ID--uidHi--uidLo-'
Structured append sequence indicator. Some two-dimensional bar codes can be logically linked together to encode large amounts of data. The logically linked symbols can be presented on the same or different media and are logically recombined after they are scanned. PPFA checks the numbers for obvious errors and the proper number range. For example, SEQUENCE 5 OF 3 is wrong.
- sqn
- Structured-append sequence indicator. This parameter is an integer whose acceptable range of values depends on the bar code type. The range for this parameter is 1 - 16.
- OF
- Optional parameter for readability.
- tot
- Total number of structured-append symbols. This parameter is an integer whose acceptable range of values depends on the bar code type. The range of this parameter is 2 - 16.
- ID uidHi uidLo
- The high and low-order bytes of a unique file identification for a set of structured-append symbols. Each is a unique number 1 - 254 and identifies this set of symbols. The actual File ID is computed by 256 times uidHi plus uidLo.
- data matrix special functions

.-USERDEF------.
|--+--------------+---------------------------------------------|
+-FNC1UCC------+
+-FN1IND-------+
+-RDRPROG------+
+-MAC5---------+
+-MAC6---------+
'-ENCODE--type-'
Special functions that can be used only with a Data Matrix symbol. If not coded, the default is USERDEF (user-defined symbol).
- FNC1UCC
- UCC/EAN FNC1 alternate data type identifier. An FNC1 is added in the first data position (or fifth position of a structured append symbol) to indicate that this bar code symbol conforms to the UCC/EAN application identifier standard format.
- FNC1IND
- Industry FNC1 alternate data type identifier. An FNC1 is added in the second data position (or sixth data position of a structured append symbol) to indicate that this bar code symbol conforms to a particular industry standard format.
- RDRPROG
- Used when the symbol contains a message that is used to program the bar code reader. In this case, the bar code symbol cannot be a part of a structured append sequence.
- MAC5
- This provides instructions to the bar code reader to insert an industry-specific header and trailer around the symbol data. The bar code symbol contains a 05 Macro codeword. The bar code symbol cannot be a part of a structured append sequence.
- MAC6
- Same as MAC5 except the bar code symbol contains a 06 Macro codeword. The bar code symbol cannot be a part of a structured append sequence.
- ENCODE
- Data Matrix bar code encodation scheme.
- type
- Specifies the Data Matrix bar code encodation scheme. These encodation schemes are supported:
- DEFAULT
- Uses a device-specific method of selecting and switching among encodation schemes. If you are unsure of which encodation scheme to use, device default is a good choice.
- ASCII
- Encodation scheme that produces 4 bits per data character for double digit numerics, 8 bits per data character for ASCII values 0 - 127, and 16 bits per data character for Extended ASCII values 128 - 255.
- C40
- Encodation scheme that is used when the input data is primarily uppercase alphanumeric.
- Text
- Encodation scheme that is used when the input data is primarily lowercase alphanumeric.
- X12
- Encodation scheme that is used when the input data is defined with the ANSI X12 EDI data set.
- EDIFACT
- Encodation scheme that is used when the input data is ASCII values 32 - 94.
- BASE256
- Encodation scheme that is used when the data is binary (for example image or non-text data).
- AUTO
- Starts with ASCII encodation and switches between encodation schemes as needed to produce the minimum symbol data characters.
- USERDEF
- None of the supported schemes. This is a user-defined data symbol with no Header or Trailer instructions to the reader.
- MaxiCode 2D Parameters

.-MODE 4--. .-NOZIPPER-.
|--+---------+--+----------------------------+--+----------+----|
'-MODE md-' '-SEQUENCE--seq--+----+--tot-' '-ZIPPER---'
'-OF-'
These parameters are for MaxiCode 2D bar codes:
- MODE

.-MODE 4--.
|--+---------+--------------------------------------------------|
'-MODE md-'
Symbol mode (used for MaxiCode two-dimensional bar code only). If not coded, the default is Standard Symbol Mode 4.
- 2
- Structured Carrier Message - numeric postal code.
- 3
- Structured Carrier Message - alphanumeric postal code.
- 4
- Standard symbol (default).
- 5
- Not supported.
- 6
- The bar code data is used to program the bar code reader system.
- SEQUENCE

|--+----------------------------+-------------------------------|
'-SEQUENCE--seq--+----+--tot-'
'-OF-'
Structured append sequence indicator. Some two-dimensional bar codes can be logically linked together to encode large amounts of data. The logically linked symbols can be presented on the same or different media and are logically recombined after they are scanned. PPFA checks the numbers for obvious errors and the proper number range. For example, SEQUENCE 5 OF 3 is wrong.
- sqn
- Structured-append sequence indicator. This parameter is an integer whose acceptable range of values depends on the bar code type. The range of this parameter is 1 - 8.
- OF
- Optional parameter for readability.
- tot
- Total number of structured-append symbols. This parameter is an integer whose acceptable range of values depends on the bar code type. The range for this parameter is 2 - 8.
- zipper pattern

.-NOZIPPER-.
|--+----------+-------------------------------------------------|
'-ZIPPER---'
Print a zipper pattern and contrast block (use for MaxiCode two-dimensional bar code only).
- NOZIPPER
- Does not print a zipper pattern.
- ZIPPER
- Prints a zipper pattern.
- PDF417 2D Parameters

.-SIZE--MIN--10------------------------------.
|--+--------------------------------------------+--------------->
'-SIZE--+-MIN---------+--+----+--cols (1-30)-'
'-rows (3-80)-' '-BY-'
.-SECLEV--0--.
>--+------------+--+----------------+---------------------------|
'-SECLEV--sl-' '-MACRO--qstring-'
These parameters are for PDF417 2D bar codes:
- SIZE

.-SIZE--MIN--10------------------------------.
|--+--------------------------------------------+---------------|
'-SIZE--+-MIN---------+--+----+--cols (1-30)-'
'-rows (3-80)-' '-BY-'
The size of the two-dimensional bar code. The number of rows and number of columns (number of data symbol characters per row). These numbers do not include the start patterns or left and right row indicators. The allowable values for rows are 3 - 90, the allowable values for cols are 1 - 30, but their product cannot exceed 928. If size is not coded, the default is MIN number of rows and 10 cols (characters per row).
- rows
- The number of rows that are wanted.
- MIN
- Instructs the printer to use the minimum number of rows necessary to print the symbol.
- cols
- The number of data symbol characters in a row that are wanted.
- SECLEV

.-SECLEV--0--.
|--+------------+-----------------------------------------------|
'-SECLEV--sl-'
This parameter specifies the security level that is wanted for the symbol as a value 0 - 8. Each higher security level causes more error correction codewords to be added to the symbol (used for PDF417 two-dimensional bar code only). If not coded, the default is Security level 0.
- MACRO

|--+--------------------+---------------------------------------|
| .---------. |
| V | |
'-MACRO----qstring-+-'
PDF417 Macro data. The total length of macro text is limited to 28,000 bytes.2
- qstring
- A quoted string. The string does not extend across records, but you can code multiple quoted strings. Code the MACRO keyword only once.
- QRCODE 2D Parameters

.-SIZE--MIN------.
|--+----------------+------------------------------------------->
'-SIZE--+------+-'
+-rows-+
'-MIN--'
>--+-----------------------------------------------+------------>
'-SEQUENCE--seq--+----+--tot--+---------------+-'
'-OF-' '-PARITY--X'dd'-'
.-ECLEV--L-----. .-USERDEF-----------.
>--+--------------+--+-------------------+----------------------|
'-ECLEV--+-M-+-' +-FNC1UCC-----------+
+-Q-+ '-FNC1IND--AI--'ai'-'
'-H-'
These parameters are for QRCODE 2D bar codes:
- SIZE

.-SIZE--MIN-----------.
|--+---------------------+--------------------------------------|
'-SIZE--+-----------+-'
'-MIN--rows-'
The size (in rows and columns) that is wanted for of the QRCODE bar code. This symbol is square so both rows and columns are the same. The allowable values for rows and columns are 21 - 177 in increments of 4. These are also specified in Table 1. The size in rows by cols is 21 - 177 in increments of 4.
- rows
- The number of rows and columns that is wanted.
- MIN
- Instructs the printer to use the minimum number of rows necessary to print the symbol.
- SEQUENCE

|--+-----------------------------------------------+------------|
'-SEQUENCE--seq--+----+--tot--+---------------+-'
'-OF-' '-PARITY--X'dd'-'
QR bar codes can be logically linked together to encode large amounts of data. The logically linked symbols can be presented on the same or different media and are logically recombined after they are scanned. PPFA checks the numbers for obvious errors and the proper number range. For example, SEQUENCE 5 OF 3 is wrong.
- seq
- Structured-append sequence indicator. This parameter is an integer whose acceptable range of values is 1 - 16.
- OF
- Optional parameter for readability.
- tot
- Total number of structured-append sequences indicator. This parameter is an integer whose acceptable range of values is 2 - 16.
- PARITY X'dd'
- Structured append parity data. This parameter is used for the QR Code 2D bar code only when it
has linked structured-append symbols. The parameter specifies the parity byte for the entire
collection of linked structured-append symbols. The parity byte is the same for each symbol in the
collection and is obtained by doing an "exclusive or" function on all of the bytes of the ASCII
data in all symbols of the collection. If this symbol is not structured-append symbol, the parity
parameter is ignored.
- X'dd'
- The parity data byte. It must be entered as two hexadecimal digits (X'0' - X'F'). As for all hexadecimal digits in PPFA, the digits must be uppercase if they are X'A' - X'F'.
- ECLEV

.-ECLEV--L-----.
|--+--------------+---------------------------------------------|
'-ECLEV--+-M-+-'
+-Q-+
'-H-'
Error Correction Level. It specifies the level of error correction to be used for the symbol. Each higher level of error correction causes more error correction code words to be added to the symbol; therefore, fewer code words are left for the data. See the particular bar code symbology specification for more information. Four different levels of Reed-Solomon error correction can be selected:
- L
- Level L allows recovery of 7% of symbol code words.
- M
- Level M allows recovery of 15% of symbol code words.
- Q
- Level Q allows recovery of 25% of symbol code words.
- H
- Level H allows recovery of 30% of symbol code words.
- special functions

.-USERDEF-----------.
|--+-------------------+----------------------------------------|
+-FNC1UCC-----------+
'-FNC1IND--AI--'ai'-'
Special functions that can be used with QR Code 2D symbols. If not coded, the default is USERDEF (user-defined symbol).
- FNC1UCC
- UCC/EAN FNC1 alternate data type identifier. The symbol indicates that this QR Code symbol conforms to the UCC/EAN application identifiers standard.
- FNC1IND
- Industry FNC1 alternate data type identifier. The symbol indicates that this QR Code symbol
conforms to the specific industry or application specifications previously agreed with AIM
International. When this standard is selected, an application indicator must be specified.
- AI 'ai'
- Application indicator for Industry FNC1. This value is coded as a single uppercase or lowercase alphabetic character, or a 2-digit number. It must be enclosed in single quotation marks. This parameter is required for QR Code bar codes when FNC1IND is coded.
- USERDEF
- None of the special functions. This value is a user-defined symbol with either no significance or "user-defined" significance that is assigned to all FNC1 characters that appear in the symbol.
QRCODE Barcode Example:PAGEDEF QNXmp Replace Yes; PRINTLINE; FIELD START 1 LENGTH 4400 BARCODE bc3p TYPE 2DQRCODE BCXPARMS E2A CP500 noesc SIZE 025 ECLEV M SEQUENCE 1 of 7 PARITY x'7A' FNC1IND AI 'a' ;In the example:- A QRCODE 2D bar code is placed. The data is encoded in EBCDIC with code page 500. The bar code is 25 by 25 squares and the error correction level is M, which allows recovery of 15% of symbol code words.
- This is the first of seven symbols that are to be linked together by the bar code reader application program. The parity-data value for all symbols is a hexadecimal X'7A'. Parity must be the same for all the linked symbols and is obtained by doing an "exclusive or" function on all of the bytes of the ASCII value of all the original input data.
- The QRCODE symbol conforms to industry specifications for application indicator a.
- Concatenated BARCODE Parameters

|--BCDSYMB--+-symname------+------------------------------------|
+-BCDSEQ--seq#-+
'-BCDNEW-------'
- BCDSYMB symname
- Specifies bar code data collection symbol and names a bar code data collection. All bar code
data that is described with FIELD command and bar codes with this name is collected for printing the
bar code.
Defines an alpha-numeric name up to 16 characters long. This name must be unique within a page format.
- BCDSEQ seq#
- Specifies bar code data sequence number. Allows for sequencing bar code data. Bar code data that
is collected with unique sequence numbers is collected in ascending order of its sequence number.
Data with the same sequence number is collected in the order its FIELD commands are processed.
Note: BCDSEQ is optional but if it coded, all bar codes with the same BCDSYMB symbol name must code BCDSEQ.
- BCDNEW
- Specifies to start a new bar code symbol for collected bar code data when this record is reused.
If BCDSEQ is used to sequence the collection data, BCDNEW is placed on the FIELD command for the
first record that is encountered in the data. This record might not be the first sequentially. In
general, BCDNEW is placed on the record for the first piece of data that is encountered in the bar
code data collection. If BCDSYMB is not specified, BCDNEW is ignored. Note: This parameter has no effect on a PRINTLINE FIELD BARCODE command as the BCDNEW function does not apply to traditional line data.