Ejemplos de script de programa de utilidad DFHDPLOY

Puede utilizar los ejemplos siguientes para crear su propio JCL para desplegar y anular el despliegue de las aplicaciones CICS® y los paquetes CICS . Este tema también incluye ejemplos de salida DFHDPLOY para scripts satisfactorios y fallidos.

Programa de ejemplo DFH$DPLY

El programa de ejemplo DFH$DPLY contiene JCL DFHDPLOY anotado para desplegar, anular el despliegue y, opcionalmente, establecer un paquete de ejemplo y una aplicación en un CICSplex.

La muestra se suministra en la CICSTSnn.CICS.SDFHSAMP biblioteca, donde CICSTSnn es su versión de CICS. Por ejemplo, la biblioteca es CICSTS64.CICS.SDFHSAMP para CICS TS beta.

Retirada del despliegue de un paquete a un estado DESCARTADO

El siguiente script de ejemplo muestra, para CICS TS beta, cómo conectarse a MYPLEX y desimplementar el paquete MYBUND a un estado DISCARDED en las regiones CICS dentro de MYSCOPE :

//DFHDPLY1
JOB CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID
//*
//DFHPLOY EXEC PGM=DFHDPLOY,REGION=100M
//*
//STEPLIB DD DISP=SHR,DSN=CICSTS64.CICS.SDFHLOAD
//        DD DISP=SHR,DSN=CICSTS64.CPSM.SEYUAUTH
*
//SYSTSPRT DD SYSOUT=*
//SYSIN DD *
*
SET CICSPLEX(MYPLEX);
*
UNDEPLOY BUNDLE(MYBUND) SCOPE(MYSCOPE)
TIMEOUT(40) STATE(DISCARDED);
/*
A continuación se muestra la salida DFHDPLOY para este script cuando se ejecuta correctamente:
DFHRL2132I Analyzing CICS regions and CSD attributes.
DFHRL2093I BUNDLE(MYBUND) found in SCOPE(MYSCOPE).
DFHRL2129I BUNDLE(MYBUND) state is INSTALLED on 2 CICS regions in
SCOPE(MYSCOPE).
DFHRL2129I BUNDLE(MYBUND) state is ENABLED on 2 CICS regions in
SCOPE(MYSCOPE).
DFHRL2054I Setting BUNDLE state to DISABLED. DFHRL2042I Discarding
BUNDLE(MYBUND).
DFHRL2077I BUNDLE(MYBUND) has been discarded from SCOPE(MYSCOPE).
DFHRL2037I UNDEPLOY command successful.
A continuación se muestra un ejemplo de salida DFHDPLOY potencial para este script cuando falla debido a que se ha excedido el tiempo de espera:
DFHRL2132I Analyzing CICS regions and CSD attributes.
DFHRL2093I BUNDLE(MYBUND) found in SCOPE(MYSCOPE).
DFHRL2129I BUNDLE(MYBUND) state is INSTALLED on 2 CICS regions in
SCOPE(MYSCOPE).
DFHRL2129I BUNDLE(MYBUND) state is ENABLED on 2 CICS regions in
SCOPE(MYSCOPE).
DFHRL2054I Setting BUNDLE state to DISABLED.
DFHRL2039W The command failed to complete within the specified time out period
of 40 seconds.
DFHRL2129I BUNDLE(MYBUND) state is INSTALLED on 2 CICS regions in
SCOPE(MYSCOPE).
DFHRL2129I BUNDLE(MYBUND) state is ENABLED on 1 CICS regions in
SCOPE(MYSCOPE).
DFHRL2129I BUNDLE(MYBUND) state is DISABLED on 1 CICS regions in
SCOPE(MYSCOPE).
DFHRL2041I TIMEOUT has occurred before BUNDLE(MYBUND) has reached
STATE(DISABLED)

Status of BUNDLE(MYBUND) in SCOPE(MYSCOPE):
CICS ENABLESTATUS AVAILSTATUS
CICSSYS1 ENABLED NONE MYBUND
CICSSYS2 DISABLED NONE MYBUND

All Bundle part records for BUNDLE(MYBUND):
CICS BUNDLE ENABLESTATUS AVAILSTATUS BUNDLEPART
CICSSYS1 MYBUND DISABLED NONE SAMP
http://www.ibm.com/xmlns/prod/cics/bundle/TRANSACTION
CICSSYS1 MYBUND ENABLED NONE SAMPFILE
http://www.ibm.com/xmlns/prod/cics/bundle/FILE
CICSSYS2 MYBUND DISABLED NONE SAMP
http://www.ibm.com/xmlns/prod/cics/bundle/TRANSACTION
CICSSYS2 MYBUND DISABLED NONE SAMPFILE
http://www.ibm.com/xmlns/prod/cics/bundle/FILE

DFHRL2055I Errors have occurred, processing terminated.

Despliegue de una aplicación en un estado AVAILABLE

El siguiente script de ejemplo se conecta a MYPLEX y despliega la aplicación MYAPP en un estado AVAILABLE:
//DFHDPLY1
JOB CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID
//*
//DFHPLOY EXEC PGM=DFHDPLOY,REGION=100M
//*
//STEPLIB DD DISP=SHR,DSN=CICSTS64.CICS.SDFHLOAD
//        DD DISP=SHR,DSN=CICSTS64.CPSM.SEYUAUTH
//SYSIN DD *
*
SET CICSPLEX(MYPLEX);
*
DEPLOY APPLICATION(MYAPP)
APPLDIR(/var/cicsts/MYPLEX/myplatform/myapplications/myapplication)
BINDDIR(/var/cicsts/MYPLEX/myplatform/mybindings/mybinding)
TIMEOUT(400) STATE(AVAILABLE);
/*
A continuación se muestra la salida DFHDPLOY para este script cuando se ejecuta correctamente:
DFHRL2044I CICS application definition(MYAPP) created.
DFHRL2045I CICS application definition(MYAPP) installed.
DFHRL2046I Setting application state to ENABLED.
DFHRL2046I Setting application state to AVAILABLE.
DFHRL2012I DEPLOY command completed successfully.

DFHRL2007I Processing complete.
DFHRL2014I Disconnecting from CICSPLEX(MYPLEX).
A continuación se muestra un ejemplo de salida DFHDPLOY potencial para este script cuando falla:
DFHRL2044I CICS application definition MYAPP created.
DFHRL2045I CICS application definition MYAPP installed.
DFHRL2046I Setting application state to ENABLED.
DFHRL2064I The state of application MYAPP version 0.0.0 is SOMEDISABLED and
availability is UNAVAILABLE.

Application Management part records which did not reach desired state:
ENABLESTATUS AVAILSTATUS BUNDLE(version) REGIONTYPE
SOMEDISABLED NONE BUNDMIX2(0.0.0) RegionType1
SOMEDISABLED NONE BUNDMIX2(0.0.0) RegionType2

DFHRL2064I The state of application MYAPP version 0.0.0 is SOMEDISABLED and
availability is UNAVAILABLE.

Showing all Application Management part records. Record count = 4
ENABLESTATUS AVAILSTATUS BUNDLE(version) REGIONTYPE
SOMEDISABLED NONE BUNDMIX2(0.0.0) RegionType1
SOMEDISABLED NONE BUNDMIX2(0.0.0) RegionType2
ENABLED UNAVAILABLE ProgramEP(1.0.0) RegionType1
ENABLED UNAVAILABLE ProgramEP(1.0.0) RegionType2

DFHRL2055I Errors have occurred. Processing terminated.
DFHRL2014I Disconnecting from CICSplex MYPLEX.

Utilización del proceso condicional en el script DFHDPLOY

Puede utilizar el código de retorno del trabajo DFHDPLOY para procesar condicionalmente pasos posteriores utilizando el parámetro COND de JCL y las sentencias IF/THEN, ELSE y ENDIF. Consulte Parámetro COND en la publicación z/OS MVS JCL Reference y la construcción de sentencia IF/THEN/ELSE/ENDIF en la publicación z/OS MVS JCL Reference.
El script siguiente utiliza el mandato SET APPLICATION para volver a intentar la transición de la aplicación MYAPP a un estado AVAILABLE, después de que el primer intento de desplegar la aplicación haya fallado con un código de retorno de 4:
//DPLYAPPL
JOB CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID
//*
//DFHDPLOY EXEC PGM=DFHDPLOY,REGION=100M
//*
//STEPLIB DD DISP=SHR,DSN=CICSTS64.CICS.SDFHLOAD
//        DD DISP=SHR,DSN=CICSTS64.CPSM.SEYUAUTH
*
//SYSTSPRT DD SYSOUT=*
//SYSIN DD *
*
SET CICSPLEX(MYPLEX);
*
DEPLOY APPLICATION(MYAPP)
APPLDIR(/var/cicsts/MYPLEX/myplatform/myapplications/myapplication)
BINDDIR(/var/cicsts/MYPLEX/myplatform/mybindings/mybinding)
TIMEOUT(10)
STATE(AVAILABLE);
*
//DPLYFAIL IF (DFHDPLOY.RC = 4) THEN
//DFHDPLY2 EXEC PGM=DFHDPLOY,REGION=100M
//*
//STEPLIB DD DISP=SHR,DSN=CICSTS64.CICS.SDFHLOAD
//        DD DISP=SHR,DSN=CICSTS64.CPSM.SEYUAUTH
*
//SYSTSPRT DD SYSOUT=*
//SYSIN DD *
* If we TIMED out with an RC=4 then retry making MYAPP
* AVAILABLE.
*
SET CICSPLEX(MYPLEX);
*
SET APPLICATION(MYAPP)
VERSION(4.4.4)
PLATFORM(MYPLATFM)
STATE(AVAILABLE);
//*
// ENDIF