This article describes what steps are required to create and install a SMP/E USERMOD to modify Spool User Exits or Translation Tables.
Review and tailor the following sample JCLs provided in your Spool installation libraries:
CAI.CBQ4JCL(BQ4JUREC) - SMP/E USERMOD RECEIVE model JOB
CAI.CBQ4JCL(BQ4JUAPC) - SMP/E USERMOD APPLY CHECK model JOB
CAI.CBQ4JCL(BQ4JUAP) - SMP/E USERMOD APPLY model JOB
Steps:
1.- Create a SMP/E USERMOD PDS member using the following sample MCS cards
Spool Release 11.7
++USERMOD(SCB70xx). /* SYSMOD ID */
++VER(Z038) FMID(CBQ4B70). /* BASE FUNCTION */
++SRC(ESFU0nnX or ESFTRAN). /* USER VERSION OF SOURCE */
The ESFU0nnX or ESFTRAN code from the CBQ4SRC library goes here
Spool Release 12.0
++USERMOD(SCBC0xx). /* SYSMOD ID */
++VER(Z038) FMID(CBQ4C00). /* BASE FUNCTION */
++SRC(ESFU0nnX or ESFTRAN). /* USER VERSION OF SOURCE */
The ESFU0nnX or ESFTRAN code from the CBQ4SRC library goes here
The nn string represents the suffix of the User Exit to be changed. Use suffix TR (SCB70TR or SCBC0TR) for the Translation Table.
2.- Modify ESFU0nnX or ESFTRAN code included in the SMP/E USERMOD as needed.
3.- Run the SMP/E RECEIVE, APPLY CHECK and APPLY JOBs to install it.
4.- Once the JOBs runs with RC=00, copy/replace the affected modules from SMP/E Target CBQ4LOAD to the running load library.
5.- Refresh LLA prior to the recycle in case the running load library is defined in the System's Linklist concatenation.
6.- Follow all of these steps with a Spool WARM restart.
7.- Last, proceed with any required tests to validate the changes made to the modified User Exit or Translation Table were implemented as expected.
It is recommended to implement user code via standalone user exits. First introduced as part of Spool Release 11.7, they are installed as independent load modules rather than part of the main code. Sample skeleton source members can be found in the CBQ4SRC library as members that do not contain the 'X' suffix, for example, ESFU009 instead of ESFU009X. The names can be user defined. The names are specified via the UEXxxxx keyword parameters of the LOADEXIT statement in the ESFPARM initialization parameter file. A sample JCL to assemble and link edit the standalone user exits is available in CBQ4JCL(BQ4JUXIT).