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.
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.
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