En aquest tema, aprendrem com sobreescriure paràmetres en JCL, una tècnica molt útil per modificar el comportament dels procediments sense necessitat de canviar el codi original del procediment. Això permet una major flexibilitat i reutilització dels procediments.
Què són els Paràmetres Simbòlics?
Els paràmetres simbòlics són variables que es poden definir en un procediment JCL i que es poden substituir per valors específics quan s'executa el procediment. Això permet que un mateix procediment es pugui utilitzar en diferents contextos amb diferents valors.
Exemple de Paràmetres Simbòlics
//MYPROC PROC //STEP1 EXEC PGM=MYPROG //DD1 DD DSN=&DATASET,DISP=SHR //DD2 DD DSN=&OUTFILE,DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)),UNIT=SYSDA
En aquest exemple, &DATASET
i &OUTFILE
són paràmetres simbòlics que es poden substituir per valors específics quan s'invoca el procediment.
Sobreescriure Paràmetres en la Declaració EXEC
Quan s'invoca un procediment, es poden sobreescriure els paràmetres simbòlics definits en el procediment utilitzant la declaració EXEC
.
Exemple de Sobreescriptura de Paràmetres
En aquest exemple, els paràmetres &DATASET
i &OUTFILE
del procediment MYPROC
es substitueixen pels valors MY.INPUT.DATA
i MY.OUTPUT.DATA
, respectivament.
Sobreescriure Paràmetres en Declaracions DD
També es poden sobreescriure paràmetres en les declaracions DD
dins d'un procediment.
Exemple de Sobreescriptura en Declaracions DD
//MYPROC PROC //STEP1 EXEC PGM=MYPROG //DD1 DD DSN=&DATASET,DISP=SHR //DD2 DD DSN=&OUTFILE,DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)),UNIT=SYSDA
En aquest exemple, la declaració DD1
dins del procediment MYPROC
es sobreescriu amb el conjunt de dades MY.NEW.INPUT.DATA
.
Exercicis Pràctics
Exercici 1: Crear un Procediment amb Paràmetres Simbòlics
-
Crea un procediment anomenat
MYPROC
que contingui els següents paràmetres simbòlics:&INFILE
per al conjunt de dades d'entrada.&OUTFILE
per al conjunt de dades de sortida.
-
Invoca el procediment en un treball JCL i sobreescriu els paràmetres amb els valors
MY.INPUT.DATA
iMY.OUTPUT.DATA
.
Solució
//MYPROC PROC //STEP1 EXEC PGM=MYPROG //INFILE DD DSN=&INFILE,DISP=SHR //OUTFILE DD DSN=&OUTFILE,DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)),UNIT=SYSDA
Exercici 2: Sobreescriure una Declaració DD dins d'un Procediment
- Crea un procediment anomenat
MYPROC2
amb una declaracióDD
per a un conjunt de dades temporal. - Invoca el procediment en un treball JCL i sobreescriu la declaració
DD
amb un conjunt de dades específic.
Solució
//MYPROC2 PROC //STEP1 EXEC PGM=MYPROG //TEMP DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSDA, // SPACE=(TRK,(1,1))
Errors Comuns i Consells
- Error: Paràmetre no definit: Assegura't que tots els paràmetres simbòlics utilitzats en el procediment estiguin definits correctament.
- Error: Sobreescriptura incorrecta: Verifica que els noms dels paràmetres en la invocació del procediment coincideixin exactament amb els noms definits en el procediment.
- Consell: Utilitza noms de paràmetres descriptius per facilitar la comprensió i manteniment del codi.
Conclusió
Sobreescriure paràmetres en JCL és una tècnica poderosa que permet una major flexibilitat i reutilització dels procediments. Amb la pràctica, podràs utilitzar aquesta tècnica per simplificar i optimitzar els teus treballs JCL. En el proper mòdul, explorarem conceptes avançats de JCL, incloent el processament condicional i l'ús de grups de dades de generació (GDGs).
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