Data Definition Language (DDL) Reference Manual

Definition Attributes
Data Definition Language (DDL) Reference Manual529431-004
6-56
Specifying TYPE data-type
When the definition of a group structure implies bit fillers, the DDL compiler generates
the bit fillers implicitly, in the same way that the DDL compiler generates implicit byte
fillers.
The SPI-NULL value for a bit field is 255 by default. Because all bit fields and bit fillers
have the same SPI-NULL value, all bits are turned on in a byte containing bit items.
Bit fields that share the same byte must have the same product version number in a
token map. The product version number applies to the entire byte. If a bit field extends
across 2 bytes within a word, the product version number of that field applies to the
entire word.
You specify product version numbers in the TOKEN-MAP statement
For information about product version numbers for bit fillers and more examples of
specifying product versions, see the TOKEN-MAP on page 7-13.
Level-88 clauses following a bit map item are rejected by the DDL compiler, because
level-88 clauses are meaningful only in COBOL, which does not support bit maps.
The DDL compiler does not generate language output for an ENUM clause specified
with type BIT, because the DDL compiler emits the output for the enumeration when
the clause is defined as type ENUM.
An OCCURS clause cannot apply to a bit map, because no compatible structure is
available in the languages supported by DDL that have bit fields. C does not support
arrays of bit fields. Pascal allocates one word for each signed bit field in an array and
packs unsigned bit fields in an array. TAL supports only arrays of bit fields that are 1, 2,
4, or 8 bits long, packed inside an array.
A REDEFINES clause cannot apply directly to a bit map, because you cannot have an
equivalent bit map item in TAL or a union of bit map items in C. A substructure
containing bit maps can redefine another data item as long as such a REDEFINES
clause follows DDL rules.
Bit fields in a record cannot be used as keys.
Example 6-46. Specifying Product Version Numbers
DEF bit-ddl-ex-a.
02 bits-8 Type BIT 8.
02 bits-3 Type BIT 3.
02 bits-2 Type BIT 2.
02 bits-10 Type BIT 10.
02 bits-1 Type BIT 1.
END.
TOKEN-MAP bit-map-ex-a VALUE 1 DEF bit-ddl-ex-a.
VERSION "D20" FOR bits-8.
VERSION "D30" FOR bits-3 THRU bits-2.
VERSION "D40" FOR bits-10 THRU bits-1.
END.