z/OS ISPF Planning and Customizing
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


ISPF installation-wide exits

z/OS ISPF Planning and Customizing
GC19-3623-00

Programming interface information

ISPF provides 16 installation-wide exits that allow you to collect system-related information such as accounting, activity monitoring, authorization checking, and installation tailoring. These installation-wide exits occur at selected places during ISPF execution and pass control to your exit routines in the order you define them when you install the routines. You can define one or more exit routines to process at each user exit.

Table 1 summarizes the ISPF installation-wide exits. The exit ID is a unique number that identifies that installation-wide exit to ISPF.

Table 1. ISPF installation-wide exits
Exit ID Installation Exit Name Possible Uses for the Routine
 1 ISPF initialization Provides accounting and monitoring capabilities before ISPF initialization.
 2 ISPF termination Provides accounting and monitoring capabilities before ISPF termination.
 3 SELECT service start Provides monitoring information and lets you restrict access to applications selected through ISPF.
 4 SELECT service end Marks the end of a program, command, or menu invoked through any of the SELECT services.
 5 TSO command start Provides for monitoring and restricting commands invoked through ISPF; allows commands newly added to the system to be invoked without updating ISPTCM.
 6 TSO command end Provides for monitoring of TSO commands invoked through ISPF.
 7 LIBDEF service Provides for restrictions on the use of the LIBDEF service.
 8 RESERVE Allows use of your own method of serializing resources in addition to the RESERVE done by ISPF.
 9 RELEASE Provides for the release of any resources acquired at the RESERVE user exit.
10 Logical screen start Allows for installation-wide exits to gather accounting and monitoring information for each logical screen.
11 Logical screen end Gathers accounting and monitoring information for each logical screen.
12 ISPF/PDF service start Monitors ISPF and PDF dialog services invoked through the ISPLINK or ISPEXEC interfaces.
13 ISPF/PDF service end Marks the termination of ISPF or PDF dialog services invoked through the ISPLINK or ISPEXEC interfaces.
14 SWAP logical screens Indicates a change of the active logical screen. Together with the logical screen start and end installation-wide exits, the routine can monitor resource use for each ISPF logical screen.
15 DISPLAY service start Provides for tailoring of panels to be displayed.
16 Log, list, and temporary data set allocation Controls data set naming conventions for log, list, and temporary data sets.

The ISPF installation-wide exits are linked together in the ISPEXITS load module. The main entry point of ISPEXITS is ISPXDT. ISPXDT defines which of the 16 installation-wide exits you plan to use and the names of the exit routines that receive control at each user exit. To assist you in building ISPXDT, ISPF provides seven assembler macros. These macros are described in Exit macros.

As you write exit routines for the ISPF installation-wide exits, remember that:

  • Even though you can define multiple exit routines for a user exit, if an exit routine returns a return code of 12 or greater in register 15, control returns to ISPF without executing the remaining routines.
  • You cannot activate or deactivate a user exit while an ISPF session is in progress. However, you can make changes to the ISPEXITS load module at any time, but remember that ISPF loads the module only once at session initialization. Therefore, the changes are not recognized until the next ISPF session.
  • Because ISPF loads the ISPEXITS load module only once, consider making any exit routines that you write re-usable, and preferably reentrant. If you write exits that are not reentrant, they cannot be put in the Link Pack Area (LPA) library. Non-reentrant exit routines placed in the LPA can cause abend errors.
  • You cannot invoke an ISPF service from within the exit routines.
  • The installation-written exit routines receive control in an addressing mode of AMODE=31. The exit routines must support 31-bit addressing. ISPF does not restrict the residency mode of the installation-wide exits.
  • Input-output exit routines can modify parameters. If there are multiple exit routines, successive routines receive these parameters as modified by the previous routine. The first exit routine receives parameters as described.
  • You can define a data area to be used by each exit routine. These data areas can be shared by different exit routines.
  • At initialization, ISPF gets the storage for the data area. It provides the length and the address of the data area in the parameter list when calling an exit routine that uses that data area. (ISPF obtains the storage from subpool 0 below the 16 MB line.) The first time ISPF calls the exit routine, the data area contains binary zeros. The information in the data area is retained between invocations of the exit routines and the storage is available for the entire ISPF session (independent of logical screen abends and restarts). It is released at ISPF termination.
  • Data areas are on double-word boundaries.

Related references

End Programming interface information

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014