Go to Menu (GO)

Where allowed to run: Interactive environments (*INTERACT *IPGM *IREXX *EXEC)
Threadsafe: No
Parameters
Examples
Error messages

The Go to Menu (GO) command shows the menu requested. This command allows you to specify either a particular menu or a generic menu name. You can optionally specify whether or not to return to the menu from which the command is entered after showing the menu specified.

Using the Previous and Exit Keys

A menu is placed on an internal menu stack before it is run. If a stack is not available for the menu, one is created. When the Cancel key is pressed for a menu, the previous menu in the stack is shown. Each menu stack is ten elements (menus) deep. When the eleventh menu is placed on the menu stack, the first, or oldest, menu is removed from the stack. This menu cannot be returned to by using the Cancel key.

Pressing the Exit key returns the user to the last display or menu from which a GO command was entered with RTNPNT(*YES). The display that the user is returned to is found by removing menus from the menu stack until a return point is found. This process may also cause a program in the call stack to return to its calling program unless the program is a return point.

Pressing either the Exit or Cancel key while viewing help for a menu returns the user to the menu.

Restrictions:

Top

Parameters

Keyword Description Choices Notes
MENU Menu Qualified object name Required, Positional 1
Qualifier 1: Menu Generic name, name, *ALL
Qualifier 2: Library Name, *LIBL, *CURLIB, *USRLIBL, *ALL, *ALLUSR
RTNPNT Return point *YES, *NO Optional, Positional 2
Top

Menu (MENU)

Specifies the menu to be shown.

This is a required parameter.

Qualifier 1: Menu

*ALL
A list of all menus in the specified library is shown from which you select the menu to be run.
generic-name
Specify the generic name of the menu to be run. A generic name is a character string that contains one or more characters followed by an asterisk (*). A list of all menus that have names that begin with the same characters as the generic menu name is shown from which you select the menu to be run.
name
Specify the name of the menu to be shown.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the thread is searched. If no library is specified as the current library for the thread, the QGPL library is searched.
*USRLIBL
If a current library entry exists in the library list for the current thread, the current library and the libraries in the user portion of the library list are searched. If there is no current library entry, only the libraries in the user portion of the library list are searched.
*ALLUSR
All user libraries are searched. All libraries with names that do not begin with the letter Q are searched except for the following:

#CGULIB     #DSULIB     #SEULIB
#COBLIB     #RPGLIB
#DFULIB     #SDALIB

Although the following Qxxx libraries are provided by IBM, they typically contain user data that changes frequently. Therefore, these libraries are considered user libraries and are also searched:

QDSNX       QRCLxxxxx   QUSRIJS     QUSRVxRxMx
QGPL        QSRVAGT     QUSRINFSKR
QGPL38      QSYS2       QUSRNOTES
QMGTC       QSYS2xxxxx  QUSROND
QMGTC2      QS36F       QUSRPOSGS
QMPGDATA    QUSER38     QUSRPOSSA
QMQMDATA    QUSRADSM    QUSRPYMSVR
QMQMPROC    QUSRBRM     QUSRRDARS
QPFRDATA    QUSRDIRCL   QUSRSYS
QRCL        QUSRDIRDB   QUSRVI

  1. 'xxxxx' is the number of a primary auxiliary storage pool (ASP).
  2. A different library name, in the format QUSRVxRxMx, can be created by the user for each previous release supported by IBM to contain any user commands to be compiled in a CL program for the previous release. For the QUSRVxRxMx user library, VxRxMx is the version, release, and modification level of a previous release that IBM continues to support.
*ALL
All libraries in the system, including QSYS, are searched.
name
Specify the name of the library to be searched.
Top

Return point (RTNPNT)

Specifies whether to return to the display where the command is entered when the Exit key is pressed.

*YES
The display where the command is entered is returned to when the Exit key is pressed.
*NO
The display where the command is entered is not returned to when the Exit key is pressed.
Top

Examples

GO   MENU(PERSMENU)

This command runs a menu called PERSMENU, located in a library found by searching the library list (*LIBL default value).

If the Exit key is pressed while PERSMENU is being shown, the display where the GO command was entered (*YES default value on the RTNPNT parameter) is shown.

Top

Error messages

*ESCAPE Messages

CPF6ACD
Menu &1 in &2 is wrong version for system.
CPF6AC7
Menu &1 in library &2 not displayed.
Top