The Start Programmer Menu (STRPGMMNU) command can be used for various purposes.
The command may be used with one or more of the parameters that control the initial values of the menu. You could design this as part of an initial program for sign-on or for situations in which a user calls a specific user-written function. The following example shows such a program, with a separate function for each application area requiring different initial values.
PGM CHGLIBL LIBL(PGMR1 QGPL QTEMP) LOOP: STRPGMMNU SRCLIB(PGMR1) OBJLIB(PGMR1) JOBD(PGMR1) MONMSG MSGID(CPF2320) EXEC(GOTO END) /* F3 or F12 to leave menu */ GOTO LOOP END: ENDPGM
The other parameters assist you in controlling the menu and its functions. For example, you can specify ALWUSRCHG(*NO) to prevent a user from changing the values that appear on the menu. This parameter should not be considered to be a security feature because a user who is using the menu can call the Start Programmer Menu (STRPGMMNU) command and change the values in a separate call. (The user can also start functions by using F10 to call the command entry display.) If the menu is displayed by the Start Programmer Menu (STRPGMMNU) command, you can prevent the user (by authorization) from calling the QPGMMENU program directly, but you cannot prevent the user from requesting another call of the Start Programmer Menu (STRPGMMNU) command.
The EXITPGM and DLTOPT parameters allow you to provide your own support for the menu create option (option 3). The system may call a user program when you request option 3. IBM® provides online information that discusses the parameters and the parameter list that are passed to the user program. For more information, see Pass parameters.