

Operation › User Exit Module
User Exit Module
CA IDMS DMLO gives you the ability to customize a user exit module which can be invoked after each DML command is executed. At installation time the dummy user exit module USDMLXIT is provided. This module simply returns control immediately to the DMLO session.
The calling of the user exit is controlled by the installation parameter option USEREXIT in the USDTPARM module.
- If USEREXIT=YES USDMLXIT is invoked after each DML command executed.
- If USEREXIT=NO USDMLXIT is never invoked.
- If USEREXIT=(DYNAMIC, ON) USDMLXIT is not invoked after each DML command is executed and is active for the session until the SET EXIT OFF command is executed.
- If USEREXIT=(DYNAMIC, OFF) USDMLXIT is not invoked but can be activated for the session with the SET ON command. This is the default setting.
Note: For more information, see the appropriate CA IDMS Installation and Maintenance Guide.
The user exit source member Assembler module USDMLXIT is delivered in source and can be customized by the user.
USDMLXIT is dynamically loaded at runtime and invoked by DMLO upon completion of all DML commands. This includes the SCRATCH and QUEUE commands. The module is delivered as a dummy module that simply returns control immediately to the DMLO session via a 'BR R14' instruction.
To customize the module, follow these rules:
- Use standard IBM linkage conventions.
- DSECT USDGLOB2 is used to pass information to and from USDMLXIT. Change only certain fields in this DSECT. If the restrictions are ignored, results are unpredictable and can cause subsequent DMLO errors. See source member USDGLOB2 for complete details.
- Upon return from USDMLXIT to the DMLO session the USERCODE value in USDGLOB2 is processed as follows:
- If USERCODE=1-9, DMLO terminates with the error message F8801 - F8809. Otherwise the DMLO session continues as normal.
- If USERCODE is set by the user to a 1-9 value, DMLO processes the USERQUIT code as a completion indicator as follows:
- If USERCODE=99, a 64-byte message field is passed back from the User Exit program. If the actual message length to be displayed is less than 64 bytes, then the 64-byte field must be padded with blank characters.
- The customized source member USDMLXIT should be assembled and the link edited to create an executable load module named USDMLXIT. The link edit input statements to do this are as follows:
z/OS INCLUDE OBJLIB(USDMLXIT)
MODE AMODE(31), RMODE(ANY)
ENTRY USDMLXIT
NAME USDMLXI(R)
z/VSE PHASE USDMLXIT,*
MODE AMODE(31), RMODE(ANY)
INCLUDE USDMLXIT
ENTRY USDMLXIT
See source members USDMLXIT and USDGLOB2 for complete details on the User Exit functionality.
Copyright © 2014 CA.
All rights reserved.
 
|
|