March/April 1999

IOFTech    EndFAQ    Maintenance   Release8G       Newsletters    Doc    FAQ    Contacts    Home    Webmaster

Generating IOF for an Updated OS/390



IOF Releases 7D and 7E support MVS/JES2 versions 4.3 through OS/390 2.10. Some IOF fixes are required for the later JES2 versions. When you install a new version of JES2 or OS/390, you must re-generate IOF to run with the new system. It is recommended that you build a new level of IOF to support the new system.

The IOF generation process provides job streams to build a new installation level of IOF. If you choose to use these job streams, you can easily generate a new installation level of IOF without modifying the existing production IOF.

This newsletter describes the step-by-step process for building and installing a new installation level of IOF that is tailored to run with the new version of OS/390. The IOF Installation Guide   provides a complete description of the steps required to install both new and updated versions of IOF on your system. You can download a copy of the Installation Guide   if needed. This newletter augments the Installation Guide. We will assume that you are currently running level 0 and want to generate a new level 1. If you are already running a level 1, the steps described here can be used to generate a new level 2 by incrementing the level number.

The examples shown are for an IOF/TSO system. The same procedures can be used to generate a new level of IOF/CICS.

Determining the IOF Data Set Names

There are twelve IOF distribution data sets. If you know the data set names of the distribution data sets, skip to the next section. If you do not know the data set names, go to the IOF Option Menu and enter the command:


This will display the data set name of your IOF OPTIONS data set as shown in the display below.

-------------------------- Display Specific Variable -------------------------

     Variable display status for: STMOPTDS

     OPTIONS variable pool value: SYSIOF.IOFT7D0.OPTIONS

The top level of the data set name shown above is "SYSIOF". This value was defined in member C50PREFX of the IOF Options data set by the person who initially installed IOF. See Section 1 of the IOF Installation Guide if you have questions about how the data set name prefix was defined.

The second level of the data set name above is "IOFT7D0". This level describes the product, release and level of IOF:

IOF      Product Name
TTSO product (C here means CICS product)
7DRelease 7D
0Installation level 0. The process described here will generate a new set of libraries at installation level 1.

The last level of the data set name describes the function. The IOF "OPTIONS" data set name is displayed above. This is a PDS that contains installation definable options.

From ISPF Option 3.4 you can display all twelve of the IOF distribution data sets (as shown below) by entering your IOF data set name prefix in the Dsname Level input field.

                            Data Set List Utility
Option ===>

   blank Display data set list               P Print data set list
       V Display VTOC information           PV Print VTOC information

Enter one or both of the parameters below:
   Dsname Level . . . SYSIOF.IOFT7D0
   Volume serial  . .

Data set list options
   Initial View . . . 1  1. Volume           Enter "/" to select option
                         2. Space            /  Confirm Data Set Delete
                         3. Attrib           /  Confirm Member Delete
                         4. Total

The following actions will be available when the list is displayed:
   Enter a "/" on the data set list command field for command prompt pop-up.
   Enter TSO commands, CLIST, REXX execs, or "=" to execute previous command.

DSLIST - Data Sets Matching SYSIOF.IOFT7D0                         Row 1 of 12
Command ===>                                                  Scroll ===> CSR

Command - Enter "/" to select action                  Message           Volume
         SYSIOF.IOFT7D0.CLIST                                           SYSD22
         SYSIOF.IOFT7D0.HELP                                            SYSD22
         SYSIOF.IOFT7D0.INSTALL                                         SYSD22
         SYSIOF.IOFT7D0.ISPMLIB                                         SYSD22
         SYSIOF.IOFT7D0.ISPPLIB                                         SYSD22
         SYSIOF.IOFT7D0.ISPTLIB                                         SYSD22
         SYSIOF.IOFT7D0.LOAD                                            SYSD22
         SYSIOF.IOFT7D0.OBJ                                             SYSD22
         SYSIOF.IOFT7D0.OPTIONS                                         SYSD22
         SYSIOF.IOFT7D0.SAMPMOD                                         SYSD22
         SYSIOF.IOFT7D0.SOURCE                                          SYSD22
         SYSIOF.IOFT7D0.UPDATES                                         SYSD22
***************************** End of Data Set list ***************************

The ISPF DSLIST above shows you all the IOF distribution data sets for the version of IOF you are currently running on your production system.

Building a New Installation Level

To keep the IOF being built independent of the current production IOF, we will build a completely new set of IOF libraries at a new installation level. The IOF installation process provides the necessary jobs to accomplish this task.

Edit member M50DISK# of the current INSTALL data set:

EDIT     SYSIOF.IOFT7D0.INSTALL                             Row 00001 of 00201
Command ===>                                                  Scroll ===> CSR
   Name                VV MM  Created     Changed     Size  Init   Mod   ID
. M13GEN
. M30TAPE#

Review the LEVEL parm on the VGENJOB command on the BOTTOM line of M50DISK#. This is the new level that will be generated. In this case, LEVEL(1) is specified.

EDIT       SYSIOF.IOFT7D0.INSTALL(M50DISK#) - 01.00        Columns 00001 00072
Command ===>                                                  Scroll ===> CSR
000024 //             DSN=SYSIOF.IOFT7D0.OPTIONS
000025 //         DD  DISP=SHR,
000026 //             DSN=SYSIOF.IOFT7D0.INSTALL
000027 //DD1      DD  DYNAM
000028 //DD2      DD  DYNAM
000029 //DD3      DD  DYNAM
000030 //DD4      DD  DYNAM
000031 //SYSTSIN  DD  *
000032 %VGENJOB  M50DISK  LEVEL(1)
****** **************************** Bottom of Data ***************************

Update the LEVEL parm on the last statement in M50DISK# if necessary. The level you specify will become the new IOF level to be built. SUBMIT the M50DISK# job.

M50DISK# builds member M50DISK in the level 0 INSTALL data set. M50DISK is the job that will make the new installation level 1 of IOF. Each of the twelve "SYSIOF.IOFT7D0" data sets above will be copied to corresponding "SYSIOF.IOFT7D1" data sets. M50DISK first deletes any existing level 1 data sets to permit the job to be run as many times as necessary. It then allocates each of the new data sets. Finally, it copies the level 0 data sets to the corresponding level 1 data sets. Note that several INSTALL data set members are intentionally not copied. The reason for this is explained below.

The remainder of the generation process for the new version of OS/390 will be done on the level 1 libraries. The production level 0 libraries will not be modified.

Applying Maintenance

Now is a good time to check the IOF fixes web page to determine if there is any maintenance that you need to apply. The fixes page has a table that cross references IOF versions against OS/390 versions. You can either download individual IOF fixes, or download a composite ZIP file that contains all listed fixes for your version of IOF.

If you choose to download the composite ZIP file, it is a good idea to record the download date. Then, if you download an updated ZIP file in the future you will be able to determine which fixes are new from the directory date of unzipped fixes. You should apply only the fixes that have not previously been applied. If you try to apply fixes that have previously been applied to the level 0 version, you will get an error message but no harm will be done.

There are two types of fixes:

SUPERZAP - Superzap fixes should be applied to the applicable "BAS" module in the new level 1 LOAD library.. When IOF is generated as described below, the fixes will be pre-applied to the new LOAD module(s).

VFIX - SOURCE, CLIST, HELP and other TEXT fixes should be applied using the VFIX command as described in the cover letter. You should execute VFIX from the new level 1 INSTALL library.

Fixes can be applied after IOF is generated as described below if you subsequently need to apply additional maintenance. You should follow the instructions in the cover letter to apply maintenance after IOF is generated.

Generating New INSTALL Jobs

Edit C75ASMJS Option

IOF OPTIONS data set member C75ASMJS contains the skeleton JCL that is required to generate an IOF level that is compatible with your new MVS/JES2 version. You should edit this member in the new level 1 OPTIONS data set. Update the SYSLIB DD concatenation, if necessary. Make sure that you point to the new OS/390 MACLIB, MODGEN and SHASMAC data sets. Do not edit your old level 0 data set(s).

EDIT       SYSIOF.IOFT7D1.OPTIONS(C75ASMJS) - 01.06   Columns 0001 0072
Command ===>                                                  Scroll ===> CSR
000045 //&VAR1   EXEC PGM=ASMA90,             (or IEV90 for Assembler H)
000046 //             REGION=4096K,
000047 //             PARM=('TERM,LIST,FLAG(0)',
000048 //             'XREF(SHORT),ESD,RLD',
000050 //*
000052 //             DCB=BLKSIZE=32720
000053 //         DD  DISP=SHR,DSN=&DSNSRC
000054 //         DD  DISP=SHR,DSN=SYS1.MODGEN      <---Verify
000055 //         DD  DISP=SHR,DSN=SYS1.MACLIB      <---Verify
000056 //         DD  DISP=SHR,DSN=SYS1.SHASMAC     <---Verify
000057 //*
000058 //SYSUT1   DD  UNIT=&XUNIT,SPACE=(4096,(800,400))
****** **************************** Bottom of Data ***************************

Optionally Update Other Options

Now is a good time to make any other minor adjustments you need to other IOF options. Edit the new level 1 OPTIONS data set and update members as needed. You may want to review the C64LINK option which specifies the name of the system linklist library to which the IOF load modules will be copied.

Run M10INIT Job

When you are satisfied with the new IOF options, SUBMIT the M10INIT job from the new level 1 INSTALL data set. M10INIT builds the remainder of the INSTALL jobs for the new level. You may have noticed above that most of the INSTALL members were not copied from the level 0 data sets. This is because M10INIT builds updated versions of the install jobs.

Generating the New Level of IOF

M13GEN Job

SUBMIT the M13GEN job from the new level 1 INSTALL data set to generate a new level 1 version of IOF. Note that M13GEN builds new IOF load modules in the new level 1 LOAD data set.

Refer to the January/February 1999 Newsletter for a full description of the six load modules built by M13GEN. The modules are:

IOFIOF command to invoke the product from TSO READY.
IOFSPFProgram to invoke the product from ISPF.
IOFT7D1MMain processing module.
IOFT7D1AAuxiliary below the line module.
IOFT7D1PPanels module.
IOFT7D1U     User Options module.

The processing load modules have names beginning "IOFT7D1" to clearly define them as belonging to the new level 1 version of IOF. These four load modules must be copied to linklist or LPA. They will not run from STEPLIB. However, they can coexist in the same library with the comparable level 0 modules because the level number is included in the module names.

The IOF and IOFSPF modules will run from STEPLIB. The versions of IOF and IOFSPF generated for the new level 1 will invoke the new level 1 named load modules. The old level 0 version of IOF and IOFSPF invoke the old level 0 modules.

M14COPY or M32COPY Job

The "IOFT7D1" load modules must be copied to a linklist (or LPA) library. They will not run from STEPLIB. The INSTALL data set has two jobs to do the required copy to the linklist library you specified in the C64LINK. You should run one of these two jobs. If you are unsure of which job to run, refer to Section 2 of the Installation Guide.

The M14COPY job copies all six of the IOF load modules listed above to the linklist library. You probably should not run M14COPY if you are copying to your current production IOF linklist library.

The M32COPY job copies the four load modules with names beginning "IOFT7D1" to the linklist library. For testing purposes, you may want to copy these four modules to linklist and run the IOF and IOFSPF modules from STEPLIB. For IOF/CICS see the Installation Guide.

Run either the M32COPY or the M14COPY job on the new OS/390 system and refresh LLA.

Installing the IOF SVC or ESR

When installing IOF for the first time on a new system, the IOF SVC or ESR as specified in the A10AUTH option member must be copied to LPA. See Section 2 of the IOF Installation Guide for detailed information on the SVC and ESR.

Note that IOF/TSO and IOF/CICS can share the same SVC or ESR. In addition, releases 7D and 7E can share the same SVC or ESR. However, it is recommended that you migrate to the 7E version at your earliest convenience.

Quick Reference Summary

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