BPE exit list PROCLIB member
Use the PROCLIB members that are specified by the EXITMBR= parameter in the BPE configuration parameter PROCLIB member to define user exit routines to BPE.
BPE Exit List PROCLIB members are IMS-component specific. You specify one EXITMBR statement for each IMS component that provides user exit routines through BPE services.
Each EXITMBR statement specifies the name of a PROCLIB member that contains the definitions for exit routines for that IMS component.
You can have a separate exit list PROCLIB member for each IMS component, or you can share one exit list PROCLIB member among several IMS components.
A BPE exit list PROCLIB member associates a user exit routine type with a list of one or more user exit routines. Use the EXITDEF statement to define the exit routine modules to be called for a particular exit routine type.
The BPE exit list PROCLIB member is processed by BPE during address space initialization. The BPE exit list PROCLIB member is also processed when you enter a REFRESH USEREXIT command.
If you code the same user exit routine name more than once in the exit routine list (EXIT=) of any single EXITDEF= statement, BPE always uses the first occurrence of the exit routine module name to determine the order for calling the exit routines. Duplicate names are ignored, and a message, BPE0018I is issued for each duplicate name.
EXITDEF parameter
The EXITDEF statement associates an exit routine type with a list of one or more exit routine modules to be called.
The syntax of the BPE EXITMBR= EXITDEF parameter is as follows:
The modules are called in the order listed. The EXITDEF statement consists of a sublist (enclosed in parentheses) containing the keywords TYPE, EXITS, ABLIM, and COMP.
- TYPE=type
- Specifies the type of exit routine. The IMS component defines the types of exit routines that are supported.
- EXITS=(exitname,...)
- Specifies a list of one or more exit routine module names. The position of the exit routine in the list determines the order in which the exit routine is driven. When an exit routine returns to its caller, the exit routine indicates whether additional exit routines are to be called.
- ABLIM=limit
- A number from 0 to 2147483647 that specifies the abend limit for the type of
exit routine being defined. If the number of abends for an exit routine
module reaches the abend limit for the exit routine type, the module is
removed from the exit routine list and is not called until the exit routine
type is refreshed.
This parameter is optional; the default is 1. If you specify a value of 0, there is no limit to the number of abends that can occur for the type of exit routine that you are defining.
- COMP =ims_component
- An optional parameter that specifies the type of IMS component that owns the exit
routine being defined. Possible values are:
- BPE
- Base Primitive Environment
BPE processes only EXITDEF statements that:- Do not have COMP coded
- Have COMP=ims_component coded, where
ims_component matches the IMS component
specified on the EXITMBR statement that points to the BPE user
exit PROCLIB member that is currently being processed.
For example, if BPE were processing the BPEEXIT0 PROCLIB member specified on the EXITMBR=(BPEEXIT0,BPE) statement, it would only process EXITDEF statements that had no COMP= specified, and those that had COMP=BPE specified.
If BPE were processing the CQSEXIT0 PROCLIB member specified on the EXITMBR=(CQSEXIT0,CQS) statement, it would only process EXITDEF statements that had no COMP= specified, and those that had COMP=CQS specified.
For any given IMS component address space, BPE only processes BPE user exit PROCLIB members for EXITMBR statements that specify BPE, and those that specify the IMS component name of the address space that is running (for example, CQS, DBRC, HWS, ODBM, OM, RM, or SCI).
The EXITDEF types provided by the various IMS components are described in the following topic.
BPE EXITDEF types
Two types of BPE EXITDEF types are supported.
- INITTERM
- Called once during early BPE initialization, and once during normal termination.
- STATS
- Called periodically (timer-driven) and once during normal address space shutdown with statistics about BPE system functions. Optionally, the IMS component running on top of BPE can provide statistics that are specific to its operation.
Sample BPE user exit list PROCLIB member
The BPE user exit list PROCLIB member defines the BPE initialization/termination and statistics exit routines.
A sample BPE user exit list PROCLIB member is shown in the following example. The sample defines the following exit routines:
- One BPE initialization/termination exit routine
- One BPE statistics exit routine
********************************************************************
* BPE USER EXIT LIST PROCLIB MEMBER *
********************************************************************
#------------------------------------------------------------------#
# Define one BPE init/term exit: MYINIT00. #
#------------------------------------------------------------------#
EXITDEF(TYPE=INITTERM,EXITS=(MYINIT00))
#------------------------------------------------------------------#
# Define 1 BPE Statistics exit: HHGSTAT0 with an abend limit of 42 #
#------------------------------------------------------------------#
EXITDEF(TYPE=STATS,EXITS=(HHGSTAT0),ABLIM=42)