Group: Select these conditions to specify various types of user exits
The User Exits exception allows you to specify a load module or a CLIST/REXX EXEC to be executed.
This user-defined program should contain the logic necessary to check for exception conditions.
User exits can perform any type of function, including executing SQL. You can set up a program to query any catalog or user-defined table. This option allows you to query additional catalog columns not offered in exception profiles.
Each load module, CLIST, and REXX EXEC is called once per object included in the object profiles.
A sample assembler DSECT is contained in the DAJ$USRX member in hilevel.SDAJSAMP. The following parameter list is passed to the user exit:
DAJ$USRX_S DSECT
DAJ$USRX_IDENTIFIER DS CL08'DAJ$USRX'
DAJ$USRX_RETURN_CODE DS F UserExit must set this to either
DAJ$USRX_RC_SKIP EQU 0 this value or
DAJ$USRX_RC_TRIGGER EQU 4 this value.
DAJ$USRX_FIRST_CALL DS CL01 Yes if First call to UserExit
DAJ$USRX_LAST_CALL DS CL01 Yes if Last call to UserExit
DAJ$USRX_LOB DS CL01 Yes if a Large OBject
DAJ$USRX_YES EQU C'Y'
DAJ$USRX_NO EQU C'N'
DS CL09
DAJ$USRX_DB2_SSID DS CL04 DB2 SubSystem ID
DAJ$USRX_DBID DS H Internal ID of Database
DAJ$USRX_OBID DS H Internal ID of Object
DAJ$USRX_PSID DS H Internal ID of TS/IX Page Set
DAJ$USRX_DATASET_EXTENTS DS H Number of Dataset Extents
DAJ$USRX_DATASET_DSNUMS DS H Number of Datasets for Object
DAJ$USRX_PARTITION DS H -1 if Object at ALL level
DAJ$USRX_PGSIZE DS H TS - PAGE SIZE IN K
* IX - SIZE, IN BYES, OF LEAF
* PAGES IN INDEX:
* 256|512|1024|2048|4096
DS CL08
DAJ$USRX_TYPE DS CL02 TS|IX
DAJ$USRX_DATABASE DS CL08 TableSpace Database Name
DAJ$USRX_SPACENAME DS CL08 TableSpace Name
DAJ$USRX_IX_CREATOR DS CL128 If NOT an IX, these are blank.
DAJ$USRX_IX_NAME DS CL128 x
DAJ$USRX_IX_DATABASE DS CL08 x
DAJ$USRX_IX_INDEXSPACE DS CL08 x
DAJ$USRX_IX_TABLE_NAME DS CL128 x
DAJ$USRX_IX_TABLE_CREATOR DS CL128 x
DAJ$USRX_IX_COPY_INDICATOR DS CL01 Can IX be Image Copied? Y/N
DAJ$USRX_RETPD DS CL04 Retention Period
DS CL(4096-(*-DAJ$USRX_S))
DAJ$USRX_LEN EQU *-DAJ$USRX
DAJ$USRX_PARMS EQU DAJ$USRX_S,*-DAJ$USRX_S
DAJ$USRX EQU DAJ$USRX_PARMS
The user exit sets DAJ$USRX_RETURN_CODE to indicate whether the object is selected for processing.