ENF fails at startup and can issue a CAS9312E message stating that a Data Control Module cannot be loaded.
CA Common Services r15.0 using the ENF component.
ENF can fail at startup with a U0203 abend after issuing messages similar to the following:
CAS9214I - CA-ENF Command: DCM(DCMNAME)
CAS9312E - Load failed for DCM object "DCMNAME" - X'00000806'/X'00000004'
CAS9314E - DCM processing completed with error.
*CAS9203E - CA-ENF Initialization error - terminating
IEF450I jobname stepname - ABEND=S000 U0203 REASON=00000018
As evidenced by the X'00000806' return code, the failure is due to the fact that the DCM (Data Control Modules) object named on the CAS9214I and CAS9312E messages cannot be found.
Beginning with CA Common Services for z/OS r12.0, the Data Control Modules statements are no longer stored in the ENF database.
Due to this change, the Data Control Modules object names themselves are listed in the ENFPARM member found in the current cai.CAW0OPTN dataset listed on
the //ENFPARM DD of the ENF procedure.
The format of the parameter is:
and the default format is
In order to access the Data Control Modules needed for various CA Products and Solutions, a new DD statement //CAIDCM DD was added to the ENF proc and is now used to point to the Data Control Modules objects.
The CAS9312E message and subsequent S806 is commonly attributed to, and corrected by, one of the following reasons and corrective actions.
The CROSS-PLATFORM SCHEDULER FEEDBACK DCM, CAL2DCM2 will be used as an example:
The required Data Control Modules is not found in the default dataset CAI.CAW0DCM defined on the //CAIDCM DDName.CORRECTIVE ACTION
Either add the required Data Control Modules to the CAI.CAW0DCM library or concatenate the library where it is found to the //CAIDCM DDName.
This would be used with the default form of the DCM parameter as listed above.
The required DCM is found in a dataset that is either linklisted or named on the JOBLIB/STEPLIB card of your ENF procedure.
If the required DCM is found in a linklisted library or one named named on the JOBLIB/STEPLIB card of your ENF procedure, you need to change the format of the DCM parm to DCM(CAL2DCM2,*). The ",*" will trigger ENF to look in the JOBLIB/STEPLIB concatenation and if not found there, search z/OS LNKLST/LPALST concatenation.
The required DCM is found in a dataset that is not referenced in the ENF procedure, linklist, joblib or steplib.
If the library is not referenced you can either copy the DCM or concatenate the library to the //CAIDCM DD as stated above. Another method is to add a unique DD name to the ENF proc to point to the necessary loadlib and change the format of the DCM parm by adding the DDName to the JCL. For example, you wish to use a DDName of XPSFBK. Change the parm to read DCM(CAL2DCM2,XPSFBK) and add the //XPSFBK DDName to the ENF procedure.
Please reference the current copies of the Common Services for z/OS r15.0 online documentation under the section labeled Configure DCM Statements for more details.