En aquest tema, explorarem diverses tècniques de depuració que poden ajudar-te a identificar i solucionar problemes en els teus treballs JCL. La depuració és una habilitat essencial per a qualsevol programador, ja que permet assegurar-se que els treballs s'executen correctament i eficientment.
- Revisió de Missatges d'Error
1.1. Tipus de Missatges d'Error
Els missatges d'error en JCL solen ser generats pel sistema JES (Job Entry Subsystem) i poden incloure:
- Missatges de Sintaxi: Errors en la sintaxi del JCL.
- Missatges de Recursos: Problemes amb l'accés o la disponibilitat de recursos.
- Missatges de Condició: Errors relacionats amb condicions específiques definides en el JCL.
1.2. Exemple de Missatge d'Error
Aquest missatge indica que el conjunt de dades especificat no es va trobar. És important revisar el nom del conjunt de dades i assegurar-se que existeix i és accessible.
- Utilització de la Declaració MSGLEVEL
2.1. Què és MSGLEVEL?
La declaració MSGLEVEL
en la declaració JOB
controla el nivell de detall dels missatges que es generen durant l'execució del treball.
2.2. Sintaxi de MSGLEVEL
- Primer Paràmetre: Controla els missatges de treball.
0
: Només missatges d'error.1
: Tots els missatges.
- Segon Paràmetre: Controla els missatges de pas.
0
: Només missatges d'error.1
: Tots els missatges.
2.3. Exemple Pràctic
//MYJOB JOB (1234),'MY JOB', MSGLEVEL=(1,1) //STEP1 EXEC PGM=MYPROG //DD1 DD DSN=MY.DATA.SET,DISP=SHR
Aquest exemple assegura que es generin tots els missatges de treball i de pas, facilitant la depuració.
- Utilització de la Declaració TYPRUN
3.1. Què és TYPRUN?
La declaració TYPRUN
en la declaració JOB
permet executar el treball en mode de prova, sense processar realment les dades.
3.2. Sintaxi de TYPRUN
- SCAN: Verifica la sintaxi del JCL sense executar-lo.
- HOLD: Manté el treball en espera fins que es realitzi una acció manual.
3.3. Exemple Pràctic
Aquest exemple verifica la sintaxi del treball sense executar-lo, ajudant a identificar errors de sintaxi abans de l'execució real.
- Utilització de la Declaració JCLLIB
4.1. Què és JCLLIB?
La declaració JCLLIB
permet especificar una biblioteca de JCL que conté procediments i incloure'ls en el treball.
4.2. Sintaxi de JCLLIB
4.3. Exemple Pràctic
Aquest exemple utilitza una biblioteca de JCL per incloure un procediment, facilitant la reutilització i la depuració de codi.
- Utilització de la Declaració SYSOUT
5.1. Què és SYSOUT?
La declaració SYSOUT
especifica la destinació de la sortida del sistema, com ara missatges de treball i sortida de programes.
5.2. Sintaxi de SYSOUT
- A: Destinació de la sortida (pot variar segons la configuració del sistema).
5.3. Exemple Pràctic
Aquest exemple envia la sortida del sistema a la destinació especificada, facilitant la revisió de missatges i resultats.
Exercici Pràctic
Exercici
Crea un treball JCL que:
- Utilitzi
MSGLEVEL
per generar tots els missatges. - Utilitzi
TYPRUN
per verificar la sintaxi sense executar el treball. - Inclogui una biblioteca de JCL amb
JCLLIB
. - Especifiqui la sortida del sistema amb
SYSOUT
.
Solució
//MYJOB JOB (1234),'MY JOB', MSGLEVEL=(1,1), TYPRUN=SCAN //JCLLIB ORDER=(MY.LIBRARY) //STEP1 EXEC PGM=MYPROG //SYSOUT DD SYSOUT=A
Conclusió
En aquesta secció, hem explorat diverses tècniques de depuració en JCL, incloent la revisió de missatges d'error, l'ús de MSGLEVEL
, TYPRUN
, JCLLIB
i SYSOUT
. Aquestes eines i tècniques són essencials per identificar i solucionar problemes en els teus treballs JCL, assegurant una execució correcta i eficient. En el proper tema, aprendrem a utilitzar JES2/JES3 per a la resolució de problemes.
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