Dynamic Exit Installation Procedure


The following section describes the procedure for the dynamic installation of the ABR and FDRREORG exits.

For existing installations testing a new version while an existing version of FDR and the exits is still in use, please review Testing-the-FDR-z-OS-Exits for procedures used to test the new exits in parallel with production.

Step 1: set exit options

If not already done, set the dynamic installation options via the ISPF panel A.I.4.11.1 (Panel A.I.4.11.1 – Set Dynamic Installation Exits in Operating-System-Exit-Options-for-FDRABR-and-FDRREORG). On this panel, there are separate options to enable installation of each of the ABR and FDRREORG exits. They are all disabled by default; at least one must be enabled for the dynamic installation to function.

Important

We recommend that ABR customers enable all the ABR exits.

The panel also allows you to choose whether the system operator must confirm, by replying to a console message, that the exits are to be installed. You may wish to enable this during testing, but in production, it requires a reply as part of every IPL that may not be desirable.

Various options may also be set to modify the processing done by the ABR exits. These options are set on ISPF panels:

  • AUTO-RECALL (mostly the ABR Catalog Locate exit) options on panel A.I.4.11.2
  • Data Set Not Found (DSNF) exit options on panel A.I.4.11.4 (currently has no options)
  • DADSM Preprocessing exit options on panel A.I.4.11.5

For details, see Operating-System-Exit-Options-for-FDRABR-and-FDRREORG.

If you change any of the options that affect the exits, after the exits are dynamically installed, and you want the changes to take effect before the next IPL, you must run FDRSTART, as discussed in Step 8: Changing Options.

Use of FDR with the exits in production requires that the FDR load module library is in a system LNKLST library that is APF authorized. You must either add the FDR program library to the LNKLST, or copy the FDR modules to an authorized LNKLST library.

Step 3: SYNRECAL procedure

Copy the cataloged procedure SYNRECAL from the FDR Installation Control Library (ICL) to a cataloged procedure library that is available to JES for START commands. Edit this member and remove the STEPLIB DD statement, since the FDR load module library is in the LNKLST. You may rename this cataloged procedure to a name other than SYNRECAL; if so; change the value for the LXSYNPROC option on Panel A.I.4.11.2 – Set ABR Auto-Recall Options (see LXSYNPROC” in Section 90.20).

Step 4: FDREXRCL procedure

Copy the cataloged procedure FDREXRCL from the FDR Installation Control Library (ICL) to a cataloged procedure library that is available to JES for ASCRE (Address Space Create). Edit this member and remove the STEPLIB DD statement, since the FDR load module library is in the LNKLST. You may rename this cataloged procedure to a name other than FDREXRCL; if so; change the value for the LXXRPROC option on Panel A.I.4.11.2 – Set ABR Auto-Recall Options (see LXXRPROC in Operating-System-Exit-Options-for-FDRABR-and-FDRREORG).

Step 5: activate exits

During initial testing, the exits may be dynamically installed by executing a batch job using the following JCL:

//FDRSTART JOB 'DYNAMICALLY INSTALL FDR EXITS',FDR //FDRSTART EXEC PGM=FDRSTART,REGION=0M //SYSUDUMP DD SYSOUT=*

This JCL is supplied in member FDRSTART in the FDR Installation Control Library (ICL). You can also generate this job using the “REFRESH” command on ISPF panel A.I.4 (see Dynamically Installed Options” in Section 90.11).

Important

In case of abnormal termination or errors, the dynamic installation program error recovery routine issues a diagnostic message to the console operator and deactivates any exits that were installed.

The exits (and some supporting code) are loaded in common memory (CSA), and various system pointers are updated to activate them.

During testing, run jobs to test the function of the ABR exits. Please consult Testing-the-FDR-z-OS-Exits for test guidelines.

After running the FDRSTART job, the exits remain active until the next IPL of your Operating System. After an IPL, you must run the job again to reactivate the exits for testing. When you are ready to have the exits activated automatically during each IPL, see Step 8: Changing Options.

The status of the dynamically installed ABR exit modules may be obtained by executing a batch job using the following JCL:

//FDRSTATS JOB 'REPORT STATUS OF FDR EXITS',FDR //FDRSTATS EXEC PGM=FDRSTATS,REGION=0M //SYSUDUMP DD SYSOUT=*

Step 6: deactivate exits

This step deactivates (but does not uninstall) the exits; it is not normally needed but can be used during testing if desired.

If the dynamically installed exits are deactivated, their processing is completely bypassed, causing all requests to be ignored, as if the exits were not installed. An IPL is required to completely remove the exits from the system. Normally, the exits should remain active for the life of the IPL. There is no need to deactivate the exits when shutting down the system.

All of the dynamically installed exit modules may be deactivated by executing a batch job using the following JCL:

//FDRPARE JOB 'DEACTIVATE FDR EXITS',FDR //FDRPARE EXEC PGM=FDRPARE,REGION=0M //SYSUDUMP DD SYSOUT=*

This JCL is supplied in member FDRPARE in the FDR Installation Control Library (ICL).

The exit modules may be reactivated by re-executing the FDRSTART program.

Individual exits may be deactivated without interfering with the operation of other exits that you want to keep running, by turning off the appropriate dynamic installation option (ABRLOC, ABRDSNF, ABRPRE, and/or IEBCOPY) on panel A.I.4.11.1 and rerunning FDRSTART. An exit that has been deactivated in this way may be reactivated by changing the dynamic installation option back and rerunning FDRSTART again.

Step 7: production

After preliminary testing, the dynamic installation of the ABR exits should automatically take place as part of each IPL. You could do this by executing the FDRSTART job automatically during the IPL procedure, but the install is more efficient (and done earlier in the IPL process) if you make FDR a subsystem.

To accomplish this, add a record an IEFSSNxx member in data set SYS1.PARMLIB:

SUBSYS SUBNAME(FDR) INITRTN(FDRSTART)

You may place this record into a new IEFSSNxx member and add the new member’s suffix to the SSN= parameter in IEASYSxx, or you may add it to an existing IEFSSNxx member. This causes the FDRSTART program to run during every IPL, as a subsystem initialization routine, to dynamically install the FDR Operating System exits. FDR is not actually started as an z/OS subsystem; it terminates after the exits are installed.

For the first IPL after updating IEFSSNxx, it is a good idea to set the CONFINST option on panel A.I.4.11.1 to cause the console operator to be asked to confirm that the dynamic installation of the ABR Operating System exits should take place. Then, in the unlikely case that the exits cause the IPL to fail, you can reIPL and bypass the exit installation. Once you are satisfied that the exits perform properly, you can disable CONFINST.

Step 8: changing options

FDRSTART also loads a copy of FDROPT, the FDR Global Options, into common memory (CSA) with the exits. The FDROPT module appears to be in LPA so options are used by the exits, as well as by any executions of FDR programs from the system LNKLST (without a STEPLIB). If you change any of the options in the Option Table after the FDR Operating System exits are dynamically installed, and you want the changes to take effect before the next IPL, follow this procedure to refresh the in-memory copy of FDROPT.

1.Change the desired options, using the ISPF Installation panels (A.I.4.x), updating the copy of FDROPT in the FDR program library in the system LNKLST.

2.Execute FDRSTART in a batch job, using the JCL shown in Step 5: Activate Exits or using the “REFRESH” command on installation panel A.I.4. This may be done at any time, even if the exits are normally installed at IPL time using IEFSSNxx as shown in Step 7: Production. When program FDRSTART sees that the dynamically installed exits have already been activated, it does not reload the exit modules, but it does update FDROPT. If you have more than one system, do this on every system.

Important

  • This procedure is not required if the only exit installed is the FDRREORG IEBCOPY Intercept.
  • It is not necessary to do an LLA REFRESH before running FDRSTART. FDRSTART refreshes the LLA copy of FDROPT before loading it. FDRSTART also refreshes the LLA copy of all FDR tables and lists, including the COMPAKTOR Unmovable Table, the ABR Restore Allocate List, the ABR Protect Lists, and the FDRREORG NOREORG List, in case they have been updated.
  • In the FDR ISPF Dialogs, Option A.I.4A takes you to a version of the install dialog where the options currently set in the in-memory copy of FDROPT can be displayed but not modified. You can use this to verify that the refresh procedure has worked successfully.

Step 9: updating the exits

If you need to update the installed exits before the next IPL, replacing them with new versions (perhaps to apply a fix from BMC), you can do so with a batch job using the following JCL:

//FDRSTART JOB 'DYNAMICALLY REPLACE FDR EXITS',FDR //FDRSTART EXEC PGM=FDRSTART,REGION=0M,PARM='PROD,REPLACE' //ABNLDUMP DD DUMMY FOR ABEND-AID //SYSUDUMP DD SYSOUT=*

This JCL assumes that the new version of the exit modules resides in LNKLST. You can also generate this job with the REFRESH command on panel A.I.4 (the REPLACE parm can be specified on the FDRSTART panel).

This may be done at any time, even if the exits are normally installed at IPL time using IEFSSNxx as shown in Step 6: Deactivate Exits. FDRSTART reloads a new copy of the exit modules and options table, replacing the exits and options table that were previously installed. This job should be run on every system on which you want to install the new version of the exits.

Important

The REPLACE keyword causes FDRSTART to allocate CSA storage for the new set of exits. This is in addition to the CSA storage already occupied by the replaced exits, which remains allocated. Therefore, REPLACE must not be used indiscriminately in order to prevent CSA shortage problems (requiring a reIPL). If BMC supplies you with a zap that affects the exit modules, you will also be given a procedure that can be used to apply that zap to the installed exits in-place without requiring an IPL or using the REPLACE procedure.

The following is an example showing the output from the FDRSTATS program showing that the FDRSTART was run with PARM=’PROD,REPLACE’ to replace the prior version of the exits with the new version. The FDRW41 message denotes the ACTIVE vs REPLACED version of the modules.

FDRW40 MODULE FDRVECTB INSTALLED AT 00C9E8A0 - VER 5.4 LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDR026DU INSTALLED AT 8FE60000 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDREXDSN INSTALLED AT 00C9D400 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRPRE00 INSTALLED AT 80C99C00 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRPOST0 INSTALLED AT 80C99C04 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDROPT INSTALLED AT 00C9E408 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRDAS02 INSTALLED AT 918BF2F8 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRBCOPY INACTIVE
FDRW40 MODULE FDR00024 INSTALLED AT 00C99178 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRNQFST INSTALLED AT 918FD038 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRDYNEX INSTALLED AT 918BB578 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDRDYXCS INSTALLED AT 918B3C00 - VER 5.4/91P LOADED AT 08:03 ON 20.007
FDRW40 MODULE FDROCEXT INACTIVE
FDRW41 THE FDR SYSTEM MODULES ARE ACTIVE - VER 5.4/91P
FDRW40 FDR GLOBAL OPTIONS LOADED AT 08:03 ON 20.007 FROM VOL=SYS006 DSN=SYS1.FDRABR.LOADLIB
FDRW40 MODULE FDRVECTB INSTALLED AT 00D681D0 - VER 5.4 LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDR026DU INSTALLED AT 939FA000 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDREXDSN INSTALLED AT 00D61400 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRPRE00 INSTALLED AT 80D5E000 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRPOST0 INSTALLED AT 80D5E004 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDROPT INSTALLED AT 00D5DB68 - VER 5.4/91P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRDAS02 INSTALLED AT 93A8D7C8 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRBCOPY INACTIVE
FDRW40 MODULE FDR00024 INSTALLED AT 00D5D0F8 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRNQFST INSTALLED AT 93ADC148 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRDYNEX INSTALLED AT 93A8D2C8 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDRDYXCS INSTALLED AT 93A45940 - VER 5.4/90P LOADED AT 18:44 ON 18.004
FDRW40 MODULE FDROCEXT INACTIVE
FDRW41 THE FDR SYSTEM MODULES ARE REPLACED - VER 5.4/90P
FDRW40 FDR GLOBAL OPTIONS LOADED AT 18:44 ON 18.004 FROM VOL=SYS006 DSN=SYS1.FDRABR.LOADLIB

FDRSTATS Output of PARM=’PROD,REPLACE’

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*