IBM System/34 and System/36 Screen Design Aid
This article refers to the S/34 and S/36 implementations of SDA. S/38 and AS/400 use a different SDA with different syntax and characteristics. See the AS/400 article for more about these midrange computers.
SDA stands for Screen Design Aid. Programmers can use SDA to create menus, display formats, or WSU skeleton programs.
IBM midrange computers utilize display stations to present information and to accept information and control from computer operators. A display station is an input/output device consisting of a monitor and a keyboard.
S/34 and S/36 applications usually involve the operator to a critical degree, whether accepting the bulk of input through display stations or controlling them. Computer programs may utilize unformatted or formatted input, and this is where SDA applies.
The Need For Display Formats
An important challenge for harnessing the power of a midrange computer is interacting with an online user and providing ease of use. So what if your customer file has a million records... can your computer operator find the right one quickly? Concepts such as ISAM (Indexed Sequential Access Method) have been around since the early days of computing. Using a display format, with colors, blinking fields, command keys, and scrolling functions, an operator can quickly adjust to advanced programs and become more effective.
From any menu, type SDA and press Enter.
Using SDA To Design A Menu
Option 1 from SDA is to design a menu. Two different displays are used. On the first display, build the menu by typing the displayed menu text. The System/34 convention describes fixed-format and free-format menus. In a fixed-format menu, describe each menu item in 30 characters or less. In a free-format menu, lay out your menu exactly as you want it to appear. Press Cmd9 when you are done.
On the second display, type the commands, procedures, or OCL associated with each menu item you are using. Many S/3X programmers use option 24 for sign-off, but this is not required. Press Cmd9 when you are done.
When you have completed these displays, strSDA is ready to build your menu for you. Select your print and compile options and press Enter.
Creating Display Formats or Menus From Code
Like RPG II, display formats are built from column-sensitive specifications which describe fields of fixed sizes with fixed or conditioned properties.
The System/36 version of SDA gained the H specification, which describes the displays used when the operator presses the "Help" key. The "Help" key can summon one display, a series of displays, or open an online document created by DisplayWrite/36 and position it to a certain page using a "bookmark." If "Help" is program-coded, program control resumes when "Help" is pressed; in this instance, the program determines what action to take. If "Help" was not coded at all, a keyboard error occurs, stating that the Help key is not allowed now.
All display formats have exactly one coded S specification, which describes the size of the format, the keys which may be used, the lines to be cleared, special functions such as sounding the Alarm (the "raspberry" sound is the only sound a S/3X terminal can be programmed to make), and most importantly the name of the format which must be referenced by the HLL (High-Level Language) program.
Display formats may have one, many, or no D ("Detail") specifications to describe the field(s) used in the display. These fields may be constants, input, output, or input-output. Properties such as Nondisplay and Protected may seem to defeat the purpose of having the field, but there are non-intuitive uses for these fields. D specifications must state the starting line and column number used by the field; whether attributes or color are used; and, if a constant is declared, the value can also be declared. An "X" is used for continuation D specification(s) when a constant is larger than 24 characters. In order to accommodate displays created with the larger 27x132 capabilities, an odd system of hexadecimal entries is allowed for the column position.
Display formats are so attuned to the RPG II language as to require language extensions when used with other HLLs. The 99 numbered RPG indicators perfectly match the screen indicators; however, take caution when coding display formats that you reserve indicator usage to match the current conditioning of the indicator when the display is written - otherwise, a dummy indicator used for Half-Adjust may end up positioning the cursor incorrectly.
Accessing SDA Displays From S/3X Programs
In RPG II, use the WORKSTN device and code the format member name in the F-specification .
In COBOL, use the CONSOLE device. Use the DISPLAY verb to access the format name.
In BASIC, OPEN a filespec and describe it as "WS,NAME=" followed by the name of the format load member. WRITE the filespec with the format name.
In OCL, use the PROMPT statement, with the MEMBER defined as the format load member and FORMAT defined as the format name.
Coding For The Audience
When the IBM System/34 was sold, a common monitor would be a monochrome 12-inch IBM 5251; in the System/36 heyday, a common monitor would be the 12-inch IBM 5291 or the color 14-inch IBM 3486. Later in the S/36 life, third parties began to rise in popularity with such names as IIS, Decision Data, and Emerald. Not only do the third-party monitors cost much less, they offer multiple session capability, programmable color palettes, larger display areas, and a direct PC printer port which allows S/36 users to access inexpensive inkjet printers without a separate adapter. This is one reason why programming the S/36 has become more interesting over the years - the "blue" or "red" field one codes may not appear blue or red on all audience equipment.
All S/34 and S/36 display stations use 5250 protocol; S/34 allows either 960-character displays or 1920-character displays; S/36 allows either 1920-character displays or (rare) 3564-character displays.
Code two different display formats if it is possible that your audience might use the IBM 5252 Dual Display, which requires 960-character displays. Consider whether your audience will be using color or monochrome displays - an application developed for color-only might not function well on a monochrome display.
Comparisons to Microsoft Access
SDA is used to build display formats which are similar to the Microsoft Access convention of forms. Other similarities in nomenclature are as follows:
- Input, Output, and I/O fields are similar to text boxes.
- Constant fields are similar to labels.
- Field characteristics (non-display, highlighted, underlined, blinking, column separators) are similar to properties that would be found on an object's property sheet. Properties can be changed on-the-fly just as indicators conditioning field characteristics can be changed.
Important differences between Access forms and SDA display formats include:
- Bound and unbound fields - SDA fields are always unbound.
- SDA does not incorporate a record source, although a field can contain a Message Identifier Code of the form Mx9999 to access the Member1 or Member2 message member.
- Display formats, fields, and characteristics cannot be changed during program execution.