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:

//MYJOB    JOB  (ACCT),'EXEMPLE',CLASS=A,MSGCLASS=A
//STEP1    EXEC PROC=PROCNAME

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:

//MYJOB  JOB  (ACCT),'EXEMPLE',CLASS=A,MSGCLASS=A
//STEP1  EXEC PROC=MYPROC

En aquest exemple:

  • El procediment MYPROC crea un conjunt de dades nou anomenat MY.DATASET.
  • El treball MYJOB invoca el procediment MYPROC en el pas STEP1.

Exercici Pràctic

Exercici:

  1. 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 a BACKUP.DATASET.
  2. 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:

//MYJOB    JOB  (ACCT),'EXEMPLE',CLASS=A,MSGCLASS=A
//STEP1    EXEC PROC=BACKUPPROC

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.

© Copyright 2024. Tots els drets reservats