September 2002

IOFTech    EndFAQ    Maintenance   Release8G       Newsletters    Doc    FAQ    Contacts    Home    Webmaster

IOF Release 7H



Release 7H of the Interactive Output Facility (IOF) program product provides support for  z/OS 1.4. Earlier IOF releases will not run with z/OS 1.4. IOF 7H also runs with any version of OS/390 and with earlier releases of z/OS.

Several additional enhancements are also included in 7H to make IOF easier to install, maintain and use. This newsletter provides additional information about the major enhancements provided by the new IOF release.

IOF 7H was officially released on October 1, 2002.

z/OS 1.4 Support

IBM continues to modify and improve JES2 to remove constraints and improve performance. Several modifications of this nature were made to the z/OS 1.4 version of JES2.These improvements often cause changes to checkpoint and other internal JES2 control blocks. IOF is sensitive to this kind of change. Release 7H has been updated to track them.

IOF 7H utilizes the spool I/O subsystem function to read the JES2 spool packs when running with z/OS 1.4 or later. The old spool read interface continues to be used when running with older versions of z/OS or OS/390. The new spool read subsystem function (SSI 71) provides several advantages to IOF:

The new z/OS 1.4 version of JES2 has moved the PSO function to a data space to provide constraint relief and more reliability. IOF 7H has been updated to interface to the new PSO function when running with z/OS 1.4.

Select Quick Command

The new SQ line command (Select Quick) has been added to the Job List Menu and Output Group Display. SQ displays the data set portion of the IOF Job Summary but skips the building of the step return codes.

Long running tasks such as CICS and DB2 often produce thousands of sysout data sets and hundreds of thousands of lines of output in the system messages data set. Such tasks are usually a single step, and no return code information is available while that single step is running. But, IOF has to read the entire system messages data set looking for return code information when the task is selected with the "S" command. The "SQ" command avoids this unnecessary overhead and produces an abbreviated Job Summary without a step return code section.

Spun JESLOG Support

Non-terminating systems tasks, such as CICS and DB2, often run for many months without restarting. The JESLOG and MESSAGES data sets for such tasks can accumulate thousands of records over such a long period of time. The JESLOG and MESSAGES are difficult to archive until the job terminates.

JES2 versions z/OS 1.2 and later provide a way to spin off the JOBLOG and MESSAGES data sets before the task terminates. The new JES2 JOBCLASS JESLOG=SPIN parm specifies the spin characteristics for a JOB, TSU, or STC class. The JESLOG=SPIN JOB statement parm can also be used to specify spinning for a specific job. These parms are designed to be used for very long running tasks but are not needed for most jobs or systems tasks. The JESLOG and MESSAGES are spun when a size threshold is reached, or at specified times.

IOF 7H has been modified to react to spun JESLOG and MESSAGES data sets. The spun data sets are displayed at the top of the Job Summary. IOF displays the JESLOG data sets with DDNAMES of LOG, LOG001, LOG002, etc., and the MESSAGES data sets with DDNAMES of MESSAGES, MSG001, MSG002, etc.

 ------------------------------- IOF Job Summary -------------------------------
 COMMAND ===>                                                  SCROLL ===> CURSOR
    CICSPRD  S024753  OUTPUT   14:21   8/13/2002 TUESDAY   LOCAL
     0  DFGSIP     CICSP             CICS
 _     1  LOG      *                 HELD     A   1 H   15 L LOCAL
 _     2  LOG00001 *                 HELD     A   2 H  489 L LOCAL
 _     3  LOG00002 *                 HELD     A   5    501 L LOCAL
 _     4  LOG00003 *                 DONE     A     H  501 L LOCAL
 _     5  LOG00004 *                 HELD     A   7 H  501 L LOCAL
 _     6  LOG00005 *                 HELD     A   9 H   32 L LOCAL
 _     7  JCL      *                 HELD     A   1 H   14 L LOCAL
 _     8  MESSAGES *                 HELD     A   1 H    4 L LOCAL
 _     9  MSG00001 *                 HELD     A   3 H  502 L LOCAL
 _    10  MSG00002 *                 HELD     A   4 H  498 L LOCAL
 _    11  MSG00003 *                 HELD     A   6 H  499 L LOCAL
 _    12  MSG00004 *                 HELD     A   8 H  499 L LOCAL
 _    13  MSG00005 *                 HELD     A  10 H   43 L LOCAL
 _    14  DFHCXRF  CICSP    STARTING HELD     A  11 H  22K L LOCAL
 _    15  MSGUSR   CICSP    STARTING HELD     A  11 H 175K L LOCAL
 _    16  LOGUSR   CICSP    STARTING HELD     A  11 H 9849 L LOCAL
 _    17  SYS12372 CICSP    STARTING HELD     A  12 H 1125 L LOCAL
 _    18  SYS12374 CICSP    STARTING HELD     A  13 H  877 L LOCAL
 _    19  SYS12377 CICSP    STARTING HELD     A  14 H  45K L LOCAL

Each of the spun LOG and MSG data sets is really an extent of the logical log or messages data set. If any one of the LOG or MSG data sets is allocated with the IOF data set ALLOC command then all the extents are automatically concatenated together. The IOF SB command uses the ALLOC function to allocate the browse input data set. Therefore, using the SB line command on any LOG or MSG extent has the effect of selecting all the concatenated data sets for system browse. Note however that the concatenation is broken when an extent is found that has already been printed or cancelled. In the panel above, the SB command for menu number 1, 2 or 3 displays DDNAMEs LOG, LOG00001, and LOG00002. LOG00003 has already been cancelled or printed (DONE) which breaks the concatenation to the remaining logs.

Sysout Data Set Compare Command

The sysout data set compare 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.

A "new" and an "old" data set will be compared. Enter the COMP data set line command on the IOF Job Summary to define the "new" data set and start the compare dialog.

------------------------------- 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
COMP 5   SYSUT2   A                 HELD     J   3 H 1211 L TRISYS
_     6  SYSPRINT B                 HELD     X   2 H    4 L TRISYS

A popup window will be displayed to instruct the user on defining the "old" data set.

              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" 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 with a sysout data set in another job:

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

Output from the compare is written to a HELD SYSOUT data set spun from the user's TSO session. The DDNAME is "OUTDD".

SLAM Index Runaway Detection

The Syslog and Operlog indexing tasks SLAMRUN and SLAMOPER build indices to important events in the system log and operlog. Customers can easily define messages of local interest to be indexed in the log index. Occasionally, the messages being indexed can be written at a furious rate due to some system error or malfunction. For example, a single device can produce hundreds of "IOS" error messages a second. The SLAMRUN task attempts to build indices to all these messages and will eventually overflow the size of the SLAM index data set.

The 7H versions of SLAMRUN, SLAMOPER and SLAMMEMO include code to detect such runaway occurrences. When runaway conditions are detected, most indexing is discontinued. This allows the SLAMRUN, SLAMOPER and SLAMMEMO tasks to continue uninterrupted. Appropriate messages are issued to document the discontinuance.

A new CONDRATE parm has been added to the SLAMRUN, SLAMOPER and SLAMMEMO clists. CONDRATE specifies the maximum allowable number of index entries to be built per minute. When this number is exceeded, most indexing is disabled. Time-of-day indexing continues normally.

Default CONDRATE values are:

The default CONDRATE values can be overridden by editing the clists, or by specifying the desired CONDRATE parm in the OPT parm.

The 7H versions of SLAMRUN, SLAMOPER, SLAMMEMO and SLAMPROC support the CONDRATE parm. These clist versions utilize new internal facilities of IOF 7H and will not run with earlier releases of IOF.

IOF Server Attention Handling Improvements

Attention handling for IOF server sessions has been significantly improved for release 7H. Server sessions can now be interrupted with the attention key anywhere that a non-server session can be interrupted.

Release 7H must be run on both the client and server IOF sessions for the improvements to take effect. A down level IOF server will function with a 7H client session, but the attention improvements will not be realized. A down level IOF client will not communicate with a 7H server session.

Installations that have multiple IOF clients and servers should convert the IOF servers to 7H only after all the client IOF sessions (TSO and CICS users) have been converted. The M21APPC job in the IOF INSTALL library is used to define the JCL used to execute the IOF server APPC session. Servers should be updated to use 7H only AFTER all clients on all communicating systems have been converted.

Prefix Command Generic Extensions

The IOF PREFIX command allows the user to specify a generic jobname filter for jobs. The prefix value is saved in the user's profile. The profile prefix can be reset by entering PREFIX with no parms.

PREFIX uses the "+" character as a single character wildcard, and the "*" as a multiple character wildcard. In prior versions of IOF, "*" multiple character wildcards could only be used as a wildcard terminator. In other words, it could only be used as the final character in the prefix.

Two "*" multiple character wildcards can be used with the new PREFIX command in Release 7H as long as the second wildcard is a wildcard terminator. For example, the following commands are now valid:

     PREFIX  A*B*
     PRE  +A*B*
     PRE *9*

PREFIX replaces intermediate "*" wildcards with one or more "+" wildcards. You can see this expansion on the IOF Option Menu in the JOBNAMES field. For example, specifying PREFIX A*B* will set the JOBNAMES field shown below.

 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 ===> AB* A+B* A++B* A+++B* A++++B*
                               Enter 1 to 8 generic jobnames above

    SCOPE     ===>             ALL, ME or another user's USERID
                               Enter HELP to see all valid SCOPE values

    DEST      ===>
                               Enter 1 to 8 destinations above

    SORT      ===> INVNULL     Enter HELP to see all valid SORT values

Internal Rexx Execs

Many IOF/TSO commands and functions are implemented via Rexx execs. Examples of commands implemented in Rexx include "LOG", "PREFIX", "CONFIRM", "EDIT" and "PC". These examples are very basic IOF functions. In order to use these features, the IOF CLIST library, or a system library containing the latest IOF clists and Rexx execs, is required to be allocated to the SYSPROC DDNAME of each TSO session.

IOF/TSO release 7H has imbedded the Rexx execs for the most basic functions into the main IOF load module. A copy of these execs is also included in the IOF CLIST library for documentation purposes, but the copy will normally not be invoked by IOF. Imbedding execs in the IOF load module provides several distinct advantages:

The execs listed below are included in the IOF/TSO 7H main load module as internal execs. IOF/CICS does not support the use of clists or Rexx execs.

IOF$AT1 Display and change terminal color
IOF$BF1 System browse (SB) command
IOF$CA1 Cancel confirmation function
IOF$CM1 Issue MVS command, scan SYSLOG for result
IOF$CP1 Data set compare command
IOF$DU1 Data set dump control blocks command
IOF$EF1 Edit job on server
IOF$EF3 Edit sysout data set command
IOF$EF6 Edit job command
IOF$EJ6 Restart job confirmation
IOF$LG1 LOG command
IOF$MA1 MAINT command
IOF$NU1 New user intro function
IOF$PC1 Print check command
IOF$PR1 PREFIX command
IOF$SF1 Server error message function
IOF$SY1 SYSID command
IOF$TR1 TRACE command
IOF$TS1 TS command

Enclave CPU Time Display

Two new fields have been added to the IOF System Monitor panel to display enclave CPU time and enclave CPU percent. The field names, and the panel titles for the new fields are:

     Title       Name       Description
     ECPU        ECPU       CPU time including enclave time
     ECPU%       ECPURATE   CPU rate including enclave time
The old CPU and CPU% fields are unchanged on the System Monitor panel. These fields display TCB and SRB CPU time only, as in previous releases.

The CPU field on the RUNNING section of the Job List Menu has been modified to include enclave CPU time.

Job Summary Display of Forked Unix Address Spaces

The Job Summary Panel has been modified to display a line in the STEP section for each forked unix address space. The STEPNAME for forked address spaces begins with "*", and the PGM name is set to blank.

 ------------------------------- IOF Job Summary -------------------------------
 COMMAND ===>                                                 SCROLL ===> CURSOR
   BPXBATCH J027598  OUTPUT   12:03   5/08/2002 WEDNESDAY TRISYS
    0             *OMVSEX
  127             *OMVSEX
    0             *OMVSEX
    0             *OMVSEX
    0  IEFBR14    STEP3
 _    1  LOG      *                          1   1 W   15 L TRISYS
 _    2  JCL      *                          1   1 W    7 L TRISYS
 _    3  MESSAGES *                          1   1 W   97 L TRISYS

In the example above, both STEP1 and STEP2 spawned forked address spaces. Note that each forked address space has an independent return code (RC) displayed. The second forked address space for STEP1 had return code 127.

Miscellaneous Changes

Enable Command

IOF line commands can be entered in the COMMAND area by preceding the command with menu number(s) or ranges of menu numbers. For example, "3 5-19 C" will cancel items with menu numbers of 3, and 5 through 19. By default, the maximum number of items that can be manipulated with a single command is 99.

The ENABLE command on the IOF Job List Menu (and other IOF list panels) overrides the maximum number of rows that can be manipulated with a single IOF command. For example, the commands shown below will cancel jobs, groups, or data sets 1 through 9999:

         ENABLE 9999
         1-9999 C

The maximum acceptable value for the ENABLE command parm has been increased from 32,767 to 999,999.

Job Summary Panel ARRANGE Command

The ARRANGE command, and associated CUT and PASTE commands, can now be used on the Job Summary Panel data set section to re-organize the display of data set information. These commands were not available in previous releases on this panel.

Index Entries

The maximum number of IOF data index entries has been increased from 32,767 to 999,999. The SLAMRUN, SLAMOPER and SLAMMEMO tasks build indices to system log information. Individual sites can define indices to information of local interest. System log data can be unpredictable, and occasionally a very large number of items needs to be indexed.

This change applies to all IOF indexing. The BUILD INDEX (BI) command builds IOF indices to any sysout data. BI is a data set line command on the Job Summary Panel and a primary command from IOF Browse.

Running Job Restart Command

The RESTART (abbreviated E) line command for running jobs causes a running job to be rerun after the job completes execution. Rerunning some production jobs can have dire consequencies. We have decided that the E abbreviation for the restart command is too easy to enter by mistake, and that users should be encouraged to enter the longer RES line command to request the restart function.

Release 7H has been modified to display a confirmation panel when the E line command is entered. The user can confirm or deny the restart function. The panel tells the user that the confirmation panel can be avoided by entering the longer RES line command.

 ---------------- Restart Command Confirmation Panel -----------------
 COMMAND ===>                    

           You have entered an "E" line command to restart the
           execution of a running job.

           Jobname   Jobid     Job Owner
           HR21303   J030103   HRA199

           Press ENTER to confirm the job restart
           press END to cancel the restart.

   To avoid this confirmation panel in the future, enter the "RES"
   line command to restart a job instead of the "E" line command.


All applicable IOF 7G maintenance has been applied to release 7H.

Triangle Systems, Inc. PO Box 12752, Research Triangle Park, NC 27709