Data Matrix Special-Function Parameters

Offset Type Name Range Meaning BCD1 Range
5 BITS     Control flags  
bit 0 EBCDIC  
B'0'
B'1'
EBCDIC-to-ASCII translation:
  • Do not translate
  • Convert data from EBCDIC to ASCII
Not supported in BCD1
bit 1 Escape sequence handling  
B'0'
B'1'
Escape-sequence handling:
  • Process escape sequences
  • Ignore all escape sequences
Not supported in BCD1
bits 2 - 7   B'000000' Reserved  
6 - 7 UBIN Desired row size X'0000'
X'0001' - X'FFFE'
No size is specified.
Matrix row size as allowed by symbology; see field description.
Not supported in BCD1
8 - 9 UBIN Desired number of rows X'0000'
X'0001' - X'FFFE'
No size is specified.
Number of rows as allowed by symbology; see field description.
Not supported in BCD1
10 UBIN Sequence indicator X'00' - X'10' Structured append sequence indicator Not supported in BCD1
11 UBIN Total symbols X'00' or
X'02' - X'10'
Total number of structured-append symbols Not supported in BCD1
12 UBIN File ID 1st byte X'01' - X'FE' High-order byte of a 2-byte unique file identification for a set of structured-append symbols Not supported in BCD1
13 UBIN File ID 2nd byte X'01' - X'FE' Low-order byte of a 2-byte unique file identification for a set of structured-append symbols Not supported in BCD1
14 BITS     Special-function flags  
bit 0 UCC/EAN FNC1  
B'0'
B'1'
Alternate data type identifier:
  • User-defined symbol
  • Symbol conforms to UCC/EAN standards
Not supported in BCD1
bit 1 Industry FNC1  
B'0'
B'1'
Alternate data type identifier:
  • User-defined symbol
  • Symbol conforms to industry standards
Not supported in BCD1
bit 2 Reader programming  
B'0'
B'1'
Reader programming symbol:
  • Symbol encodes a data symbol.
  • Symbol encodes a message that is used to program the reader system.
Not supported in BCD1
bit 3 - 4 Hdr/Trl Macro
  • B'00'
  • B'01'
  • B'10'
  • B'11'
Header and trailer instructions to the bar code reader:
  • No header or trailer
  • Use the 05 Macro header/trailer
  • Use the 06 Macro header/trailer
  • No header or trailer
Not supported in BCD1
bit 5 - 7   B'000' Reserved  
A desired symbol size can be specified in bytes 6 - 9, but the actual size of the symbol depends on the amount of data to be encoded. If not enough data is supplied, the symbol is padded with null data to reach the requested symbol size. If too much data is supplied for the requested symbol size, the symbol is bigger than requested, but the aspect ratio is maintained as closely as possible.
Byte 5
Control flags.
These flags control how the bar code data (bytes n+1 to end) is processed by the BCOCA receiver.
Bit 0
EBCDIC-to-ASCII translation.

If this flag is B'0', the data is assumed to begin in the default character encodation and no translation is done.

If this flag is B'1', the BCOCA receiver converts each byte of the bar code data from EBCDIC code page 500 into ASCII code page 819 before this data is used to build the bar code symbol.

Bit 1
Escape-sequence handling.

If this flag is B'0', each X'5C' (backslash) within the bar code data is treated as an escape character according to the Data Matrix symbology specification.

If this flag is B'1', each X'5C' within the bar code data is treated as a normal data character and therefore all escape sequences are ignored. In this case, no ECI code page switching can occur within the data.
Note: If the EBCDIC-to-ASCII translation flag is also set to B'1', all EBCDIC backslash characters (X'E0') are first converted into X'5C' before the escape-sequence handling flag is applied.
Bits 2 - 7
Reserved.
Bytes 6 - 7
Desired row size.

For a Data Matrix symbol, this parameter specifies the desired number of modules in each row, including the finder pattern. An even number of modules per row and an even number of rows must exist. Square symbols exist with sizes from 10x10 to 144x144, and rectangular symbols exist with sizes from 8x18 to 16x48 not including quiet zones. The following table lists the complete set of supported sizes. Exception condition EC-0F00 exists EC-0F00 if an unsupported size value is specified.

If X'0000' is specified for this parameter, an appropriate row size is used based on the amount of symbol data.

Table 1. Supported Sizes for a Data Matrix symbol
Square Symbols Rectangular Symbols
Symbol Size Data Region Symbol Size Data Region
Number of rows Row size Size Number Number of rows Row size Size Number
10 10 8x8 1 8 18 6x6 1
12 12 10x10 1 8 32 6x14 2
14 14 12x12 1 12 26 10x24 1
16 16 14x14 1 12 36 10x16 2
18 18 16x16 1 16 36 14x16 2
20 20 18x18 1 16 48 14x22 2
22 22 20x20 1        
24 24 22x22 1        
26 26 24x24 1        
32 32 14x14 4        
36 36 16x16 4        
40 40 18x18 4        
44 44 20x20 4        
48 48 22x22 4        
52 52 24x24 4        
64 64 14x14 16        
72 72 16x16 16        
80 80 18x18 16        
88 88 20x20 16        
96 96 22x22 16        
104 104 24x24 16        
120 120 18x18 36        
132 132 20x20 36        
144 144 24x24 36        
Bytes 8 - 9
Desired number of rows.

For a Data Matrix symbol, this parameter specifies the desired number of rows, including the finder pattern. Exception condition EC-0F00 exists if an unsupported size value is specified.

If X'0000' is specified for this parameter, an appropriate number of rows are used based on the amount of symbol data.

Byte 10
Structured append sequence indicator.

Multiple data matrix bar code symbols (called structured appends) can be logically linked together to encode large amounts of data. The logically linked symbols can be presented on the same or on different physical media, and are logically recombined after they are scanned. 2 - 16 Data Matrix symbols can be linked. This parameter specifies where this symbol is logically linked (1 - 16) in a sequence of symbols.

If X'00' is specified for this parameter, this symbol is not part of a structured append. Exception condition EC-0F01 exists if an invalid sequence indicator value is specified. Exception condition EC-0F02 exists if the sequence indicator is larger than the total number of symbols (byte 11).

If this field is not X'00', the reader programming flag must be B'0' and the hdr/trl macro flags must be either B'00' or B'11'. Exception condition EC-0F0A exists if an incompatible combination of these parameters is specified.

Byte 11
Total symbols in a structured append.

This parameter specifies the total number of symbols (2 - 16) that is logically linked in a sequence of symbols.

If X'00' is specified for this parameter, this symbol is not part of a structured append. If this symbol is not part of a structured append, both bytes 10 and 11 must be 00 or exception condition EC-0F03 exists.

Exception condition EC-0F04 exists if an invalid number of symbols is specified.

Byte 12
High-order byte of structured append file identification.

This parameter specifies the high-order byte of a 2-byte unique file identification for a set of structured-append symbols, which helps ensure that the symbols from two different structured appends are not linked together. The low-order byte of the 2-byte field is specified in byte 13. Each of the 2 bytes can contain a value in the range X'01' - X'FE'.

This parameter is ignored if this symbol is not part of a structured append.

If this symbol is part of a structured append, but byte 12 contains an invalid value (X'00' or X'FF'), exception condition EC-0F0B exists.

Byte 13
Low-order byte of structured append file identification.

This parameter specifies the low-order byte of a 2-byte unique file identification for a set of structured-append symbols. The high-order byte of the 2-byte field is specified in byte 12. Each of the 2 bytes can contain a value in the range X'01' - X'FE'.

This parameter is ignored if this symbol is not part of a structured append.

If this symbol is part of a structured append, but byte 13 contains an invalid value (X'00' or X'FF'), exception condition EC-0F0B exists.

Byte 14
Special-function flags.
These flags specify special functions that can be used with a Data Matrix symbol.
Bit 0
UCC/EAN FNC1 alternate data type identifier.

If this flag is B'1', an FNC1 is added in the first data position (or fifth position of a structured append symbol) to indicate that this symbol conforms to the UCC/EAN application identifier standard format. In this case, the industry FNC1 flag must be B'0', the reader programming flag must be B'0', and the hdr/trl macro must be B'00' or B'11'. Exception condition EC-0F0A exists if an incompatible combination of these parameters is specified.

Bit 1
Industry FNC1 alternate data type identifier.

If this flag is B'1', an FNC1 is added in the second data position (or sixth position of a structured append symbol) to indicate that this symbol conforms to a particular industry standard format. In this case, the UCC/EAN FNC1 flag must be B'0', the reader programming flag must be B'0', and the hdr/trl macro must be B'00' or B'11'. Exception condition EC-0F0A exists if an incompatible combination of these parameters is specified.

Bit 2
Reader programming.

If this flag is B'1', this symbol encodes a message that is used to program the reader system. In this case, the structured append sequence indicator must be X'00', the UCC/EAN FNC1 and industry FNC1 flags must both be B'0', and the hdr/trl macro flags must be either B'00' or B'11'. Exception condition EC-0F0A exists if an incompatible combination of these parameters is specified.

Bits 3 - 4
Header and trailer instructions to the bar code reader.

This field provides a means of instructing the bar code reader to insert an industry-specific header and trailer around the symbol data.

If this field is B'00' or B'11', no header or trailer is inserted. If this field is B'01', the bar code symbol contains a 05 Macro codeword. If this field is B'10', the bar code symbol contains a 06 Macro codeword.

If these flags are B'01' or B'10', the structured append sequence indicator must be X'00', the UCC/EAN FNC1 and industry FNC1 flags must both be B'0', and the reader programming flag must be B'0'. Exception condition EC-0F0A exists if an incompatible combination of these parameters is specified.

Bits 5 - 7
Reserved.