Attribute Byte
In the context of IBM 3270 terminal emulation, an **attribute byte** is a special control character that precedes a field of display data, defining its presentation and behavior on the screen. It dictates characteristics such as color, highlighting, intensity, and whether the field is protected from user input or can be modified.
Key Characteristics
-
- Positioning: An attribute byte occupies a single screen position and immediately precedes the first character of the data field it controls. It is not displayed itself but affects the subsequent characters.
- Control Bits: It contains a set of bits that encode various display and input properties, including extended highlighting (blink, reverse video, underscore), color, field intensity (normal, bright, dark/non-display), and field protection (unprotected, protected, numeric-only, skip).
- Field Definition: An attribute byte marks the beginning of a new field on the 3270 screen. A field continues until another attribute byte is encountered or the end of the screen buffer is reached.
- Input Control: It determines whether a user can type into a field (
unprotected) or if it's read-only (protected). It can also enforce input rules likenumeric-onlyorautoskipto the next unprotected field. - Extended Attributes: Modern 3270 terminals and emulators support extended attributes, which provide a richer set of display options (e.g., more colors, different highlighting types) often managed separately from the base attribute byte, but conceptually related.
Use Cases
-
- Displaying Labels and Prompts: Protecting static text like field labels (e.g., "Customer Name:") from user modification, often displayed in a standard color and intensity.
- User Input Fields: Defining areas where users can enter data, such as a transaction code or an amount, typically as
unprotectedfields, sometimes withnumeric-onlyoruppercaseconversion attributes. - Highlighting Critical Information: Using attributes like
bright,reverse video, orredcolor to draw attention to error messages, warnings, or important data fields. - Non-Display Fields: Creating fields that are
darkornon-displayto store sensitive information (like passwords) as it's typed, preventing it from being visible on the screen. - Screen Navigation: Utilizing
autoskipattributes to automatically advance the cursor to the next unprotected field after a user fills a short field, improving data entry efficiency.
Related Concepts
The attribute byte is fundamental to the 3270 Data Stream, which is the protocol used by z/OS applications to communicate with 3270 terminals. It is extensively used by CICS Basic Mapping Support (BMS), where symbolic maps define screen layouts, including the attributes for each field. Similarly, TSO/E ISPF panels rely heavily on attribute bytes to control the appearance and behavior of fields, menus, and data entry areas. Understanding attribute bytes is crucial for effective screen design and user interaction in character-based mainframe applications.
- Consistency: Use attribute bytes consistently across screens and applications to maintain a predictable and user-friendly interface. For example, always use bright red for error messages.
- Accessibility: Be mindful of color choices and avoid relying solely on color to convey meaning, as some users may have color blindness. Use combinations of intensity, highlighting, and position.
- Performance: While extended attributes offer more options, overuse can slightly increase data stream size. For simple displays, stick to basic attributes where sufficient.
- BMS Symbolic Maps: For CICS applications, always define attribute bytes within BMS symbolic maps rather than hardcoding them. This improves maintainability, reusability, and separation of presentation logic.
- Security: Use
protectedandnon-displayattributes appropriately for sensitive data entry fields (e.g.,