Setting the display characteristics
Display attributes are the second component of the output data. For named fields, BMS generates subfields which can be used to override the map assigned value in your program.
In A BMS output example, we show how 3270 field attributes for a map field are defined with the ATTRB option, and how BMS generates the “A” subfield to let you override the map value by program if you name the field. (See 3270 field attributes for information about attributes).
BMS always provides the A subfield, because all 3270 devices support field attributes. Many 3270s also have some of the extended attributes shown in Table 1. BMS supports each of these attributes individually in much the same way that it does field attributes collectively. You can assign attribute values in your DFHMDF field definitions, and, if you name the field, BMS generates a subfield in the symbolic map, so that you can override the map-assigned value in your program. There is a separate subfield for each type of extended attribute.
You can request subfields for the extended attributes by specifying the required attribute in the DSATTS option of DFHMDI or DFHMSD. You must also include the list of extended attributes in the MAPATTS option (even if these attribute types do not appear in any DFHMDF macro).
| Attribute type | MAPATTS, DSATTS value | Subfield suffix |
|---|---|---|
| Field attributes | None (default) | A |
| Color | COLOR | C |
| Highlighting | HILIGHT | H |
| Outlining | OUTLINE | U |
| Background transparency | TRANSP | T |
| Validation | VALIDN | V |
| Double-byte character capability | SOSI | M |
| Programmed symbols | PS | P |
The types of attributes that apply depend on the features of your principal facility at the time of execution. If you specify a value for an attribute that the terminal does not possess, BMS ignores it. If you are supporting different terminal types, however, you may need to use different techniques to get the same visual clarity. You can find out what kind of terminal you are using with the ASSIGN and INQUIRE commands, explained in Finding out about your terminal. There are also provisions in BMS for keeping your program independent of the terminal type; see Device-dependent maps.