If errors occur when the DFHDPLOY utility runs, these troubleshooting methods might help you. The location of the DFHDPLOY log is specified by the JCL SYSTSPRT data definition.
When a DFHDPLOY command times out, message DFHRL2039W will be issued at the point in the script where the timeout occurred. Message DFHRL2040E may also be issued for applications that time out, and message DFHRL2041E for bundles that time out. DFHDPLOY will then display the current state of the application or bundle being processed, and where applicable the state of the application management or bundle parts to enable more detailed error diagnosis.
A timeout will result in a return code of 4 if the timeout occurs during the last step in processing a command, but DFHDPLOY has not had time to query whether all bundles or applications have reached the intended target state.
A timeout will result in a return code of 8 if the timeout occurs before the last step in processing a command has begun.
If there are errors in addition to the timeout, check the application management part records and the bundle part records for more information.
If the DFHDPLOY log shows that CICS or CPSM encountered errors during deployment or undeployment, use this log to identify when the errors occurred.
In each case, examine the CICS logs for the region where the errors occurred. For more information about application deployment errors, see Diagnosing application errors.
Specify REGION=100M or more when you run the DFHDPLOY job to avoid running out of memory while the job is processing. For complex scripts or large CICSplexes, consider making more memory available to DFHDPLOY.
If the deployment fails before reaching the specified target state, the resource definition might not be removed from the CICSPlex SM data repository using BAS. You can remove the resource definition in the normal way using CICS Explorer, an UNDEPLOY BUNDLE command, or another API program. Refer to message DFHRL2024I in the data repository used by the DEPLOY BUNDLE command to identify the definition name and version number of the definition you wish to remove.
BAS supports up to 15 versions of the same resource definition NAME. If you specify RESGROUP when you deploy a bundle, the DFHDPLOY log contains records that show the BAS DEFVER attribute used by the definition:
DFHRL2024I BUNDLE definition(WEBSITE) VERSION(2) successfully created.
If the same deployment fails multiple times and you reach the resource definition version limit in BAS, you must remove one or more of the resource definitions before you can use DFHDPLOY to reattempt the same deployment. You can remove these resource definitions in the normal way using CICS Explorer, an UNDEPLOY BUNDLE command, or another API program. Refer to message DFHRL2024I in the data repository used by the DEPLOY BUNDLE command to identify the definition name and version number of the definition(s) you wish to remove.
DFHDPLOY does not support the installation of a bundle defined by an existing resource definition.
Enable trace for DFHDPLOY by specifying the JCL DPLOYTRC data definition. If you still have issues, supply this trace when you contact the IBM® support center.
//DPLOYTRC DD SYSOUT=*
As in the following
example, which deploys a bundle in an ENABLED state, with trace enabled: //DFHDPLOY JOB CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID
//*
//DFHDPLOY EXEC PGM=DFHDPLOY
//*
//STEPLIB DD DISP=SHR,DSN=CICSTS51.CICS.SDFHLOAD
// DD DISP=SHR,DSN=CICSTS51.CPSM.SEYUAUTH
//SYSTSPRT DD SYSOUT=*
//DPLOYTRC DD SYSOUT=*
//SYSIN DD *
*
SET CICSPLEX(MYPLEX);
*
DEPLOY BUNDLE(WEBSITE) BUNDLEDIR(/var/cicsts/bundles/Website_1.0.0)
CSDGROUP(BANKING) SCOPE(SYS1) STATE(ENABLED) TIMEOUT(60);
/*