USER_EXITS section of the DFSDFxxx member
The USER_EXITS section of the DFSDFxxx member specifies the user exits to be called. The
section must begin with the header <SECTION=USER_EXITS>
. The USER_EXITS section is valid in DB/DC, DBCTL, and
DCCTL environments.
Syntax
Parameters
- EXITDEF()
- Associates a user exit type with a list of one or more user exit routine modules to be called.
- TYPE=exittype
- Specifies the user exit type. User exits that can be specified include the following
types:
- Build Security Environment User Exit (BSEX)
- IMS CQS Event user exit (ICQSEVNT)
- IMS CQS Structure Event user exit (ICQSSTEV)
- IMS Fast Monitor User Exit (FASTMON)
- IMS Monitor user exit (IMSMON)
- Initialization/Termination user exit (INITTERM)
- Log Edit user exit (LOGEDIT)
- Logger user exit (LOGWRT) Note: The LOGWRT keyword might be specified for DLI and DBB batch regions. DCCTL batch regions do not support the USER_EXITS section.
- Non-Discardable Messages user exit (NDMX)
- OTMA Input/Output Edit user exit (OTMAIOED)
- OTMA Destination Resolution user exit (OTMAYPRX)
- OTMA Resume TPIPE Security user exit (OTMARTUX)
- Partner Product user exit (PPUE)
- Program Creation user exit (PGMCREAT)
- Resource Access Security user exit (RASE)
- Restart user exit (RESTART)
- Type-2 Automated Operator User Exit (AOIE)
- EXITS=exitnames
- Specifies a list of one or more exit routine names. The position of the exit routine in the list determines the order in which the exit routine is driven.
- NDMX_CALLED_FOR()
-
Optional parameter applicable to the NDMX exit type. Specifies whether the NDMX exits specified on the
EXITDEF=(TYPE=NDMX)
statement are called for the region types that are listed on this parameter.If
NDMX_CALLED_FOR
is not specified on the USER_EXITS section of the DFSDFxxx member, then by default MPR, JMP, and message-driven BMP regions are active, whereas IFP and non-message-driven BMP regions are inactive. You can change the default behavior by specifying region selection options. When you use multiple exits of the same type, your specified regions apply to all NDMX exit types. To implement your selection, update the DFSDF member, and then either restart the IMS or issue the command REFRESH USEREXIT TYPE(NDMX). Note that the same DFSDF member must be maintained for all IMSs.Attention: This parameter applies only to DB/DC and DCCTL environments.Valid region selection options are as follows:
- MPR (Y | N)
-
Specifies whether the NDMX exits specified on the EXITDEF=(TYPE=NDMX) statement are called for MPR regions. MPR(Y) is the default.
- JMP (Y | N)
-
Specifies whether the NDMX exits specified on the EXITDEF=(TYPE=NDMX) statement are called for JMP regions. JMP(Y) is the default.
- BMP (Y | MD_ONLY | NMD_ONLY | ALL | N)
-
Specifies whether the NDMX exits specified on the EXITDEF=(TYPE=NDMX) statement are called for message-driven or non-message-driven BMP regions. Several options are available:
- BMP(Y) is the default and enables only message-driven BMP regions. BMP(MD_ONLY) offers a more verbose way to specify the same behavior.
- BMP(NMD_ONLY) enables only non-message-driven BMP regions.
- BMP(ALL), which can also be specified with BMP(A), enables message-driven and non-message-driven BMP regions.
- BMP(N) specifies that the NDMX exits specified on the EXITDEF=(TYPE=NDMX) statement are not called for message-driven or non-message-driven regions.
To learn more, see NDMX: Non-Discardable Messages user exit (DFSNDMX0 and other NDMX exits).
- IFP (N | Y)
-
Specifies whether the NDMX exits specified on the EXITDEF=(TYPE=NDMX) statement are called for IFP regions. IFP(N) is the default.
Example of the USER_EXITS section of the DFSDFxxx member (Single exit)
/******************************************************************/
/* Restart exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=RESTART, /* Restart User Exit */
EXITS=(UEXIT1)) /* Single exit */
/******************************************************************/
/* */
/******************************************************************/
Example of the USER_EXITS section of the DFSDFxxx member (Multiple exits)
/******************************************************************/
/* Restart exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=RESTART, /* Restart User Exit */
EXITS=(UEXIT1,UEXIT2,UEXIT3)) /* Exit list */
/******************************************************************/
/* */
/******************************************************************/
USER_EXITS section of the DFSDFxxx member (with NDMX_CALLED_FOR=(IFP(Y))
Enable calling the NDMX user exit for IFP regions along with the default options:
/******************************************************************/
/* User exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=NDMX,
EXITS=(DFSNDMX0))
NDMX_CALLED_FOR=(IFP(Y))
/******************************************************************/
/* */
/******************************************************************/
Enable calling the NDMX user exit for IFP regions but not for MPRs:
/******************************************************************/
/* User exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=NDMX,
EXITS=(DFSNDMX0))
NDMX_CALLED_FOR=(IFP(Y),MPR(N))
/******************************************************************/
/* */
/******************************************************************/
USER_EXITS section of the DFSDFxxx member (various BMP options for NDMX_CALLED_FOR=)
BMP(Y) is the default and enables only message-driven BMP regions. BMP(MD_ONLY) is a more verbose way to enable the same behavior:
/******************************************************************/
/* User exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=NDMX,
EXITS=(DFSNDMX0))
NDMX_CALLED_FOR=(BMP(MD_ONLY))
/******************************************************************/
/* */
/******************************************************************/
Use BMP(NMD_ONLY) to enable calling the NDMX user exit for only non-message-driven BMP regions. Note that the text characters used to specify NDMX and NMD are similar, but are arranged in different orders (NDMX to specify EXITDEF type; NMD to specify non-message-driven BMP regions):
/******************************************************************/
/* User exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=NDMX,
EXITS=(DFSNDMX0))
NDMX_CALLED_FOR=(BMP(NMD_ONLY))
/******************************************************************/
/* */
/******************************************************************/
Use BMP(ALL) to enable calling the NDMX user exit for all BMP regions (which includes both message-driven and non-message-driven BMP types). This option can be specified with the slightly shorter BMP(A):
/******************************************************************/
/* User exit section */
/******************************************************************/
<SECTION=USER_EXITS>
EXITDEF=(TYPE=NDMX,
EXITS=(DFSNDMX0))
NDMX_CALLED_FOR=(BMP(ALL))
/******************************************************************/
/* */
/******************************************************************/