En aquest mòdul, aprendrem sobre els procediments en JCL (Job Control Language). Els procediments són una eina poderosa que permet reutilitzar codi JCL, simplificar la gestió de treballs i millorar la mantenibilitat dels scripts. Comencem amb una visió general dels procediments, com es creen i com s'utilitzen.
Què és un Procediment en JCL?
Un procediment en JCL és un conjunt de declaracions JCL que es poden definir una vegada i reutilitzar en múltiples treballs. Els procediments ajuden a evitar la duplicació de codi i faciliten la gestió de canvis en els scripts JCL.
Beneficis dels Procediments:
- Reutilització del Codi: Permet definir un conjunt de declaracions una vegada i reutilitzar-les en diversos treballs.
- Mantenibilitat: Facilita la gestió i actualització dels scripts JCL.
- Simplicitat: Redueix la complexitat dels treballs JCL, fent-los més fàcils de llegir i entendre.
Estructura d'un Procediment
Un procediment es defineix en una biblioteca de procediments (PROCLIB) i es pot invocar en un treball JCL mitjançant la declaració EXEC
. A continuació es mostra l'estructura bàsica d'un procediment:
//PROCNAME PROC //STEP1 EXEC PGM=PROGRAM1 //STEP2 EXEC PGM=PROGRAM2 //DD1 DD DSN=DATASET1,DISP=SHR //DD2 DD DSN=DATASET2,DISP=OLD
Components d'un Procediment:
- Nom del Procediment: Identifica el procediment. En l'exemple anterior,
PROCNAME
és el nom del procediment. - Declaracions EXEC: Defineixen els passos del procediment, especificant els programes que s'executaran.
- Declaracions DD: Defineixen els conjunts de dades utilitzats pels passos del procediment.
Invocar un Procediment
Per utilitzar un procediment en un treball JCL, es fa servir la declaració EXEC
amb el nom del procediment. A continuació es mostra un exemple de com invocar un procediment:
En aquest exemple, el treball MYJOB
invoca el procediment PROCNAME
en el pas STEP1
.
Exemple Pràctic
Vegem un exemple complet que inclou la definició d'un procediment i la seva invocació en un treball JCL.
Definició del Procediment (PROCLIB):
//MYPROC PROC //STEP1 EXEC PGM=IEFBR14 //DD1 DD DSN=MY.DATASET,DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)),UNIT=SYSDA
Invocació del Procediment en un Treball JCL:
En aquest exemple:
- El procediment
MYPROC
crea un conjunt de dades nou anomenatMY.DATASET
. - El treball
MYJOB
invoca el procedimentMYPROC
en el pasSTEP1
.
Exercici Pràctic
Exercici:
-
Defineix un procediment anomenat
BACKUPPROC
que contingui dos passos:- El primer pas ha d'executar el programa
IEFBR14
. - El segon pas ha de copiar un conjunt de dades anomenat
SOURCE.DATASET
aBACKUP.DATASET
.
- El primer pas ha d'executar el programa
-
Escriu un treball JCL que invoqui el procediment
BACKUPPROC
.
Solució:
Definició del Procediment (PROCLIB):
//BACKUPPROC PROC //STEP1 EXEC PGM=IEFBR14 //STEP2 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD DSN=SOURCE.DATASET,DISP=SHR //SYSUT2 DD DSN=BACKUP.DATASET,DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)),UNIT=SYSDA
Invocació del Procediment en un Treball JCL:
Conclusió
En aquesta secció, hem après què són els procediments en JCL, com es defineixen i com s'utilitzen en treballs JCL. Els procediments són una eina essencial per a la reutilització del codi i la simplificació de la gestió dels treballs. En el proper tema, explorarem com crear i utilitzar procediments amb més detall.
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