Step 18: (Optional) Install CKMU83 SMF User Exit

The CKMU83 SMF Exit option enables RECOVER BCS and RECOVER VVDS to more accurately sequence shared catalog and shared DASD event information from SMF records from multiple systems.

The CKMU83 SMF Exit option is only recommended when all systems sharing the DASD environment also share the same GMT setting, regardless of Local Time Offset, and, when there is a likelihood or high probability that different systems may have different local time offsets from GMT. Inconsistent Local Time differentials can occur due to different time zones specified in the CLOCKxx members, or, can be made imprecise via the operator SET CLOCK command. However, if all systems in your shared DASD environment consistently have the same Local times, then implementation of the CKMU83 exit routine is not necessary.

When implementing this option, the CKMU83 SMF exit routine must be installed and enabled on all systems within the shared DASD environment. CKMU83 will insert the Local-Time GMT offset into the 8-byte SMF6xUID user-data field of SMF record types 60, 61, 65, and 66. This will enable RECOVER BCS and RECOVER VVDS to more accurately sequence shared catalog and shared DASD event information from SMF records from multiple systems. Imprecise local time stamps can result in an inaccurate forward recovery for a BCS or VVDS. When RECOVER BCS and RECOVER VVDS detect that all SMF Type-6x records carry the SMF6xUID information, then forward recovery will internally convert all local time stamps in those SMF records to GMT representation in order to more accurately sequence the BCS and VVDS update event history.

Consult your Systems Programmer to implement the CKMU83 SMF exit routine on all systems that will share the same DASD environment, providing the location of the CKMU83 load module. The systems Programmer should verify that all systems share the same GMT setting, and should review the SYS1.PARMLIB(SMFPRMxx) members that will be in effect for each system. If the SUBSYS(STC) category is used, ensure that the definition includes EXITS(IEFU83) and note that the CKMU83 module will be a SYSSTC.IEFU83 exit routine. If the SUBSYS(STC) method is not used, then ensure that the SYSTEM() expression includes EXITS(IEFU83) and note that CKMU83 will be a SYS.IEFU83 exit routine.

The CKMU83 module will be compatible with all future product releases, unless otherwise stated with future product documentation.

This exit routine is provided with assembler source, as other vendor products could also use the same SMF6xUID fields for other purposes. Unaltered, this field normally contains 8 blank (X‘40’) characters. Local modifications to this routine should not be necessary as long as no other product updates this field for SMF record types 60, 61, 65, and 66. Otherwise, the modification should only make a choice of causing the exit to either overwrite or leave the existing data in the SMF6xUID field. The assembly only requires macros found in SYS1.MACLIB. The load module should be reentrant and have the AC=0 attribute.

To have the CKMU83 SMF exit automatically activated during the IPL process, you should first copy the CKMU83 load module into a system link-list or LPALIB data set, or, at least ensure that the module resides in a load library that is cataloged in the Master Catalog. Then include the following statement in the appropriate SYS1.PARMLIB(PROGxx) member invoked through IEASYSxx:

==> EXIT ADD EXITNAME(SYSSTC.IEFU83) MODNAME(CKMU83) DSN(sys1.CKM.loadlib)
  • If SMFPRMxx does not define SUBSYS(STC) then the exit name is SYS.IEFU83.
  • If module CKMU83 is in the system link list or LPA, omit the DSN() parameter.
  • If DSN() is used, the library must be cataloged in the Master Catalog.
To instead activate the CKMU83 exit after the IPL process, either manually or via automation, the following operator command can be issued:

==> SETPROG EXIT,ADD,EX=SYSSTC.IEFU83,MOD=CKMU83,DSN=CKM.loadlib
  • If SMFPRMxx does not define SUBSYS(STC) then the exit name is SYS.IEFU83.
  • If module CKMU83 is in the system link list or LPA, omit the DSN= keyword.
  • The DSN library may be cataloged in a Usercatalog.