May 2002

IOFTech    Maintenance   Release8G       Newsletters    Doc    FAQ    Contacts    Home    Webmaster

Handy IOF Features You May Not Know About



Each IOF release introduces one or more new features. Some are documented only by the NEW command for that release and may not be included in the IOF User's Guide or the IOF Installation Guide. This newsletter re-introduces several of these new features along with examples of their use.

Discovering New IOF Features

Enter the NEW command from any IOF panel to display a menu of new features in each IOF release from Release 7C to the current IOF Release.

Syntax: NEW

When entered from any IOF Release 7G panel, the following list is displayed.

------------------------ What's New in IOF Release 7G ------------------------
COMMAND ===> 1                                                                 
     This dialog summarizes what is new in IOF Release 7G.  Users             
     converting from earlier releases of IOF may also want to see what        
     was new in Releases 7C, 7D, 7E and 7F.                                   
         1  New features of Release 7G                                        
         2  New features of Release 7F                                        
         3  New features of Release 7E                                        
         4  New features of Release 7D                                        
         5  What was new in Release 7C                                        

Enter "1" to display a menu of new 7G features. Or, press ENTER without selecting an option to step through each IOF release in sequence.

 ----------------------- New Features of IOF Release 7G -----------------------
 COMMAND ===>                                                                  
          1  Support for z/OS 1.2                                              
          2  Automatic console scrolling                                       
          3  New SNAP options                                                  
          4  IOFWTR, SLAMWTR, SLAMMEMO and SLAMARCH use of faster SNAP         
          5  New TS and SR commands                                            
          6  Multiple dataset support for IOFADDC and IOFREMC                  
          7  Sysout data set compare utility                                   
          8  Miscellaneous  Changes                                            
          9  Print a Copy of all 7G NEW Panels as a reference document         

From this menu you can select specific features or press ENTER to step through each item in sequence. Note that you can print a copy of the new features by entering option "9".

Saving Option Menu Values

The IOF Option Menu has input areas for specifying one to eight JOBNAMES, the session SCOPE and session DEST.~~ Special users may need to display multiple sets of jobs that are specified by entering values in one or more of these fields. For example, personnel in the human resources department may need to see all jobs with jobnames beginning "HR", "PA", "PR" and "PY" if the job is owned by a userid beginning "H9".   A menu of such jobs can be displayed by entering the values shown on the IOF Option Menu below.

 ------------------------------- IOF Option Menu ------------------------------
 COMMAND ===>                                                                   
Select an option.  To get a detailed option menu, follow the option with "?".   
 blank - Your jobs         G   - Output Groups        M    - System Monitor     
   I   - Input jobs        H   - Held Groups          INIT - Initiators        
   R   - Running jobs      L   - System Log           APPC - APPC tasks/output  
   O   - Output jobs       PR  - Printers             MAS  - MAS system display 
   J   - All jobs menu     D   - Device Options       CMDS - Global Commands    
   P   - IOF Profile       NEW - What's New in IOF    QT   - Quick Trainer     
 JOBNAMES ===> HR*  PA*  PR*  PY*      
                           Enter 1 to 8 generic jobnames above             
 SCOPE    ===> H9*         ALL, ME or another user's USERID
                           Press HELP to see all valid SCOPE values             
 DEST     ===>                                                                  
                           Enter 1 to 8 destinations above                      
 SORT     ===>             Press HELP to see all valid SORT  values  

Each user can use the SAVEPROF to save all values entered on this or any other option menu in their own profile. Each subsequent IOF session then will be initialized with these profile values.

SAVEPROF works great if the user must manage only one set of jobs. Since many production control personnel must manage multiple sets of jobs, saving a single profile value may not be sufficient.

The PSAVE and PRESTORE commands allow each user to save and subsequently restore a maximum of 36 sets of JOBNAMES, SCOPE and DEST values. The PLIST command displays a list of the previously saved profile values.

PSAVE Command

The PSAVE command must be issued from the IOF Option Menu to save the values of JOBNAMES, SCOPE and DEST in a location named by a single character which is specified as a parm. The letters "A" through "Z" and the digits "0" through "9" may be specified as the location.

Syntax: PSAVE location

"location" is a single letter or number. A maximum of 36 PSAVE locations are available (each of the letters and numbers). The example below saves the JOBNAMES, SCOPE and DEST (null) values in profile location "A".

 ------------------------------- IOF Option Menu -------------------------------
 COMMAND ===> PSAVE A                        
Select an option.  To get a detailed option menu, follow the option with "?".   
 blank - Your jobs         G   - Output Groups        M    - System Monitor     
   I   - Input jobs        H   - Held Groups          INIT - Initiators         
   R   - Running jobs      L   - System Log           APPC - APPC tasks/output  
   O   - Output jobs       PR  - Printers             MAS  - MAS system display 
   J   - All jobs menu     D   - Device Options       CMDS - Global Commands    
   P   - IOF Profile       NEW - What's New in IOF    QT   - Quick Trainer      
 JOBNAMES ===> HR*  PA*  PR*  PY*  
                           Enter 1 to 8 generic jobnames above                  
 SCOPE    ===> H9*         ALL, ME or another user's USERID
                           Press HELP to see all valid SCOPE values             
 DEST     ===>                                                                  
                           Enter 1 to 8 destinations above                      
 SORT     ===>             Press HELP to see all valid SORT  values             

This user also may need to display job lists of all jobs owned by userids beginning "H9". To simplify displaying this list, clear the JOBNAMES field on the menu above. Leave the value "H9*" in the SCOPE field. Then enter "PSAVE B" in the COMMAND area to save the new values in profile location "B".    Many combinations can be saved in the 36 available profile locations.

PLIST Command

The PLIST command displays each of the locations previously saved with PSAVE. This can be helpful for users who have more than two or three saved locations. PLIST can be entered from any IOF panel.

Syntax: PLIST

An example PLIST display is shown below.

----------------------- Display Current PSAVE Variables -----------------------
COMMAND ===>                                                                   
 Enter PSAVE followed by a letter or digit on the IOF Option Menu              
 to save the parm fields in the specified bin.  Enter PRESTORE                 
 followed by a name from the table below to restore the prefix,                
 scope and dest. PRESTORE with no parms resets prefix, scope and dest.         
   7    H1919* H1920* H2* H3*                                                  
   A    HR* PA* PR* PY*                 H9*                                    
   B                                    H9*                                    
   C    PR1545  PR1546  PR1600 PR1605 PR                                       
   D    ZE*  +ZE*  ++ZE*  +++ZE*  ++++ZE                                       


The PRESTORE command can be entered on any IOF panel to restore any "location" previously saved with PSAVE. If PRESTORE is entered with no parms, the JOBNAMES, SCOPE and DEST fields are reset to null values. PRESTORE can be abbreviated as PREST.

Syntax: PRESTore [location]

For example, assume that PSAVE commands for locations "A", "B", "C", "D", and "7" as shown on the PLIST list above have been entered. On the IOF Option Menu enter "PREST D" then press ENTER to display a Job List Menu of all jobs that have the characters "ZE" anywhere in the jobname.

------------------------------ IOF Job List Menu -------------( 3 )------------
COMMAND ===> PREST A                                        SCROLL ===> CURSOR
--------------------------------- Output Jobs ---------------------------------
_    1 TSTZERR  J027235          ISITSA   TRISYS                  66K 121 14:21
_    2 ZEATEST  J027234          ISIJRX1  TRISYS              37      121 14:20
_    3 TZEDTEST J004325          TSISYST  TRISYS                  122 184  8:26

Enter "PREST A" in the command area of this job list to immediately display jobnames beginning "HR", "PA", PR" and "PY" owned by userids beginning "H9". Or enter "PREST" with no parms to reset all three option menu fields and display the jobs owned by the current userid.

Comparing Sysout Data Sets

A new sysout data set compare feature was added to IOF Release 7G after the release documentation had been published. This new feature is therefore documented only in the release 7G "NEW" command. This feature allows any sysout data set to be compared with any other sysout data set in the same or a different job, or to a data set saved to disk. Since the ISPF compare utility is used to compare the two data sets, this feature is available only when running IOF/TSO under ISPF.

COMP Line Command

Enter the COMP line command for a data set on the IOF Job Summary  to define the NEW compare data set as shown on the panel below.

------------------------------- IOF Job Summary -------------------------------
COMMAND ===>                                                 SCROLL ===> CURSOR
  GENER2   J026679  OUTPUT    9:21   4/25/2002 THURSDAY  TRISYS                
   0  IEBGENER   A                                                             
   0  IEBGENER   B                                                             
_    1  LOG      *                 HELD     H   1 H   16 L TRISYS              
_    2  JCL      *                 HELD     H   1 H   13 L TRISYS              
_    3  MESSAGES *                 HELD     H   1 H   47 L TRISYS              
_    4  SYSPRINT A                 HELD     X   2 H    4 L TRISYS              
_    5  SYSUT2   A                 HELD     J   3 H 1211 L TRISYS              
_    6  SYSPRINT B                 HELD     X   2 H    4 L TRISYS              
COMP 7  SYSUT2   B                 HELD     J   3 H  41K L TRISYS              

The following popup window will be displayed.

             IOF Sysout Data Set Compare        
   The selected sysout data set has been allocated as the      
   NEW compare data set for the ISPF compare utility.          
   To select an OLD compare dataset, either enter the DSNAME   
   below, or enter the COMP line command for another data      
   set in the same or a different job.  The OLD and NEW        
   data sets will be compared and the results saved in a       
   SYSOUT which will be automatically displayed.               
 OLDDSN ===>                                                   
   ENTER to continue            END to terminate               

Follow the popup instructions to define the OLD compare data set. If you specify a data set name, the specified NEW sysout data set will be compared to the OLD disk data set. To compare the NEW data set a sysout data set in another job, press ENTER on the popup; return from the Job Summary Panel; select the other job; then enter the "COMP" line command for the desired NEW sysout data set. Another popup will be displayed to allow you to select compare options.

                  IOF Sysout Data Set Compare             
              Jobname    Jobid     Step        DDname     
  New Sysout: GENER2     J026679   B           SYSUT2     
  Old Sysout: GENER3     J026713   B           SYSUT2     
       Compare Type     Listing Type                      
       1  1. Delta      1  1. Default vertical            
          2. Chng          2. Longln vertical             
          3. Long          3. Narrow side-by-side     
 Other                     4. Wide side-by-side       
 Parms ===> NOSEQ                                         
   ENTER to continue            END to terminate          

Select the desired compare options and press ENTER to have the two data sets compared. The comparison output is saved in a held sysout data set from the user's TSO session. It will be selected for browse when the comparison is completed.

Editing and Submitting Jobs on Spool

When running under ISPF, IOF has the capability to edit and/or re-submit a job residing on the JES2 spool. The original input job is rebuilt and presented in the ISPF editor when edit is specified. The rebuilt job submitted directly when submit is specified. In either case, sysin data sets are merged into their original position in the input JCL. These features are not available to IOF/CICS or when running IOF from TSO READY.

Note that passwords are normally removed by JES2 from input JCL and data sets and will not be automatically restored.

Output jobs that were received by NJE, or that were offloaded and uploaded with the JES2 offloader do not have input jcl or data sets saved on spool. Therefore these jobs can not be edited or submitted.

EDIT Command

Enter the EDIT line command on the Job List Menu to rebuild the input stream for a job in the ISPF editor. Alternately, you can enter the ED primary command on the IOF Job Summary.    EDIT can be abbreviated "ED".   A standard ISPF edit session is invoked.

 ------------------------------ IOF Job List Menu -------------( 29 )-----------
 COMMAND ===>                                                 SCROLL ===> CURSOR
 --------------------------------- Output Jobs ---------------------------------
 ED   1 GENER2   J026679          ISI920   TRISYS                   86 115  9:21
 ED   2 XYZABCD  J026654     S806 ISI920   TRISYS                   99 114 18:37
 SUB  3 MTEST    J026609          ISI920   TRISYS            1047      114 15:56
 _    4 JOBUPLOD J026541          ISI920   TRISYS              81    5 114 10:33
 _    5 OUTQUE   J026202          ISI920   FETCH              111      106 11:46
 _    6 M17TRYW  J026134          ISI920   TRISYS             21K      105 10:22

In the example Job List Menu displayed above, the first job will be rebuilt and edited. This edit session is shown in the display below. When the edit session is terminated, the second job will be edited. When that edit session is terminated, the third job (MTEST) will be submitted.

EDIT       Job GENER2(J026679)                             Columns 00001 00072 
Command ===>                                                  Scroll ===> CSR  
****** ***************************** Top of Data ******************************
=NOTE= ----------------------- IOF SPOOL EDIT COMMANDS ----------------------- 
000001 //GENER2 JOB 1,WALKER,MSGCLASS=H,TYPRUN=HOLD                            
000002 //A EXEC PGM=IEBGENER                                                   
000003 //SYSPRINT DD SYSOUT=X                                                  
000004 //SYSIN DD DUMMY                                                        
000005 //SYSUT2 DD SYSOUT=J,HOLD=YES                                           
000006 //A.SYSUT1 DD *                                                         
000007 This is test input data                                                  
000008 /*                                                                      

Note that the original jobname and jobid are displayed on the top line of the editor instead of the name of the temporary data set that is being edited. "NOTE" statements give special instructions for an edit job session.

You can make any necessary changes to the job and SUBMIT or save it as needed. When you END the edit session, the temporary data set is deleted.

SUBMIT Command

Enter the SUBMIT line command on the Job List Menu   to rebuild and submit the input stream for a job. Or you can enter the SUBMIT primary command on the IOF Job Summary.    SUBMIT can be abbreviated "SUB". Do not use SUBMIT if you need to make any changes to the original job.

Editing All or Parts of Sysout Data Sets

When running under ISPF, all or parts of sysout data sets on the spool can be edited.

Edit Data Set Command

Enter the EDIT line command for a sysout data set on the IOF Job Summary to edit an entire data set. EDIT can be abbreviated "ED".

------------------------------- IOF Job Summary -------------------------------
COMMAND ===>                                                 SCROLL ===> CURSOR
  HASPDOC  J027246  OUTPUT   17:18   5/01/2002 WEDNESDAY TRISYS.ZOS130         
   0  IEBGENER   ASSEMBL                                                       
_    1  LOG      *                          1   1 W   15 L TRISYS.ZOS130       
_    2  JCL      *                          1   1 W    9 L TRISYS.ZOS130       
_    3  MESSAGES *                          1   1 W   30 L TRISYS.ZOS130       
_    4  SYSPRINT ASSEMBL                    1   1 W    3 L TRISYS.ZOS130       
ED   5  SYSUT2   ASSEMBL           HELD     H   2 H  86K L TRISYS.ZOS130       

EDIT Command from IOF Browse

You may not want to edit the whole sysout data set. For example, editing very large sysout data sets could be limited by local restrictions on TSO region and temporary data set size.

When browsing the system log (SYSLOG or OPERLOG), it may be useful to edit only a subset of the total log. For example, suppose that you need to find all log entries for a TSO session that started at 12:33 and logged off at 13:55. Editing just that part of the total log makes it easy to find the specific entries for that job.

Syntax: ED nnnn
where:  nnnn is the number of records to be edited, beginning at the top of the current screen. If nnnn is not specified, the whole sysout data set is edited.

The syslog display below shows TSU26865 logging on at 12:33. The IOF browse session is positioned with this logon record at the top of the screen. From the top line of the display, we see that this is record number 322,514.

To edit part of the log, we need to know the number of records to edit. We could arbitrarily edit the next 5000 records beginning at the top of the current screen. Or, we could find the session logoff, note the record number, and calculate the number of records between the logon record and logoff record.

Assume that there were 3579 records between logon and logoff. To edit just those records, enter "ED 3579" as shown on the IOF Browse session below.

 TSI1 SYSLOG from 02116 Fri 12:18 to Sat 00:01           Record  322514 Col  26 
 COMMAND ===> ED 3579                                        SCROLL ===> CURSOR
12:33:40.54 INSTREAM 00000290  LOGON                                            
12:33:42.38 TSU26865 00000090  $HASP100 ISITLS   ON TSOINRDR                    
12:33:42.72 TSU26865 00000090  $HASP373 ISITLS   STARTED                        
12:33:42.73 TSU26865 00000081  IEF125I ISITLS - LOGGED ON - TIMEy12.33.42       
12:34:29.56 INSTREAM 00000290  LOGON                                            
12:34:31.68 TSU26866 00000090  $HASP100 ISISEB   ON TSOINRDR                    
12:34:32.01 TSU26866 00000090  $HASP373 ISISEB   STARTED                        
12:34:32.02 TSU26866 00000081  IEF125I ISISEB - LOGGED ON - TIME=12.34.32       
12:34:33.44          00000281  IEF196I IEF237I 0300 ALLOCATED TO SYS00084       
12:34:33.50          00000281  IEF196I IEF285I   ISP.SISPLOAD                   
12:34:33.50          00000281  IEF196I IEF285I   VOL SER NOS= OS39R8.           
12:34:38.41 INSTREAM 00000290  LOGON                                            
12:34:40.73 TSU26867 00000090  $HASP100 TSISYST  ON TSOINRDR                    
12:34:41.06 TSU26867 00000090  $HASP373 TSISYST  STARTED                        
12:34:41.07 TSU26867 00000081  IEF125I TSISYST - LOGGED ON - TIME=12.34.41      
12:34:44.04 INSTREAM 00000290  LOGON                                            
12:34:45.54 TSU26868 00000090  $HASP100 ISIFVS   ON TSOINRDR                    
12:34:45.92 TSU26868 00000090  $HASP373 ISIFVS   STARTED                        
12:34:45.93 TSU26868 00000081  IEF125I ISIFVS - LOGGED ON - TIME=12.34.45       

With the ISPF editor, it is easy to isolate all the records that are applicable to this particular TSO session. For example, the following edit command sequence can be used to delete all records except records that contain the strings "TSU26865", "ISITSL", "CANCELLED" or "ABEND"; then, save a copy of the remaining records to a sysout data set.


Determining Why Output Will Not Print

The IOF Print Check command is handy to diagnose why output will not print. There are many parms and specifications that must be specified correctly in order for output to be selected and printed by a JES2 printer. Sysout characteristics must match printer characteristics for example. JES2 printers must be started and available.
Suntax: PC
The PC line command can be issued for a job on the Job List Menu, for an output group on the Output Group Display, or for a single sysout data set on the IOF Job Summary. The PC primary command is available on the IOF Job Summary to check the status of all sysout data sets being displayed. In the example below, the PC command is entered for the 7th output group on the menu.

-------------------------- IOF Output Group Display ----------( 8 )------------
COMMAND ===>                                                 SCROLL ===> CURSOR
-------------------(   LINES:     18794  PAGES:           )--------------------
------------------------------ Hard Copy Groups -------------------------------
_    1 OUTQUE   J026202          WRITE A FETCH                      3111      L
_    2 OUTPUT   J025341          WRITE A TRISYS            F9233    9843      L
_    3 OUTPUT   J025341          WRITE A TRISYS            F9233     343      L
_    4 OUTPUT   J025341          WRITE A TRISYS            F9233    2005      L
_    5 OUTPUT   J025341          WRITE A TRISYS            F9233     995      L
_    6 OUTPUT   J025341          KEEP  H TRISYS                       40      L
PC   7 OUTQUE   J034169          WRITE H ISIWPC            F2232     111      L
_    8 OUTPUT   J025341          KEEP  X TRISYS                      500      L

The print check command analyzes each JES2 printer on the system with a route code matching the destination (ISIWPC in this case) of the output being checked. It then displays a scrollable panel that describes why each printer can not select the output.

The display below shows:

  • R18.PR1 has a class mismatch.
  • R18.PR2 also has a class mismatch. In addition, this printer has a lower limit set which prevents it selecting output with fewer than 501 records, and the output has only 111 records.
  • R18.PR2 also has a class. In addition, it is set to select only STD forms, but the output specifies forms F2232.
  • The four punches also have class mismatches.

--------------------- Print Check for Job OUTQUE(J034169) -------------------
COMMAND ===>                                                                 
               Output Group 2 1 routed to ISIWPC                             
 --Device name--Attribute---Output value---Device can select-----            
  R18.PR1       class          H              AJ                             
  R18.PR2       class          H              123456789                      
  R18.PR2       lower_limit    111            501                            
  R18.PR3       class          H              123456789                      
  R18.PR3       forms          F2232          STD                            
  R18.PU1       class          H              B                              
  R18.PU2       class          H              K                              
  R18.PU3       class          H              N                              
  R18.PU4       class          H              B                              
               End of Analysis for Job OUTQUE(J034169)                       

The print check command also detects that printers are busy or drained, that jobs or output groups are held, and several other conditions that prevent output from being selected for print.

PC requires the authority to view all printers attached to the system so that it can check their characteristics. Without this authority a user may be "REFUSED" access to the command.


This newsletter has re-introduced a few handy IOF features. Many more such features are described by the NEW command. IOF can be used more effectively if you take advantage of new features.

Most new features are designed to make them relatively easy to remember. Usually you only need to remember the base keyword.

Features Described in this Newsletter

  • NEW
  • COMP
  • ED (job)
  • SUB (job)
  • ED (data set)
  • ED nnnn (from browse)
  • PC

Triangle Systems, Inc.
PO Box 12752,
Research Triangle Park, NC 27709
Phone: 919) 544-0090    Fax: (919) 942-3665y