El processament condicional en JCL permet que els treballs s'executin de manera dinàmica basant-se en certes condicions. Això és especialment útil per gestionar errors, optimitzar l'execució de treballs i assegurar que només es realitzin certes tasques quan es compleixin determinades condicions.
Conceptes Clau
-
Condicions de Retorn (Return Codes - RC):
- Els programes que s'executen en un entorn mainframe solen retornar un codi de sortida (RC) que indica l'estat de l'execució.
- Els codis de retorn poden variar, però generalment, un codi de retorn de
0
indica èxit, mentre que altres valors poden indicar diferents tipus d'errors o estats.
-
Paràmetre COND:
- El paràmetre
COND
s'utilitza en la declaracióEXEC
per especificar condicions sota les quals un pas del treball ha de ser saltat. - La sintaxi bàsica és
COND=(code,operator)
, oncode
és el codi de retorn ioperator
és l'operador de comparació (EQ
,NE
,GT
,LT
,GE
,LE
).
- El paràmetre
-
Paràmetre IF/THEN/ELSE/ENDIF:
- Permet una estructura condicional més complexa dins del JCL.
- La sintaxi bàsica és:
//IF (condició) THEN // Pas a executar si la condició és certa //ELSE // Pas a executar si la condició és falsa //ENDIF
Exemples Pràctics
Exemple 1: Ús del Paràmetre COND
//JOB1 JOB (ACCT),'COND EXAMPLE',CLASS=A,MSGCLASS=A //STEP1 EXEC PGM=PROG1 //STEP2 EXEC PGM=PROG2,COND=(4,LT) //STEP3 EXEC PGM=PROG3,COND=(0,EQ)
- STEP2 s'executarà només si el codi de retorn de STEP1 és
4
o més gran (LT
significa "less than"). - STEP3 s'executarà només si el codi de retorn de STEP1 és
0
.
Exemple 2: Ús de la Estructura IF/THEN/ELSE/ENDIF
//JOB2 JOB (ACCT),'IF/THEN EXAMPLE',CLASS=A,MSGCLASS=A //STEP1 EXEC PGM=PROG1 //IF (STEP1.RC = 0) THEN //STEP2 EXEC PGM=PROG2 //ELSE //STEP3 EXEC PGM=PROG3 //ENDIF
- Si STEP1 retorna un codi de retorn de
0
, s'executarà STEP2. - Si STEP1 retorna qualsevol altre codi de retorn, s'executarà STEP3.
Exercicis Pràctics
Exercici 1: Ús del Paràmetre COND
Escriu un treball JCL que executi tres passos. El segon pas només s'ha d'executar si el primer pas retorna un codi de retorn diferent de 0
. El tercer pas només s'ha d'executar si el primer pas retorna un codi de retorn de 0
.
Solució
//JOB3 JOB (ACCT),'COND EXERCISE',CLASS=A,MSGCLASS=A //STEP1 EXEC PGM=PROG1 //STEP2 EXEC PGM=PROG2,COND=(0,NE) //STEP3 EXEC PGM=PROG3,COND=(0,EQ)
Exercici 2: Ús de la Estructura IF/THEN/ELSE/ENDIF
Escriu un treball JCL que executi dos passos. Si el primer pas retorna un codi de retorn de 4
o més gran, s'ha d'executar un tercer pas. Si no, s'ha d'executar un quart pas.
Solució
//JOB4 JOB (ACCT),'IF/THEN EXERCISE',CLASS=A,MSGCLASS=A //STEP1 EXEC PGM=PROG1 //IF (STEP1.RC GE 4) THEN //STEP2 EXEC PGM=PROG2 //ELSE //STEP3 EXEC PGM=PROG3 //ENDIF
Errors Comuns i Consells
-
Error: Condició Incorrecta
- Assegura't que les condicions especificades en
COND
oIF/THEN/ELSE/ENDIF
siguin correctes i que els operadors de comparació siguin adequats.
- Assegura't que les condicions especificades en
-
Error: Sintaxi Incorrecta
- Verifica que la sintaxi de les declaracions
IF/THEN/ELSE/ENDIF
sigui correcta. Un error comú és oblidar elENDIF
.
- Verifica que la sintaxi de les declaracions
-
Consell: Prova amb Diferents Codis de Retorn
- Prova els teus treballs JCL amb diferents codis de retorn per assegurar-te que les condicions es comporten com s'espera.
Conclusió
El processament condicional en JCL és una eina poderosa per controlar l'execució de treballs basant-se en els resultats de passos anteriors. Mitjançant l'ús de COND
i IF/THEN/ELSE/ENDIF
, pots crear treballs més flexibles i robustos que responen dinàmicament a diferents situacions. Practica amb els exemples i exercicis proporcionats per dominar aquests conceptes.
Curs de JCL (Job Control Language)
Mòdul 1: Introducció al JCL
- Què és el JCL?
- Estructura Bàsica d'un Treball JCL
- Visió General de les Declaracions JCL
- Executar el Teu Primer Treball JCL
Mòdul 2: Declaracions i Sintaxi del JCL
Mòdul 3: Declaracions de Definició de Dades (DD)
- Definició de Conjunts de Dades
- Conjunts de Dades Temporals
- Referència a Conjunts de Dades
- Paràmetre de Disposició
Mòdul 4: Procediments i Paràmetres Simbòlics
- Introducció als Procediments
- Crear i Utilitzar Procediments
- Paràmetres Simbòlics
- Sobreescriure Paràmetres
Mòdul 5: Conceptes Avançats de JCL
- Processament Condicional
- Declaracions JCLLIB i INCLUDE
- Grups de Dades de Generació (GDGs)
- Reinici i Punt de Control
Mòdul 6: Gestió d'Errors i Depuració
- Errors Comuns de JCL
- Interpretar Missatges d'Error de JCL
- Tècniques de Depuració
- Utilitzar JES2/JES3 per a la Resolució de Problemes