BMS provides an alternate format for the symbolic map,
called block data format, that can be useful in specific circumstances.
In block data format, the symbolic output map is an image of the screen
or page going to the terminal.
The symbolic output map has the customary field attributes (A)
and output value (O) subfields for each named map field, but the subfields
for each map field are separated by filler fields such that their
displacement in the symbolic map structure corresponds to their position
on the screen. There are no length subfields, and symbolic cursor
positioning is unavailable as a consequence.
For example, the symbolic map for the “quick check” screen in Figure 2 would look like this in
block data format (assuming a map 80 columns wide). Compare this with
the normal “field data”. format (in Figure 3) from the same map definition.
You can set only the field attributes in the program; BMS ignores
the DSATTS option in the map and does not generate subfields for the
extended attributes in block data format. You can use block data for input
as well. The input map is identical in structure to the output map,
except that the flag (F) replaces the field attributes (A) subfield,
and the input (I) replaces the output (O) subfield, as in field format.
Block data format can be useful if the application program has
built or has access to a printer page image which it needs to display
on a screen. For most situations, however, the normal field data format
provides greater function and flexibility.