Hercules, ISPF 2.x, MVS38J

ISPF Command Table in MVS 3.8J

In release ISPF v2.1 (ISPF-like product from Wally Mclaughlin), the command table utility was introduced as option 3.9 (Create/change an application command table).

A command table is an actual ISPF table stored in the ISPTTLIB library. Depending on your installation standards, the ISPTABL DD most likely points to a user id dataset and may be one of several concatenated datasets under the ISPTTLIB DD.

A command table allows user-defined commands (a type of a short-cut) to be declared and used in the users ISPF session.

When ISPF 2.1 initializes at start of a logon procedure, it loads (among other load and initialization activities) the associated system command table (if available).

Typically, the starting APPLID is ISP, therefore, ISPCMDS system command table is loaded.

During the ISPF session, if a new application is started (e.g. SELECT PGM(xyz) NEWAPPL(LB44)), the associated application command table (LB44CMDS) is loaded (if available). While in this application, command table searches are performed across LB44CMDS and ISPCMDS.

This post is based on my personal usage of command table entries with ISPF v2.1 and v2.2.

Command Table Utility

Option 3.9 presents the below screen to select the command table for maintenance using the assigned 4-byte ISPF application id (APPLID).

 --------------------------  COMMAND TABLE UTILITY  ----------------------------
 COMMAND ===>       
                                                                                
 ENTER/VERIFY APPLICATION ID BELOW:                                             
                                                                                
   APPLICATION ID ===>                                                          
                                                                                
                                                                                
                                                                                
 The name of the command table to be processed is formed by prefixing           
 the application ID to the string 'CMDS'.  For example:                         
   APPLICATION ID ===> TST                                                      
 results in a command table name of 'TSTCMDS'.                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

After the application id is provided, a list of command table entries is displayed for maintenance (insert, change or delete) as spelled out in the top portion of the screen.

 --------------------------  COMMAND TABLE UTILITY  ---------------- Row 1 of 15
 COMMAND ===>                                                  SCROLL ===> PAGE 
                                                                                
                                                                                
 Insert, Delete, and Change command entries. Underscores need not be blanked.   
 Enter END command to save changes or Cancel to end without saving.             
                                                                                
      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 ____ ALTT      4  ALIAS END                                                    
                      ANTOHER END                                 
 ____ CFLDSI    6  SELECT CMD(%CFLDSI)                                          
                      DISPLAY SESSION ALLOCATED FILES (TSO)                     
 ____ CLOG      4  SELECT CMD(%CLOG) NEWAPPL(ISP)                               
                      DISPLAY LOG DISPOSITION CLOGIT                            
 ____ CLOGB     5  SELECT CMD(%CLOG BROWSE) NEWAPPL(ISP)                        
                      BROWSE LOG CLOGIT                                         
 ____ CLOGD     5  SELECT CMD(%CLOG DELETE) NEWAPPL(ISP)                        
                      DELETE LOG CLOGIT                                         
 ____ CLOGKN    6  SELECT CMD(%CLOG KEEP) NEWAPPL(ISP)                          
                      KEEP LOG, NEW CLOGIT                                      
 ____ CLOGPD    6  SELECT CMD(%CLOG PRINT) NEWAPPL(ISP)                         
                      PRINT AND DELETE LOG CLOGIT                               


When maintenance is complete, press PF3 to save the changes.

Each time a command table is modified, the users ISPF session must be restarted for the new table entries to take affect.

How it works

When a command is entered (in the ISPF command line), ISPF searches the application command table (if one is defined) followed by a subsequent search against the system command table. If a command is found, the command is executed. If a command is not found, control is passed to the dialog with the command as submitted by the user.

Declaring Commands

 COMMAND TABLE - ISP      ------------------------------------------------------
 COMMAND ===>                                                  SCROLL ===> PAGE 
                                                                                
                                                                                
 Insert, Delete, and Change command entries. Underscores need not be blanked.   
 Enter END command to save changes or Cancel to end without saving.             
                                                                                
      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 ____ ________  _  ____________________________________________________________ 
                      _________________________________________________________ 
 ******************************* BOTTOM OF DATA ******************************* 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

Each table entry is comprised of four columns as described below:

VERBname of command (2-8 characters, must begin with alphabetic character)
Tminimum number of characters to enter to find a match
ACTIONaction to be performed when command is entered
DESCRIPTIONbrief description of command purpose

Valid VERBs and example commands are listed below:

SELECTcontrol given to command, program or panel; follows same syntax as SELECT service (e.g. SELECT PGM() PARM() NEWAPPL())
ALIASAssigns an alias command to another command. No parameters allowed. Alias command cannot be another application or system command entry
PASSTHRUpass command to dialog
NOPPlaces the command in an ‘inactive’ state and ISPF displays ‘invalid command’ message when encountered
blankIgnore the table entry and continue scanning command table; an alternative to ‘comment out’ the command!

VERB: SELECT

      VERB      T  ACTION             
                      DESCRIPTION                                               
                                                                                
 ____ CLOG____  6  SELECT CMD(%CLOG) NEWAPPL(ISP)______________________________ 
                      Display ISPF LOG disposition_____________________________ 
                                                                                

When the command CLOG is entered, the action “SELECT CMD(%CLOG) NEWAPPL(ISP)” is executed displaying the ISPF LOG disposition panel.

VERB: ALIAS

      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 ____ FIN_____  3  ALIAS END___________________________________________________ 
                      Another END______________________________________________ 
                                                                                

When the command FIN is entered, the action “ALIAS END” is executed substituting END as the submitted command.

VERB: PASSTHRU

      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 ____ SETPASS_  7  PASSTHRU____________________________________________________ 
                      Pass command to dialog___________________________________ 
                                                                                

When the command SETPASS is entered, the action “PASSTHRU” interrupts further search of the command table entries and the SETPASS command is passed to invoking dialogue.

VERB: NOP

      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 ____ SETNOP__  3  NOP_________________________________________________________ 
                      Inactive command_________________________________________ 
                                                                                

When the command SETNOP is entered, the action “NOP” interrupts further search of command table entries and displays an error message (inactive command).

VERB: BLANK

      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 ____ SETBLK__  6  ____________________________________________________________ 
                      Ignore command___________________________________________ 
                                                                                

When the command SETBLK is entered, the action “” ignores the found table entry and search of command table entries continues!

Limitations

  • Not all command table declaration or execution functionality (per IBM ISPF version) is implemented under ISPF v2.2
  • Use of &ZPARM is not implemented in ISPF v2.2 (command table utility option 3.9)
  • ALIAS verb only allows a command with no subsequent parameters
  • After returning from a command defined as a command table entry, the typed command remains in the COMMAND line. Ensure you clear the previously executed command before continuing to prevent resubmission.

Closing

Increase your ISPF productivity by using shorter commands (from the ISPF command line) by using command table entries for your user ISPF session.

A good general reference ISPF v2.2 from Wally Mclaughlin is SC34-2047-0 SPF Program Reference from March 1981 and SC34-2036-1 SPF Dialog Management Services from March 1981.

Keep in mind: ISPF v2.2 from Wally Mclaughlin may not support or partially support IBM-proper documented functionality.

Below are some suggested commands for your use with ISPF v2.2…

 --------------------------  COMMAND TABLE UTILITY  ---------------- Row 1 of 15
 COMMAND ===>                                                  SCROLL ===> PAGE 
                                                                                
                                                                                
 Insert, Delete, and Change command entries. Underscores need not be blanked.   
 Enter END command to save changes or Cancel to end without saving.             
                                                                                
      VERB      T  ACTION                                                       
                      DESCRIPTION                                               
                                                                                
 
 ____ CFLDSI    6  SELECT CMD(%CFLDSI)                                          
                      DISPLAY SESSION ALLOCATED FILES (TSO)                     
 ____ CLOG      4  SELECT CMD(%CLOG) NEWAPPL(ISP)                               
                      DISPLAY LOG DISPOSITION CLOGIT                            
 ____ CLOGB     5  SELECT CMD(%CLOG BROWSE) NEWAPPL(ISP)                        
                      BROWSE LOG CLOGIT                                         
 ____ CLOGD     5  SELECT CMD(%CLOG DELETE) NEWAPPL(ISP)                        
                      DELETE LOG CLOGIT                                         
 ____ CLOGKN    6  SELECT CMD(%CLOG KEEP) NEWAPPL(ISP)                          
                      KEEP LOG, NEW CLOGIT                                      
 ____ CLOGPD    6  SELECT CMD(%CLOG PRINT) NEWAPPL(ISP)                         
                      PRINT AND DELETE LOG CLOGIT
 ____ DALCDS    6  SELECT CMD(DALCDS) NEWAPPL(DALC)
                                                   
 ____ DFSPC     5  SELECT CMD(DFSPC) NEWAPPL(DFSP) 
                                                   
 ____ DUCBD     5  SELECT CMD(DUCBD) NEWAPPL(DUCB) 
                                                                                  


Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues regarding this post.

Also, please share any personal experiences with command table entries not described in this post.

Enjoy,

Larry Belmontes

Tagged ,

Leave a Reply

Your email address will not be published. Required fields are marked *


CAPTCHA Image
Reload Image

This site uses Akismet to reduce spam. Learn how your comment data is processed.