January/February 1999

IOFTech    Maintenance   Release8G       Newsletters    Doc    FAQ    Contacts    Home    Webmaster

IOF Load Modules



IOF is shipped with several non-executable distribution load modules that are used as input to the IOF generation process. The generation process builds executable target load modules. This newsletter explains the function, linkage and recommended placement of all IOF load modules, including both distribution and target load modules.

The TSO Installation Guide   for IOF/TSO and the CICS Installation Guide   for IOF/CICS should be consulted for more definitive information about IOF load modules. Section 19 of each manual gives a detailed description of product load module naming conventions for that version of IOF.

Base Distribution Load Modules

The IOF LOAD data set is shipped with several BASE and utility load modules. BASE modules are not executable but are used as input to the IOF generation process. The module names of all BASE modules begin with the characters "BAS". Utility load modules are used in the IOF generation process.

The load modules shipped in the IOF/TSO and IOF/CICS Release 7D LOAD data set are listed below. The characters "7D" in each of the module names represents the "7D" release. For other releases of IOF, the characters "7D" will be replaced with that release number.

TSO Modules CICS Modules Description
BAST7D0T   Base module for the TSO IOF command. The IOF command is used to initiate an IOF session from TSO READY, Batch TSO and ISPF Option 6.
BAST7D0S   Base module for the TSO IOFSPF command. The IOFSPF command is used to initiate an IOF session from ISPF.
  BASC7D0C Base module for the IOFCIC program. IOFCIC is invoked by transaction IOF.
  BASC7D0D Base module for the optional IOF/CICS master terminal command, IOFCMT. IOFCMT is invoked by transaction IOMT.
BAST7D0M BASC7D0M Base module for the main processing load module IOFT7D0M (or IOFC7D0M for CICS).
BAST7D0A BASC7D0A Base module for the auxiliary, below the line load module IOFT7D0A (or IOFC7D0A for CICS).
BAST7D0P BASC7D0P Base module for the IOF panels load module IOFT7D0P (or IOFC7D0P for CICS).
BAST7D0U BASC7D0U Base module for the user options load module IOFT7D0U (or IOFC7D0U for CICS).
IGC00XXX IGC00XXX IOF SVC.(Can be shared between TSO and CICS versions of IOF)
IGX00XXX IGX00XXX IOF ESR (can optionally be used instead of SVC based on A10AUTH option).
PNLCNFG PNLCNFG Panel configuration module required if IOF Option Menus are tailored and re-compiled locally.
  PROFCONV Obsolete CICS profile conversion utility.
APFLIB APFLIB Obsolete APF library module.

Generating Executable Load Modules

IOF generation jobs reside in the IOF INSTALL data set. These jobs have been customized for your local installation by the M10INIT job based on options that you specified in the IOF OPTIONS data set.

M13GEN Job

The M13GEN IOF INSTALL job performs a "full" IOF generation. It runs several assembly steps to tailor IOF to run with your version of MVS and JES2. M13GEN uses the BAS load modules (modules with names beginning "BAS") as input to the linkage editor steps. This process builds and stores executable copies of IOF load modules in the distribution LOAD data set. Note that no system data sets are modified by the M13GEN job.

The first M13GEN you run for the IOF Release 7D builds level "0" executable load modules in the IOF/TSO or IOF/CICS LOAD library as shown in the table below.

Executable TSO Module Executable CICS Module Base Module
  IOFCIC (IOF transaction) BASC7D0C
  IOFCMT (IOMT transaction) BASC7D0D

Copying Modules to Target Libraries

You should have specified the name of a target LINKLIST library in the C64LINK member of the IOF OPTIONS library. The M10INIT job used this information to build appropriate COPY jobs to copy from the IOF LOAD library to the target linklist library.

For IOF/CICS, you should have also specified the name of a target DFHRPL data set in the C66CRPL member of the IOF OPTIONS library. M10INIT used this information to build appropriate COPY jobs to copy CICS transactions to the target DFHRPL data set.

For security reasons, most of the IOF executable modules will not run from a STEPLIB. For this reason, the executable modules must be copied to the target linklist (or LPA) library.

The IOF and IOFSPF modules will run from STEPLIB. The IOFCIC transaction program must run from a CICS DRHRPL data set. The purpose of these modules is to bootstrap the product. The TSO IOF and IOFSPF modules for release 7D level 0 attach modules IOFT7D0M, IOFT7D0A, IOFT7D0P and IOFT7D0U. If you generate a 7D level 1, then the IOF and IOFSPF modules generated for this level will ATTACH modules IOFT7D1M, IOFT7D1A, IOFT7D1P and IOFT7D1U. The CICS IOFCIC transaction for release 7D level 0 attaches modules IOFC7D0M, IOFC7D0A, IOFC7D0P and IOFC7D0U.

Executable modules with names that begin IOFT7D (or IOFC7D for CICS) must reside in linklist or LPA. You can not STEPLIB to these modules.

To run multiple versions of IOF in parallel on the same system, refer to Sections 6 and 19 of the TSO Installation Guide  or CICS Installation Guide


The M14COPY INSTALL job copies all the executable IOF load modules to the target library you defined in the C64LINK OPTION member (and the C66CRPL OPTION member for CICS). IOF, IOFSPF, IOFT7D0M, IOFT7D0A, IOFT7D0P and IOFT7D0U are all copied. For CICS, IOFCIC and IOFCMT are also copied. You normally run this job when you initially install IOF or when you are ready to install a new version into production.


The M32COPY INSTALL job does not copy the IOF and IOFSPF (or IOFCIC for CICS) bootstrap modules. It does copy IOFT7D0M, IOFT7D0A, IOFT7D0P and IOFT7D0U. This is a good job to run when you initially install a new version of IOF and want to run it in parallel with your current production version. See Section 6 of the Installation Guide for more information on testing a new version in parallel.

Recommended Module Placement

To improve performance, you may prefer to move some of your IOF load modules to LPA. It is recommended that you wait until each new release of IOF is thoroughly tested before you move any modules to LPA. At this point the following module placements are recommended:

Load Module Recommended placement
IOF LINKLIST or STEPLIB. Do not copy to LPA.
IOFSPF LINKLIST or STEPLIB. Will run from LPA but not necessarily recommended.
IOFT7D0M / IOFC7D0M LINKLIST or LPA. This is the main processing module and is the best module to move to LPA.
IOFT7D0U / IOFC7D0U LINKLIST or LPA. This is the User Options Module that is the most likely to require change. For this reason we recommend against moving it to LPA.
IGC00XXX LPA. The SVC must reside in LPA. Note that the IOF SVC or optional ESR can be shared by IOF/TSO and IOF/CICS. Unless the release notes state otherwise the SVC/ESR can also be shared by multiple releases of IOF. It is recommended that you convert to the highest release SVC/ESR at your earliest convenience.
IGX00XXX LPA. The alternate ESR must reside in LPA if used.

The C64LINK option does not allow specification of an LPA library name. If you want to move some of your IOF modules to LPA, you must either modify the M14COPY and M32COPY jobs or provide an alternate method of doing the copy steps.

PO Box 12752, Research Triangle Park, NC 27709

[an error occurred while processing this directive]