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

//MYJOB  JOB  'EXEMPLE','USER'
//STEP1  EXEC MYPROC,DATASET=MY.INPUT.DATA,OUTFILE=MY.OUTPUT.DATA

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
//MYJOB  JOB  'EXEMPLE','USER'
//STEP1  EXEC MYPROC
//STEP1.DD1 DD DSN=MY.NEW.INPUT.DATA,DISP=SHR

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

  1. 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.
  2. Invoca el procediment en un treball JCL i sobreescriu els paràmetres amb els valors MY.INPUT.DATA i MY.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
//MYJOB  JOB  'EXEMPLE','USER'
//STEP1  EXEC MYPROC,INFILE=MY.INPUT.DATA,OUTFILE=MY.OUTPUT.DATA

Exercici 2: Sobreescriure una Declaració DD dins d'un Procediment

  1. Crea un procediment anomenat MYPROC2 amb una declaració DD per a un conjunt de dades temporal.
  2. 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))
//MYJOB  JOB  'EXEMPLE','USER'
//STEP1  EXEC MYPROC2
//STEP1.TEMP DD DSN=MY.SPECIFIC.DATA,DISP=SHR

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

© Copyright 2024. Tots els drets reservats