Screen Design Aid
| Company type | Software tool |
|---|---|
| Industry | Computer software |
| Products | Screen design and menu development for IBM System/34 and System/36 |
Screen Design Aid (SDA) serves as a tool for IBM System/34 and System/36 midrange computer systems, facilitating the development of menus, display layouts, or WSU skeleton code by programmers. While SDA is also available on the System/38 and IBM i platforms, its command structure and capabilities differ significantly.
Applications on S/34 and S/36 heavily depend on operator interaction, frequently utilizing display terminals for data entry. SDA accommodates both formatted and unformatted user input within these setups.
Display layouts are specified through column-sensitive definitions that establish fixed-length fields with designated attributes, resembling the approach used in RPG II.
On the System/36, SDA incorporates an H specification dedicated to "Help" key screens, which can invoke one or multiple displays or launch DisplayWrite/36 documents at specified bookmarks. If programmed properly, pressing the Help key returns control to the application; otherwise, it results in a keyboard error.
Each display layout contains a single S specification that defines the overall format size, permitted keys, lines cleared upon display, special features such as the Alarm tone (the sole sound programmable on S/3X terminals), and the format name referenced by High-Level Language (HLL) programs.
Multiple D ("Detail") specifications within a layout describe individual fields as constants, input-only, output-only, or input-output. Fields may be designated as Nondisplay or Protected for particular purposes. D specs specify starting line and column positions, attribute settings or color codes, and constant values when relevant. For constants longer than 24 characters, continuation D specs labeled "X" are used. To enable 27x132 character displays, hexadecimal codes indicate column locations.
Display layouts are tightly coupled with RPG II and require language-specific extensions for other HLLs. The 99 RPG indicators correspond directly with screen indicators; therefore, precise management of these indicators is critical to prevent cursor misplacement during display operations.
Targeting hardware considerations
During the IBM System/34 timeframe, typical display devices included the monochrome 12-inch IBM 5251 monitor; in the System/36 era, common choices were the 12-inch IBM 5291 or the color 14-inch IBM 3486 monitors. Subsequently, third-party manufacturers such as IIS, Decision Data, and Emerald introduced monitors offering cost savings, support for multiple sessions, programmable color schemes, larger screen sizes, and direct PC printer port connectivity—allowing inexpensive inkjet printers to be used without adapters. It should be noted that fields designated as "blue" or "red" may not render those colors consistently across all hardware.
All S/34 and S/36 terminals operate using the 5250 protocol; S/34 supports displays of either 960 or 1920 characters, while S/36 typically supports 1920-character displays and occasionally up to 3564 characters.
Developers should create two versions of display formats if users might utilize the IBM 5252 Dual Display system, which requires 960-character layouts. Furthermore, applications designed solely for color displays may not function optimally on monochrome devices.
Comparison with Microsoft Access
SDA constructs display layouts comparable to forms in Microsoft Access. Parallels include:
- Input, Output, and I/O fields functioning similarly to text boxes.
- Constant fields analogous to labels.
- Field attributes such as nondisplay status, highlighting, underlining, blinking effects, and column separators corresponding to object property settings that can be dynamically controlled via indicators.
Distinct differences from Access forms include:
- SDA fields are inherently unbound.
- There is no record source in SDA; however, fields can contain Message Identifier Codes (e.g., Mx9999) to access particular message components.
- Display layouts and their field properties cannot be modified during runtime.