PerroCobolero

PerroCobolero

ADS

jueves, 22 de octubre de 2015

SENTENCIAS AVANZADAS DE JCL

SENTENCIAS AVANZADAS DE JCL

7.1.- RESTART

-          indica la continuación de una secuencia de trabajos que se ha cancelado previamente.
-          este parámetro especifica el nuevo paso desde el que va a comenzar la ejecución del trabajo.
-          una vez que el trabajo se haya ejecutado correctamente, se debe eliminar el parámetro 
       RESTART.
-          si la ejecución del trabajo se cancela, puede ocurrir que se hayan creado los ficheros de salida correspondientes al paso que se rearranca o a pasos posteriores. Estos ficheros deben borrarse
 antes de rearrancar el trabajo.

//TRABAJOX    JOB   ……,RESTART=PASO4



7.2.- Ejecución condicional (COND)

-          supone la comprobación de los códigos de retorno de los pasos anteriores, para determinar el flujo de ejecución (es decir, si un programa debe ejecutarse o no).
-          cuando la condición especificada es verdadera, no se ejecuta el paso.
-          si no se indica un nombre de paso, se refiere a cualquier paso previo.
-          si se codifica el parámetro COND en la sentencia JOB, se ignoran los COND que puedan existir en las sentencias EXEC.
-          en este parámetro, se pueden codificar un máximo de 8 condiciones, incluyendo la EVEN u ONLY.
-          COND=EVEN, efectúa la ejecución incluso si los pasos previos terminan de forma anormal (ABEND).
-          COND=ONLY, efectúa la ejecución sólo si los pasos previos terminan de forma anormal.
-          Los operadores de comparación válidos para este parámetro son:

§  GT     Mayor que
§  GE     Mayor o igual que
§  EQ     Igual a
§  LT      Menor que
§  LE     Menor o igual que
§  NE     Distinto de


//PASO1    EXEC  PGM=PROGRAM1
//PASO2    EXEC  PGM=PROGRAM2,COND=(4,EQ,PASO1)
//PASO3    EXEC  PGM=PROGRAM3

Si RC=4 verdadero, no se ejecutará el PASO2; mientras que si es falso, sí se ejecutará. Es decir, el PASO2 sólo se ejecutará cuando el retorno del PASO1 sea distinto de 4.



7.3.- Sentencias IF/THEN/ELSE/ENDIF

Esta sentencia se utiliza para ejecutar condicionalmente pasos dentro de un trabajo, y puede tener tres campos:
-          nombre (opcional)
-          operación.
o   IF, siempre va seguida de una expresión relacional y de la palabra clave THEN. Especifica los pasos del trabajo que el sistema procesará cuando la evaluación de la expresión relacional de la cláusula IF sea una condición verdadera.
o   ELSE, puede aparecer a continuación del IF. Especifica los pasos del trabajo que el sistema procesará cuando la evaluación de la expresión relacional de la cláusula IF sea una condición falsa.
o   ENDIF, indica el final de la estructura de sentencia.
-          el campo de la expresión relacional.

Pueden anidarse estructuras de sentencias IF/THEN/ELSE/ENDIF hasta un máximo de 15 niveles.

Una expresión relacional consta de:

-          operadores de comparación, lógicos y NOT().

       OPERADOR
                       OPERACIÓN
     ORDEN
OPERADOR   NOT
NOT
¬
NO
PRIMERO
                                             OPERADORES DE COMPARACIÓN
GT
LT
NG
NL
EQ
NE
GE
LE
> 
< 
¬>
¬<
=
¬=
>=
<=
MAYOR QUE
MENOR QUE
NO MAYOR QUE
NO MENOR QUE
IGUAL A
DISTINTO DE
MAYOR O IGUAL QUE
MENOR O IGUAL QUE




SEGUNDO
                                                    OPERADORES LÓGICOS
AND
OR
&
|
Y
O
TERCERO

-          palabras clave:
§  RC, indica el código de retorno.
§  ABEND=TRUE, indica que se ha producido una terminación anormal.
§  ABEND=FALSE, indica que no se ha producido ninguna terminación anormal.
§  ABENDCC=Sxxx o ABENDCC=Uxxxx, indica un código de terminación anormal específico del sistema (S0C4) o del usuario (U0100)
§  nombrepaso.RUN=TRUE, indica que se ha ejecutado el paso especificado
§  nombrepaso.RUN=FALSE, indica que no se ha ejecutado el paso especificado.



No hay comentarios.:

Publicar un comentario