Menu Maintenance

#### Search Results

Search

# Menu Maintenance

Menu maintenance means customizing system menus to the requirements of your installation. You can add menus, and modify or delete existing ones.

Note
As of Natural ISPF Version 2.4.1, the menu structure has changed. If you wish to use the former menu structure, define the menu `MAIO` as main menu and/or set the parameter `APPLYMOD 104` to `X`. See the subsections Authorization Table and APPLYMOD 104.

This document covers the following topics:

- Starting a Menu Edit Session

- Syntax of Menu Definition

- Customizing Menus

- Maintaining Menus with Function Commands

## Starting a Menu Edit Session

Natural ISPF offers three options for starting a menu edit session:

- The `MENU` option on the Administration Menu prompts you for a menu name; enter a menu name to start an edit session with the menu definition (see the subsection Syntax of Menu Definition);

- The `MENU LIST` on the Administration Menu prompts you for a prefix to list all menus with that prefix (enter the asterisk wildcard (*) in this window and press ENTER to list all menus); see the example list in the subsection Maintaining Menus with Function Commands.

- You can also start an edit session using function commands entered from any system screen, addressing object-type `MNU`. Available function commands are `LIST`, `EDIT`, and `DELETE`. See the subsection Maintaining Menus with Function Commands.

## Syntax of Menu Definition

Below is a typical Natural ISPF Main Menu:

       --------------------- NATURAL / NATURAL ISPF Main Menu ------------------------
       OPTION  ===>
                                                                     User ID  FHI
                                                                     Time     15:47:27
        _ 1    NATURAL    - Development Functions                    Terminal DAEFTCS3
        _ 2    NATURAL    - Development Environment Settings         Library  NSPF241
        _ 3    NATURAL    - Maintenance and Transfer Utilities       Node     148
        _ 4    NATURAL    - Debugging and Monitoring Utilities
        _ 5    NAT/NSPF   - Example Libraries

        _ 6    SAG        - SAG    Products
        _ 7    SYSTEM     - System Products

        _ 8    NSPF       - NSPF Administration

        _ 9    NSPF       - NSPF Changes

        _ HELP HELP       - NSPF    Help System
        _ NHLP HELP       - NATURAL Help System
        _ END  EXIT       - Exit NATURAL ISPF

       Enter-PF13--PF14--PF15--PF16--PF17--PF18--PF19--PF20--PF21--PF22--PF23--PF24---
             Help  Relis §End  !Br : t;fin !inf  Up    Down  Susp; Left  Right Exc :

If you select the `MENU` option on the Administrator Menu and enter the menu name `MAIN` in the prompt window, the associated menu definition appears in Editor format in `EDIT` mode:

       EDIT-MNU:MAIN ------------------------------------------------- Columns 001 072
        COMMAND===>                                                    SCROLL===> CSR
       ****** ****************************** top of data *****************************
       000010 HDR =NATURAL ISPF MAIN MENU
       =cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       000020 HELP=MAIN
       000030 LINE=0    MENU PROF       PROFILE    - Profile maintenance
       000040 LINE=#    ENTRY NAT   NN1 NATURAL    - Work with NATURAL objects
       000050 LINE=#    ENTRY VIW   NN1 VIEWS      - Definition, content of NATURAL Vi
       000060 LINE=#    ENTRY ERR   NN1 ERROR      - Work with NATURAL error messages
       000070 LINE=#    ENTRY PRD   NN1 PREDICT    - Work with PREDICT descriptions
       000080 LINE=#    ENTRY OUT       WORKPOOL   - Listing user output
       000090 LINE=#    ENTRY CTN   O   CONTAINER  - Incore database container file
       000100 ****=
       000110 LINE=#    ENTRY JOB   MJ1 JOBS       - Display JOBS status and data (MVS
       000120 LINE=#    ENTRY PDS   MP1 PDS        - Work with PDS members
       000130 LINE=#    ENTRY DS    MD1 DATA SETS  - Maintain data sets
       ------ ----------------------------------------------- 13 line(s) not displayed
       000270 LINE=#    MENU SAT    S   SAT        - System Automation Tools
       000280 LINE=NEWS NEWS            CHANGES    - New features in NATURAL ISPF
       000290 LINE=END                  EXIT       - Exit NATURAL ISPF
       000300 LINE=HELP                 HELP       - Display help information
       000310 CMD =X            END
       000320 CMD =x            END

The type of line in the menu is specified by the label starting in Column 1 of each line. The fields in each line must be coded in a specific range of columns (see the columns line in the above figure).

The following table explains the lines in the menu:

Line | Meaning
--- | ---
`HDR=text` (A50) | Defines the menu header to be displayed at the top of the screen.
`HELP=member` (A8) | Name of the member containing the help text for the screen. Help texts supplied by Software AG are stored in the System Help Library. You can a define site-specific help texts and store them in the User Help Library. When a user issues the `HELP` command, the User Help Library is always searched first for a specific help member, then the Software AG library is searched. See also the section Site-Specific Online Information.
`LINE=# ENTRY NAT NN1 Natural - Work with Natural objects` | This line is an example of an option to appear on the menu. The detailed syntax is explained in the table on the following page.
`****=text` | Defines a text line to be displayed on the menu. No text specifies a blank line.
`CMD=synonym command` | Where: `synonym` is a command synonym (A11). `command` can be any Natural ISPF command (A50). This line defines a command synonym; this can be an abbreviation of a Natural ISPF command which the user enters in the command line, or the synonym can be used in a menu option line if the available 12 bytes are too short for the original command. The above example menu defines `X` in upper case and lower case as a synonym for the `END` command.

The number of displayable menu options is limited to 18. This means that the sum of `LINE=` and `****=` lines to be displayed must not exceed 18.

### Detailed Syntax of a Menu Option

    LINE=# ENTRY NAT NN1 Natural - Work with Natural objects

The items must be written in the appropriate column number as shown below:

Parameter (Format) | Meaning
--- | ---
`opt` (A4) (`#` in example above) (Columns 6 to 9) | Automatic numeration of the option. The special character `#` assigns the next number following on from the previous option. The first option line can contain a real number (in the above example, the first option is `0` (zero). The default is `1`. Alternatively, you can specify a character string for the option.
`command` (A12)(`ENTRY NAT` in example) (Columns 11 to 22) |
Valid Natural ISPF command or command synonym. This command is executed when the user selects this option. When defining your own menus or modifying existing ones, the following commands are available:
`MENU mymenu` | Displays menu `MYMENU`.
`NAT myprog` | Executes Natural program `MYPROG`.
`synonym` | Executes the command assigned to the synonym (see the description of the `CMD` line on the previous page).
`Natural-ISPF-command` | Executes the specified Natural ISPF command.
`S` (A1) (first `N` in example) (Column 23) | Signifies the subsystem. For example, `N` for Natural. For a list of possible options, see Subsystems Supported by Natural ISPF at the end of this documentation. The menu line is only displayed if the specified subsystem is activated in the `CONFIG` member.
`C` (A1) (second N in example) (Column 24) | Denotes the authorization class as listed in the user authorization table, for example, `N` for Natural. If the menu option is site-defined, use the equal sign (=) here. The authorization codes are also used in the site control table (see the section Open NSPF in the Natural ISPF Programmer's Guide). For a list of possible values, see Authorization Classes at the end of this documentation.
`L` (N1) (1 in example) (Column 25) | Denotes the authorization level for the class. Possible options are `1-9`. The option line will appear on a user's menu only if the level specified here is equal to or lower than the authorization level for the same class in the user's authorization table. The above example specifies Level 1 for class Natural. To bar a user from using the Natural option, the user must have Level 0 in his or her authorization table. If you specify `2` here and the user is authorized for Natural with Level 1, he or she will not see the option on his or her menu, but can execute Level 1 functions using function commands on the corresponding object types. See also the subsection Authorization Table in the section User Definitions.
`descriptive-text` (A50) (`Natural -Work with Natural objects` in example) (Columns 27 to 76) | Description of the menu option to appear in the menu line.

## Customizing Menus

Use the Editor to customize menus. To create a new menu from scratch, or adapt an existing menu for your site's purposes, you are strongly advised to use an existing menu as a model for the new one.

The easiest way of doing this is to work in multi-session mode: start an edit session with a new menu name in one session and an Editor session with an existing menu in another. Use cross-section copying with two Editor line commands `CC` to mark the block of the existing menu to be copied, and an Editor line command A in the edit session with the new menu to mark the place where the menu lines are to be inserted (see also the subsection Multi-Session Operations in the section Useful Features of the Natural ISPF User's Guide).

This subsection provides some typical examples of customized menus:

- Example 1: Menu to Extend Menu Structure

- Example 2: Menu to Invoke Natural Programs/Applications

- Example 3: Menu to Submit Batch Jobs

- Example 4: Menu to Execute Commands

- Example 5: Menu to Provide Example Menu Options

- Example 6: Menu NULL for Unauthorized Users

### Example 1: Menu to Extend Menu Structure

The following menu named `SAG` invokes other menus, using the `MENU` command:

      ----------------------------- Software AG MENU --------------------------------
      OPTION  ===>
                                                                    Userid   MBE
                                                                    Time     17:52:12
         1    ISPF       - New features and functions               Terminal DAEDC617
         2    ISPF       - Error messages and comments              Library  MBE
         3    BATCH      - Batch utilities menu                     Node
         4    NATURAL    - NATURAL utilities menu

         5    JCL        - for NATURAL ISPF
         S    SDSF       - System display/search facility

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

The following is the corresponding menu definition:

      EDIT-MNU:SAG -------------------------------------------------- Columns 001 072
       COMMAND===>                                                    SCROLL===> CSR
      ****** ****************************** top of data *****************************
      000010 HDR =Software AG MENU
      000020 HELP=SAGHELP
      =cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
      000030 LINE=#    NEWS            ISPF       - New features and functions
      000040 LINE=#    ERRM         A4 ISPF       - Error messages and comments
      000050 LINE=#    MENU BTCH    =4 BATCH      - Batch utilities menu
      000060 LINE=#    MENU UTIL       NATURAL    - NATURAL utilities menu
      000070 ****=
      000080 LINE=#    MENU ISPF       JCL        - for NATURAL ISPF
      000090 LINE=S    MENU SDSF       SDSF       - System display/search facility
      000100 ****=
      000110 CMD =ERRM list pds nn(v2*)
      ****** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

#### Explanation

The line:

    HELP=SAGHELP

invokes help member `SAGHELP` in the User Help Library when a user issues the `HELP` command from this menu.

The line:

    LINE=S    MENU SDSF       SDSF       - System display/search facility

defines an option `S`, which, when selected, displays the menu named `SDSF`. Since no subsystem and authorization codes are specified in this line, the option is subsystem-independent and will appear on this menu for all users. Only access to the options invoked by the `ERRM` and `MENU BTCH` commands are subject to authorization.

The command `ERRM` is a synonym for a command sequence, defined by the line:

    CMD =ERRM list pds nn(v2*)

If you wish to make this menu available from any menu at your site, you must add the following line to the options on that menu definition:

    LINE=#    MENU SAG        SAG        - Software AG menu

### Example 2: Menu to Invoke Natural Programs/Applications

The following menu invokes Natural programs or applications:

       ------------------------- Natural ISPF Utility Menu ---------------------------
       OPTION  ===>
                                                                     Userid   BRY
                                                                     Time     10:48:43
          TP   SYSTP      - NATURAL TP monitor specifics             Terminal DAEFTC10
          PROD SYSPROD    - Installed products                       Library  BRY
          FIL  SYSPROF    - Files information                        Node
          BPM  SYSBPM     - NATURAL Buffer pool
          LOG  DBLOG      - Trace Database calls
          DBA  SYSDBA     - DBA utilities
          CAT  CATALL     - Catalog NATURAL Library
          DIC  PREDICT    - PREDICT Dictionary
          XREF XREF       - Active References

          SEC  SYSSEC     - NATURAL Security
          ERR  SYSERR     - NATURAL Error messages
          CP   SYSMAIN    - NATURAL Copy utility

       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

The menu is created by the following definition:

       EDIT-MNU:UTIL ------------------------------------------------- Columns 001 072
        COMMAND===>                                                    SCROLL===> CSR
       ****** ****************************** top of data *****************************
       000010 HDR =NATURAL ISPF Utility Menu
       =cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       000020 LINE=TP   SYSTP        N1 SYSTP      - NATURAL TP monitor specifics
       000030 LINE=PROD NAT SYSPROD  N1 SYSPROD    - Installed products
       000040 LINE=FIL  NAT SYSPROF  N1 SYSPROF    - Files information
       000050 LINE=BPM  APP SYSBPM   N1 SYSBPM     - NATURAL Buffer pool
       000060 LINE=LOG  TDBLOG       N1 DBLOG      - Trace Database calls
       000070 LINE=DBA  SYSDBA       N1 SYSDBA     - DBA utilities
       000080 LINE=CAT  NAT CATALL   N1 CATALL     - Catalog NATURAL Library
       000090 LINE=DIC  APP SYSDIC   N1 PREDICT    - PREDICT Dictionary
       000100 LINE=XREF NAT L X      N1 XREF       - Active References
       000110 ****=
       000120 LINE=SEC  SYSSEC       N3 SYSSEC     - NATURAL Security
       000130 LINE=ERR  SYSERR       N1 SYSERR     - NATURAL Error messages
       000140 LINE=CP   APP SYSMAIN  N1 SYSMAIN    - NATURAL Copy utility
       000150 ****=
       000160 CMD =SYSTP   APP SYSTP  MENU
       000170 CMD =SYSDBA  APP SYSDBA MENU
       000180 CMD =TDBLOG  NAT TEST DBLOG ?
       000190 CMD =SYSERR  APP SYSERR MENU
       000200 CMD =SYSSEC  APP SYSSEC MENU

#### Explanation

The line:

    LINE=XREF   NAT L X      N1 XREF       - Active References

invokes Natural system command `LIST` with parameter `XREF`. This option is subsystem-independent with Authorization Level 1.

If you wish to add a site-specific option that invokes a different application, you must add a menu line similar to the following:

    LINE=#    APP MYAPPL   =3 MYAPPL     - Natural my application

This example assumes that the application `MYAPPL` is terminated with the command `RETURN` on the stack.

This menu option adds a subsystem-independent option `MYAPPL` to the menu. The authorization class is user-defined (=) with Level 3, which means that a user must be authorized with at least Level 3 in his authorization table to see the option on his or her menu.

The line:

    CMD =SYSERR APP SYSERR MENU

defines `SYSERR` as a synonym for the command sequence `APPLICATION SYSERR MENU` and is used in the `SYSERR` menu option to invoke the Natural error message maintenance facility.

If you wish to make the above menu available at your site, you must add the following line to the options on that menu definition:

    LINE=#    MENU UTIL       UTIL       - Natural ISPF Utilities

### Example 3: Menu to Submit Batch Jobs

The selection of an option on the following menu results in the submission of a Batch job:

      --------------------------- Batch Utilities Menu ------------------------------
      OPTION  ===>
                                                                    Userid   MBE
                                                                    Time     17:52:12
         1    IEBCOPY    - Online input for IEBCOPY                 Terminal DAEDC617
         2    ADAREP     - ADABAS Database Report                   Library  MBE
         3    TAPE       - Tape creation                            Node
         4    NATBAT     - NATURAL Batch execution

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

The following is the menu definition:

      EDIT-MNU:BTCH ------------------------------------------------- Columns 001 072
       COMMAND===>                                                    SCROLL===> CSR
      ****** ****************************** top of data *****************************
      000010 HDR =Batch Utilities Menu
      000020 HELP=MAIN
      =cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
      000030 LINE=#    IEBCOPY         IEBCOPY    - Online input for IEBCOPY
      000040 LINE=#    ADAREP          ADAREP     - ADABAS Database Report
      000050 LINE=#    TAPE            TAPE       - Tape creation
      000060 LINE=#    NATBAT          NATBAT     - NATURAL Batch execution
      000070 ****=
      000080 CMD =IEBCOPY SUBMIT PDS JWO.COMN.SOURCE(EXSUBMIT)
      000090 CMD =ADAREP SUBMIT PDS JWO.COMN.SOURCE(EXADAREP)
      000100 CMD =TAPE SUBMIT MACRO EXMAC2
      000110 CMD =TAPE2 SUBMIT NAT NSPF1200(EXTAPENA)
      000120 CMD =NATBAT SUBMIT PDS JWO.COMN.SOURCE(EXNATBAT)
      ****** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

#### Explanation

All options have no subsystem or authorization restrictions.

Please note the use of command synonyms in this example. For example, the line:

    CMD =ADAREP SUBMIT PDS JWO.COMN.SOURCE(EXADAREP)

defines `ADAREP` as synonym for the command string:

    SUBMIT PDS JWO.COMN.SOURCE(EXADAREP)

Selecting the `ADAREP` option on the menu submits JCL member `EXADAREP` in the PDS library `JWO.COMN.SOURCE. JCL` can also be contained in a Natural member (see the `TAPE2` synonym).

The members submitted in this way can also make use of the Natural ISPF macro facility as described in section Macro Facility in the Natural ISPF Programmer's Guide. For example, submission of JCL could result in a window being displayed in which you enter variable parameters before the job is submitted. Alternatively, for faster processing, you can submit compiled macros by submitting a macro object (see the `TAPE` option and synonym).

If you wish to make the above menu available from any menu at your site, you must add the following line to the options on that menu definition:

    LINE=#    MENU BTCH       BATCH      - Batch Utilities

### Example 4: Menu to Execute Commands

For repetitive use of similar commands with different parameters, it may be useful to define a menu with options that reflect certain command sequences. This is done using the synonym feature. For example, the following menu provides a number of system monitoring functions (it may look familiar to you):

    ---------------------- 'like SDSF' primary option menu ------------------------
        OPTION  ===>
                                                                    Userid   MBE
                                                                    Time     18:04:16
         LOG  - Display the system log                              Terminal DAEDC617
         DA   - Display active users of the system                  Library  MBE
         I    - Display jobs in JES input queue                     Node
         O    - Display jobs in JES output queue
         H    - Display jobs in JES held output queue

         ST   - Display status of jobs in JES queues
         INIT - Display JES initiators on this system

         END  - Exit 'like SDSF'
         HELP - Display help information

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

This menu is created by the following menu definition:

      EDIT-MNU:SDSF ------------------------------------------------- Columns 001 072
       COMMAND===>                                                    SCROLL===> CSR
      ****** ****************************** top of data *****************************
      000010 HDR ='like SDSF' primary option menu
      000020 HELP=MAIN
      =cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
      000030 LINE=LOG  LOG             - Display the system log
      000040 LINE=DA   UQ              - Display active users of the system
      000050 LINE=I    QQ              - Display jobs in JES input queue
      000060 LINE=O    QO              - Display jobs in JES output queue
      000070 LINE=H    QH              - Display jobs in JES held output queue
      000080 ****=
      000090 LINE=ST   QS              - Display status of jobs in JES queues
      000100 LINE=INIT QX              - Display JES initiators on this system
      000110 ****=
      000120 LINE=END                  - Exit 'like SDSF'
      000130 LINE=HELP                 - Display help information
      000140 CMD =X            END
      000150 CMD =x            END
      000160 CMD =QQ list job * QUEUE=I
      000170 CMD =QO list job * QUEUE=O
      000180 CMD =QX list ACT * TYPE=I
      000190 CMD =QH list job * QUEUE=H
      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

#### Explanation

The options have no subsystem or authorization restrictions. Note the use of command synonyms.

If you wish to make this menu available from any menu at your site, you must add the following line to the options on that menu definition:

    LINE=#    MENU SDSF       SDSF       - SDSF-like options

### Example 5: Menu to Provide Example Menu Options

The following example menu illustrates how standard utilities and functions can be integrated into the Natural ISPF environment by defining them as menu options:

      ------------------------- NATURAL ISPF example menu ---------------------------
      OPTION  ===>

                                                   Userid   MBE
                                                                    Time     13:02:26
              Integrate menus                                       Terminal DAELC521
         1    NATURAL    - Utilities                                Library  MBE
         2    SDSF       - SDSF entry panel                         Node     148
              Integrate NATURAL programs/applications
         3    SYSPROD    - Installed products
         4    PREDICT    - PREDICT Dictionary
              Integrate Batch jobs
         5    ADAREP     - ADABAS Database Report
         6    TAPE       - Tape creation
              Use TSO Batch interface
         7    TSO HELP   - Display Help for TSO commands
         8    TSO MENU   - Use real TSO
              Use internal command
         9   CON-NECT   - List CON-NECT inbasket

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right :s

The example menu definition looks as follows:

      EDIT-MNU:EXAM ------------------------------------------------- Columns 001 072
       COMMAND===>                                                    SCROLL===> CSR
      ****** ****************************** top of data *****************************
      000010 HDR =NATURAL ISPF example menu
      000020 HELP=MAIN
      000030 ****=Integrate menus
      000040 LINE=#    MENU UTIL   NN1 NATURAL    - Utilities
      000050 LINE=#    MENU SDSF   M   SDSF       - SDSF entry panel
      000060 ****=Integrate NATURAL programs/applications
      000070 LINE=#    NAT SYSPROD NN1 SYSPROD    - Installed products
      000080 LINE=#    APP SYSDIC  NN1 PREDICT    - PREDICT Dictionary
      000090 ****=Integrate Batch jobs
      000100 LINE=#    ADAREP      M   ADAREP     - ADABAS Database Report
      000110 LINE=#    TAPE        M   TAPE       - Tape creation
      000120 ****=Use TSO Batch interface
      000130 LINE=#    TSOH        M31 TSO HELP   - Display Help for TSO commands
      000140 LINE=#    MENU TSO    M   TSO MENU   - Use real TSO
      000150 ****=Use internal command
      000160 LINE=#    POST        C   CON-NECT   - List CON-NECT inbasket
      000170 CMD =X            END
      000180 CMD =x            END
      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right :s

Issue the `DOWN` command (usually assigned to PF8) to display the rest of the menu definition:

      EDIT-MNU:EXAM ------------------------------------------------- Columns 001 072
       COMMAND===>                                                    SCROLL===> CSR
      000200 CMD =POST LS DOC * FO=POSTEINGANG FI=NEU
      000210 CMD =ADAREP SUBMIT PDS SAG.ISP141.SRCE(EXADAREP)
      000220 CMD =TAPE SUBMIT MACRO SYSISPE(MAC-MVS4)
      000230 CMD =TSOH SUBMIT MACRO SYSISPE(MAC-TSO1),TYPE=TSO
      ****** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right :s

#### Explanation

The menu options speak for themselves. Note the use of command synonyms to submit specific objects using a single simple command. In this way, site-specific functions can be made easy to use, for example, the command `POST` has been defined to check the Con-nect Inbasket.

If you wish to make this menu available from any menu at your site, you must add the following line to the options on that menu definition:

    LINE=#   MENU EXAM        A1 EXAMPLE      - Invoke example menu

### Example 6: Menu NULL for Unauthorized Users

If you wish to deny access to undefined users for whom there is no prefix authorization, you can define a menu similar to the following to be displayed when the user logs on:

      -------------------------------- NATURAL ISPF ---------------------------------
      OPTION  ===>
                                                                    Userid   MBE
                                                                    Time     17:52:12
              You are not authorized to use NATURAL ISPF,           Terminal DAEDC617
              please contact your ISPF administrator, who           Library  MBE
              will give you access to the system.                   Node

         1   Terminate NATURAL ISPF

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

The menu definition looks like the following:

      EDIT-MNU:NULL ------------------------------------------------- Columns 001 072
       COMMAND===>                                                    SCROLL===> CSR
      ****** ****************************** top of data *****************************
      000010 HDR =NATURAL ISPF
      =cols> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
      000020 ****=
      000030 ****=You are not authorized to use NATURAL ISPF,
      000040 ****=please contact your ISPF administrator, who
      000050 ****=will give you access to the system.
      000060 ****=
      000070 ****=
      000080 LINE=#    END             Terminate NATURAL ISPF
      ****** **************************** bottom of data ****************************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

You must specify menu name `NULL` as Main Menu in the authorization table of the default definition (*) which is assigned to undefined users for whom there is no prefix (group) definition (see the section User Definitions).

## Maintaining Menus with Function Commands

Natural ISPF menus are separate objects within Natural ISPF with object type `MNU`. This means that you (and other authorized users) can maintain menu definitions with function command syntax entered from any system screen.

The available function commands are:

Command | Object Parameter Syntax
--- | ---
`LIST` | `prefix`
`EDIT` | `menuname`
`DELETE` | `menuname`

where prefix is a prefix notation followed by the asterisk wildcard (*) to select only those menus that start with that prefix. The default is the asterisk wildcard (*) for a list of all menus.

Note
If you issue any of the commands without parameters, Natural ISPF prompts you for valid values.

The following examples are provided below:

- Example: EDIT

- Example: LIST

### Example: EDIT

The command:

    EDIT MNU MAIN

displays the Main Menu definition in Editor format. You can modify the menu and save it with the command `SAVE`.

Note
If you delete the modified menu, you only back out your changes: you cannot delete a system menu supplied by Software AG.

### Example: LIST

The command:

    LIST MNU  *

lists all defined menus in the same format as when you select the `MENU LIST` option from the Administrator Menu, for example:

      LIST-MNU:* -------------------------------------- Row 0 of 13 - Columns 006 051
       COMMAND===>                                                    SCROLL===> CSR
         MENU          TYPE HEADER
      ** ******************* top of list *******************
         ADMN          SYS  CONFIGURATION MENU
         BTCH          USER Batch Utilities Menu
         DOC           USER NATURAL ISPF doctest
         ISPF          USER JCL for ISPF development and ins
         MAIN          USER NATURAL ISPF MAIN MENU
         NULL          USER Sorry you are not authorized to
         MPAN          SYS  NSPF MAIN MENU
         SAG           USER Software AG MENU
         PROF          SYS  PROFILES MENU
         SDSF          USER 'like SDSF' primary option menu
         TEST          USER 'LIKE SDSF' PRIMARY OPTION MENU
         SYS           SYS  SYSTEM FACILITIES
         UTIL          USER NATURAL ISPF Utility Menu
      ** ***************** bottom of list ******************

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help  Split End   Suspe Rfind Rchan Up    Down  Swap  Left  Right Curso

Meaning of the column headings:

Column | Meaning
--- | ---
`MENU` | Name of menu.
`TYPE` | Type of menu. Possible values: `SYS` System menu copied from installation medium as delivered by Software AG. `USER` Modified or new menus defined by authorized users. When your Natural ISPF system is upgraded by a later version, only `SYS`-type menus are overwritten by the new menus from the installation medium (see note below).

You can select any menu from the list with the `E` (`EDIT`) or `D` (`DELETE`) line command entered in the input field preceding the menu name. The `EDIT` option allows you to modify the menu definition.

Note
When modifying a `SYS`-type menu, you actually create a new `USER`-type copy of it. If you delete this menu later, only the `USER`-type version is deleted, and the old `SYS`-type menu is displayed again. It is not possible to delete `SYS`-type menus.

### On this page

- Starting a Menu Edit Session
- Syntax of Menu Definition
- Customizing Menus
- Maintaining Menus with Function Commands