z/OS DFSMS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Adding a New Exit

z/OS DFSMS Installation Exits
SC23-6850-01

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:

  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 */
  2. 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)
  3. 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
  4. 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
  5. 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) .
  6. Place the object module after the ++MOD statement.
    6.    (object module)

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014