SMFEXIT
Use this service to add or delete SMF exit routines dynamically.
An exit point (also called simply an exit) calls the exit routine. The exit point is uniquely identified by a combination of the SMF exit name and the subsystem name. Multiple exit routines can be loaded and enabled for a given exit point.
An exit routine is a load module that is called by an exit point. The exit point can establish requirements for the exit routine. The exit can require that the exit routine be re-entrant or that it be in a certain addressing mode. All exit routines must be loaded from an APF-authorized data set. The same exit routine can be used with multiple exit points if designed for this purpose. BMC Software recommends that user-written or third-party exit routines be given names that do not duplicate existing IBM exit names. For example, use XYZUJV instead of IEFUJV.
Syntax
The parameters are defined as follows:
Parameter | Description |
---|---|
STATUS | Displays the status of all or selected SMF exits All exits are displayed unless you specify parameters to limit the display. For example:
|
LOAD | Causes the load module (exit routine) to be associated with the specified SMF exit point; the exit point is identified by the SMF exit name and the subsystem name The operating system does not actually load the module until you ENABLE the exit. However, validation is performed by the SMFEXIT LOAD operation. If successful, the exit routine you have loaded will be loaded under DISABLE status. To activate the exit, you must use the ENABLE function. You can associate multiple exit routines with the same exit as long as they have different load module names. To reload the exit routine (MODNAME) for the same exit, you must first DISABLE and then DELETE the exit routine. New versions of an exit routine should be uniquely named so that the prior version can be retained (in a DISABLE status). This way, it can be reactivated (ENABLE) if the new exit routine is in error. You must specify the exit name, subsystem name, and load module name on the LOAD request. The data set name is also required unless previously specified. |
ENABLE | Causes the specified exit routine (MODNAME) to be activated for the specified exit point Initially, modules are loaded in DISABLE status and therefore cannot be called by the exit point until you change their status to ENABLE. The SMF exit name and the subsystem name are combined to form an exit identifier that uniquely identifies the exit point. One or more exit routines can be associated with (called by) a single exit point (or exit). The exit routine is identified by its load module name (MODNAME). |
DISABLE | Changes the status of the exit routine for the specified exit to DISABLE The exit routine remains in storage and can be changed to an ENABLE status again unless the DELETE function is used to delete the exit routine. You must specify the exit name, subsystem name, and load module name to use the DISABLE command to disable the exit routine. |
DELETE | Causes the exit routine to be removed from storage; the exit routine must be disabled with the DISABLE command before it can be deleted You must specify the exit name, subsystem name, and load module name to use the DISABLE command to disable the exit routine. |
exitName | Name of the SMF exit that is to be used with the LOAD, ENABLE, DISABLE, or DELETE commands or that is to be displayed by the SMFEXIT service Valid SMF exit names are ACTRT, UJI, UJP, UJV, USI, USO, UTL, U29, U83, and U84. The SMF exit name and the subsystem name are combined to form an exit identifier that uniquely identifies the exit point. One or more exit routines can be associated with (called by) a single exit point (or exit). The exit routine is identified by its load module name (MODNAME). |
subsys | Name of the subsystem This name is the subsystem name to be used to identify the exit point. For STATUS requests, the subsystem name can be specified individually or in combination with other parameters to limit the display. Valid subsystem names are STC, SYS, TSO, JES2, and JES3. The SMF exit name and the subsystem name are combined to form an exit identifier that uniquely identifies the exit point. One or more exit routines can be associated with (called by) a single exit point (or exit). |
modname | Load module name for the exit routine An exit routine can be associated with (loaded and enabled for) multiple exit points if desired. An exit point is uniquely identified by an exit identifier that is a combination of the SMF exit name and the subsystem name. In addition, multiple exit routines (each with a unique load module name) can be loaded and enabled for a given exit point. However, multiple versions of an exit routine with the same load module name are not supported. The default module name is the IBM exit routine name. However, BMC Software recommends that you use a name other than the IBM name when creating an exit routine. |
dsname | Name of the data set containing the exit routine (MODNAME) that is to be loaded When specified, the data set name is retained for the life of the BMC AMI Ops Monitor for z/OS session and, therefore, need not be specified again on subsequent LOAD requests. The data set must be a partitioned data set. It must be cataloged and it must be APF authorized. If it is not APF authorized, the BMC AMI Ops Monitor for z/OS APF service can be used to authorize it. |
Examples
To display all SMFEXIT routines that are associated with the SMF UJI exit, type
SMF STATUS UJI
To display SMFEXIT routines that are associated with the SMF UJI exit for subsystem STC, type
SMF STATUS UJI STC
To load exit routine MYUJV from SYS1.LPALIB for the SMF UJV exit and subsystem SYS, and then load the same exit routine for subsystem STC, type
SMF LOAD,UJV,SYS,MYUJV,SYS1.LPALIB
SMF LOAD,UJV,STC,MYUJV
To enable the exit routine that was previously loaded, type
SMF ENABLE,UJV,SYS,MYUJV
To disable the exit routine for the specified SMF exit and subsystem, type
SMF DISABLE,UJV,SYS,MYUJV
To delete the exit routine for the specified SMF exit and subsystem, type
SMF DELETE,UJV,SYS,MYUJV
Usage notes
- Exit routines are disabled when loaded. The exit routine will not be called by the SMF exit until it has been enabled.
- The exit routine is not actually loaded into storage until you use the ENABLE command. However, load processing validates the exit routine.
- For load requests, the data set name is required. However, the data set name is retained for the life of the BMC AMI Ops session and, therefore, need not be reentered on subsequent LOAD requests.
- The SMF exit (exit) calls the exit routine. You can load and enable multiple exit routines for the same exit. You can also load and enable the same exit routine for multiple SMF exits.
- Although multiple exit routines can be loaded and enabled for a single exit, each exit routine must have a unique name. For this reason, BMC Software recommends that you do not give your exit routine the same name as that of a supplied IBM exit routine. For example, use MYUJV instead of IEFUJV.
- An SMF exit is uniquely identified by the combination of the SMF exit name and the subsystem name. For example, SMF exit UJV and subsystem STC combine to identify an exit. SMF exit UJV and subsystem SYS combine to identify a different exit.
- For STATUS requests, you can specify any combination of parameters to limit the display. If you do not specify any parameters, all exit routines will be displayed.