One of the most intuitive development tools on the AS/400 is SDA, Screen Design Aid. With it,
you build display screens and menus in a WYSIWYG (what you see is what you get) mode. We're
going to look at how easy it is to create a user menu.
Suppose a user says, "My department does only a few things on the AS/400 but the canned
software package that we have makes me navigate through too many screens. I'm training a new
hire and I wish you could make a special menu with only 6 selections":
1) Run the on-line Customer Maintenance program that is in our canned application
In only a few minutes, you can build a custom menu for your user. Start SDA with the command
STRSDA. You will see that SDA has three functions:
1) Design Screens
You'll want to experiment with each of these later. For now, use selection 2 to design a
menu. Enter the name of your new menu, where you want to store the source (usually QDDSSRC)
and the library that it will be in. SDA will look for that menu and since it can't find it,
it will create it.
SDA creates a template for you that has the menu name and a list of ten selections. On this
screen, you list the selections for the user. On a separate screen, you list the commands
associated with each selection. Enter the prompts for your user, see Figure 1. Also,
add a selection 99 to signoff. Avoid keying in "insert" mode since that will shift all text
on the screen. To remove text, just space over it.
When you hit enter, SDA uses your screen to build literals in a display file. F20 provides a
way to display the text blocks that SDA will use. Each text block is preceded by a hidden
character that contains the display attribute for that string of text. If you key an "H" right
in front of a block of text, SDA will display that text in high intensity or white characters.
An "R" will display the text in reverse image. "D" will delete the text.
Next, define the commands for each selection. Hit F10 to enter the commands. You now can key
in the commands for selections 1 through 99.
Suppose your on-line Customer Maintenance program is run by calling the program, "CUSR000".
Tell SDA that you want selection 1 to "CALL CUSR000", see Figure 2. Suppose the job to
print all new orders is "ORDC110". You enter the command, "SBMJOB CMD(CALL ORDC110)" on line 2.
Now, when the user selects 2, the job "ORDC110" will be submitted to run as a batch job.
You can enter any command that you want the user to run. You can run queries, submit print
queries to run in batch and use standard utility commands such as "Work with Spool Files",
WRKSPLF. Finally, you can help the user navigate to another menu with the "GO" command used
for selection 6.
When you exit SDA, check the "object library" name. This is where your compiled menu objects
will go. Hit enter and the AS/400 will compile your source code and your menu will be ready to
run. SDA creates three objects, all with the same name: the commands, the display file and a
message file for the menu.
If you want some added fun, go back to the menu source using SDA and this time make the
selection to "work with menu help". Here you can define help screens that will display if
your user enters the selection number and hits F1.
Now you can tie this menu to your new employee's user profile. Use the work with user profile
command, WRKUSRPRF to change the new employee's profile. Put the new menu name in the field,
"first menu" at the bottom of the screen. Now, the user will see the MRCM001 menu when he
signs on the AS/400.
It's that easy to customize the screen selections for a user.
You can also use SDA to test and design display files. With the "Test Display Files" selection
of SDA, you can see the fields and presentation of a display file. This works even if you don't
have the source code.
The "Design Screens" selection of SDA is for building display files. You can reference the
fields in database files, move text and fields around the screen and modify the display
attributes. Knowing how to use SDA to design display files is an essential AS/400 skill,
but is beyond the scope of this article. See IBM's "Screen Design Aid, User's Guide and
Reference" for complete coverage of SDA.
2) Submit the job to print all new orders
3) Run the query you wrote last week to display all back ordered parts
4) Run the query to print the customer service summary
5) Work with spool files to see if our reports are printing
6) Go to the Main "Customer Service Menu"
2) Design Menus
3) Test Display Files
Figure 1 - Custom Menu Designed Using SDA MRCM001 Special Customer Service Menu Select one of the following: 1. Online Customer Maintenance 2. Print all orders 3. Display backordered items 4. Print customer service summary report 5. Work with reports 6. Customer Service Menu 7. 8. 9. 10. 99. Sign Off Selection or command Figure 2 - SDA Commands for Special Customer Service Menu Define Menu Commands Menu . . . . . . : MRCM001 Position to menu option . . . . . Type commands, press Enter. Option Command 01 CALL CUSR000 02 SBMJOB CMD(CALL PGM(ORDC110)) 03 RUNQRY QRY(PARQ020) 04 SBMJOB CMD(RUNQRY QRY(CSVQ100)) 05 WRKSPLF 06 GO CSVM000 99 signoff F3=Exit F11=Show all options F12=Cancel F24=More keys Figure 3 - User Profile for New Employee Change User User . . . . . . . . . : JQSAMPLE Type choices below, then press Enter. User description . . . . New Customer Service Person Password . . . . . . . . *SAME Characters Type of user . . . . . . *USER Type, F4 for list User group . . . . . . . *NONE Name, F4 for list Restrict command line use N Y=Yes, N=No Uses OfficeVision/400 . . N Y=Yes, N=No Default library . . . . . Name Default printer . . . . . Name, *WRKSTN, F4 for list Sign on program . . . . . *NONE Name, *NONE Library . . . . . . . . Name First menu . . . . . . . MRCM001 Name Library . . . . . . . . *LIBL Name