SMFEXIT


The SMFEXIT (SMF) service loads, enables, disables, and deletes SMF exit routines and displays the status of SMF exits.

Related topic

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

GUID-7EFC433B-B58C-43DC-AB23-DA64D613D490-low.pngThe 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:

  • If you specify the exit name, all exit routines for the specified exit name are displayed.
  • If you specify a subsystem name, all exit routines for the subsystem are displayed.
  • If you specify both an exit name and a subsystem name, only the exit routines for that subsystem and exit are displayed.
  • If you specify a module name, all exits using that module name are displayed.

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

Note

The second command is identical to the first one except that it is for subsystem STC. The data set name is required only on the first load command.

To enable the exit routine that was previously loaded, type

SMF ENABLE,UJV,SYS,MYUJV

Note

Exit routines are disabled when loaded and must be enabled.

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

Note

Exits must be disabled before they can be deleted.

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.

 

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