UCFTSO abends in r18.0+ with clist that worked in prior release.

Document ID : KB000021292
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue:

I am trying to run a UCFTSO clist to access my CA-IDMS central version but it is failing with a 4008 abend code.

Environment:

CA-IDMS r18.0 or higher running on any supported z/OS level.

This problem is most likely to happen from r18.0 upwards due to the introduction of the CUSTOM.LOADLIB. Most likely the same clist would have worked in prior releases.

Cause

The 4008 abend code means that the RHDCCODE load module cannot be found. RHDCCODE is in the CUSTOM.LOADLIB. The abend occurs because the CUSTOM.LOADLIB has not been defined to the clist.

Other abend codes are possible, depending on the module that is missing. Abend codes 3905, 4010 and 4012 are also possible.

Resolution: 

Add the CUSTOM.LOADLIB to the CDMSLIB concatenation of the UCFTSO clist.

Clients use many different configurations of TSO clist statements to run UCFTSO, but the most common variety allocates a CDMSLIB ddname.

Prior to r18.0, the CDMSLIB defined to the UCFTSO clist contained the DBA.LOADLIB and the base software library now called CAGJLOAD.

As of r18.0, a new loadlib was introduced called CUSTOM.LOADLIB. Typically, it contains all modules which need to be customized and are site-specific. CUSTOM.LOADLIB is required by all batch jobs and UCFTSO.

If your UCFTSO clist allocates CDMSLIB, you will need to add CUSTOM.LOADLIB to it.

Some sites prefer not to use CUSTOM.LOADLIB and instead copy its contents into either DBA.LOADLIB or CAGJLOAD. If you do this, then no changes are needed to your UCFTSO clist.

Note also that it is not enough to have the CUSTOM.LOADLIB in the target CV’s CDMSLIB concatenation. It must also be present in the CDMSLIB defined to the clist.

FREE  FI(CDMSLIB SYSCTL)
CONTROL LIST MSG                                                   
ALLOC F(SYSCTL) DA('your.idms.SYSCTL') SHR              
ALLOC F(CDMSLIB)  DA('your.idms.DBA.LOADLIB', -
                     'your.idms.CUSTOM.LOADLIB', -
                     'your.idms.CAGJLOAD') SHR           
CALL 'your.idms.CAGJLOAD(RHDCUCFT)'               
FREE F(SYSCTL CDMSLIB)                                            

Additional Information:

If your UCFTSO clist allocates CDMSLIB, you will also need APAR RO30678 to avoid 3905 abends.

If your CDMSLIB concatenation includes any PDS/E libraries, you will need RO34886.

If your UCFTSO clist does not allocate a CDMSLIB, then the CALL statement must reference a library which includes all of the modules referenced collectively in the CDMSLIB.

 

A sample UCFTSO clist can be found in the install library member *.CUSTOM.SRCLIB(UCFTSO).