TechTalk: A method that allows users to retrieve commands run through a menu.

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

One nice feature of OS/400 is the ability to use the F9 key to recall commands that were previously keyed from the command line. If I'm going to run the same command several times, with different parameter values each time, I can recall the command by pressing F9, modify the necessary parameters, and press Enter to rerun it.

Menu-bound users don't usually get to take advantage of this feature. They have to take the same menu option over and over, filling in the same parameters and making changes as needed.

If you're willing to do a little extra work, you can make it possible for users to recall a command they chose as a menu option.

Let's say you have a command called SOMECMD (see 8) that runs a CL program called SOMEPGM (see 9). SOMECLP has two parameters-type and size. Let's say a user sometimes runs four or five of these back-to-back, changing one or both parameters each time. You put the command

Let's say you have a command called SOMECMD (see Figure 8) that runs a CL program called SOMEPGM (see Figure 9). SOMECLP has two parameters-type and size. Let's say a user sometimes runs four or five of these back-to-back, changing one or both parameters each time. You put the command

 ? SOMECMD 

behind an option of a menu (a menu object, not a CL program menu) so the user can run the SOMECMD command and be prompted for parameters.

A user who wants to run three versions of this job has to select the menu option three times. Wouldn't it be more convenient to be able to select the menu option once, change the necessary parameters, and rerun the job?

To make it possible to use the F9 key to retrieve the SOMECMD command, make the command processing program, SOMEPGM, send the command back to the caller (the menu) in a request message. In 9, SOMEPGM builds a character string containing the SOMECMD command along with the parameter values supplied to the program. The Send Program Message (SNDPGMMSG) command sends this command string back to the caller as a request message, and the Receive Message (RCVMSG) makes the caller receive the command string and add it to the list of commands that have already been executed.

To make it possible to use the F9 key to retrieve the SOMECMD command, make the command processing program, SOMEPGM, send the command back to the caller (the menu) in a request message. In Figure 9, SOMEPGM builds a character string containing the SOMECMD command along with the parameter values supplied to the program. The Send Program Message (SNDPGMMSG) command sends this command string back to the caller as a request message, and the Receive Message (RCVMSG) makes the caller receive the command string and add it to the list of commands that have already been executed.

Be sure to compile the command to allow users with limited command line access to run it. That is, specify ALWLMTUSR(*YES) on the Create Command (CRTCMD) command.

- Ted Holt


TechTalk: A method that allows users to retrieve commands run through a menu.

Figure 8: Source for Command SOMECMD

 CMD PROMPT('Some command') PARM KWD(THINGTYPE) TYPE(*CHAR) LEN(1) RSTD(*YES) + DFT(A) VALUES(A B C) PROMPT('Type of thing') PARM KWD(THINGSIZE) TYPE(*DEC) LEN(3) + PROMPT('Size of thing') 
TechTalk: A method that allows users to retrieve commands run through a menu.

Figure 9: Source of Command Processing Program SOMEPGM

 PGM PARM(&TYPE &SIZE) DCL VAR(&CMD) TYPE(*CHAR) LEN(80) DCL VAR(&SIZE) TYPE(*DEC) LEN( 3) DCL VAR(&MRK) TYPE(*CHAR) LEN( 4) DCL VAR(&TYPE) TYPE(*CHAR) LEN( 1) DCL VAR(&WORKFIELD) TYPE(*CHAR) LEN( 3) /* send command back to requestor */ CHGVAR VAR(&WORKFIELD) VALUE(&SIZE) CHGVAR VAR(&CMD) VALUE('SOMECMD THINGTYPE(' *CAT + &TYPE *CAT ') THINGSIZE(' *CAT &WORKFIELD + *CAT ')') SNDPGMMSG MSG(&CMD) TOPGMQ(*PRV) MSGTYPE(*RQS) + KEYVAR(&MRK) RCVMSG PGMQ(*PRV) MSGKEY(&MRK) RMV(*NO) /* do calcs to run the job here */ ENDPGM 
TED HOLT

Ted Holt is IT manager of Manufacturing Systems Development for Day-Brite Capri Omega, a manufacturer of lighting fixtures in Tupelo, Mississippi. He has worked in the information processing industry since 1981 and is the author or co-author of seven books. 


MC Press books written by Ted Holt available now on the MC Press Bookstore.

Complete CL: Fifth Edition Complete CL: Fifth Edition
Become a CL guru and fully leverage the abilities of your system.
List Price $79.95

Now On Sale

Complete CL: Sixth Edition Complete CL: Sixth Edition
Now fully updated! Get the master guide to Control Language programming.
List Price $79.95

Now On Sale

IBM i5/iSeries Primer IBM i5/iSeries Primer
Check out the ultimate resource and “must-have” guide for every professional working with the i5/iSeries.
List Price $99.95

Now On Sale

Qshell for iSeries Qshell for iSeries
Check out this Unix-style shell and utilities command interface for OS/400.
List Price $79.95

Now On Sale

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: