This publication describes three dynamic exits. IBM suggests
that you use SMP/E to install them. They require definition as described
in IEHINITT Dynamic Exits and in Pre-ACS Installation Exit IGDACSXT.
The following example shows SMP/E system modification statements
to add a new module which does not replace an exit.
Figure 1. Installing a New Exit++USERMOD(changename) /* USERMOD for new module. Has JCLIN */
.
++VER(Z038) FMID(fmid) PRE(xxxxxxx) SUP(yyyyyyy)
.
++JCLIN .
// EXEC LINKS,
// PARM='NCAL,LIST,XREF,RENT,LET',NAME=targlib
//SYSEXITS DD DISP=SHR,VOLUME=(,RETAIN),DSNAME=exitlibrary
//SYSLIN DD *
INCLUDE SYSEXITS(exitname)
NAME exitname(R)
/*
++ MOD(exitname) LEPARM(LET,LIST,NCAL,RENT,XREF) .
(object module)
Explanation of Figure 1:
- Replace changename with a name to identify the system
change. For example, you might choose a name such as UPDATE6.
++USERMOD(changename) /* USERMOD for new module. Has JCLIN */
- In place of the fmid, use the actual FMID (function modification
identifier). When you first install this exit, omit the PRE(xxxxxxx)
SUP(yyyyyyy) because there probably is no prerequisite or
superseding. If you later replace your own exit, you will code a
different changename on the ++USERMOD statement and use the
old changename with the SUP keyword.
++VER(Z038) FMID(fmid) PRE(xxxxxxx) SUP(yyyyyyy)
- Replace the link edit or binder options in quotation marks as
appropriate. Do not specify AC(1) directly with JCL. That would be
a possible violation of system integrity and would serve no purpose.
System integrity rules are described in z/OS MVS Programming: Authorized Assembler Services Guide. That would give APF authorization and
allow someone to call the exit. Replace targlib with the
DD name for the target library. The typical DD name is LINKLIB or
LPALIB.
// PARM='NCAL,LIST,XREF,RENT,LET',NAME=targlib
- Replace exitlibrary with the DD name of a PDS for load
modules or a PDSE for program objects. When you later submit an SMP/E
ACCEPT statement, SMP/E will call the linkage editor or binder to
store the exit in this library. You can choose a different name to
replace SYSEXITS on this line and in the INCLUDE line.
//SYSEXITS DD DISP=SHR,VOLUME=(,RETAIN),DSNAME=exitlibrary
- Replace the three occurrences of exitname with the name
of the exit stated in this publication. For some exits, the entry
point name must match this name. The CSECT name should be the same
name unless you choose a different name and code that name with the
CSECT keyword. You can omit the DISTLIB keyword and parameter because
that information is in the JCLIN statements. Some exit descriptions
show control statements which you must use instead of these INCLUDE
and NAME statements.
INCLUDE SYSEXITS(exitname)
NAME exitname(R)
/*
++ MOD(exitname) LEPARM(LET,LIST,NCAL,RENT,XREF) .
- Place the object module after the ++MOD statement.
6. (object module)