En aquest tema, explorarem les declaracions JCLLIB i INCLUDE, que són fonamentals per a la modularitat i la reutilització de codi en JCL. Aquestes declaracions permeten organitzar i gestionar millor els treballs JCL, especialment en entorns complexos.

Declaració JCLLIB

Què és la Declaració JCLLIB?

La declaració JCLLIB s'utilitza per especificar una o més biblioteques que contenen procediments JCL (PROCs) i altres membres que es poden incloure en els treballs JCL. Aquesta declaració facilita la reutilització de codi i la gestió de procediments comuns.

Sintaxi de la Declaració JCLLIB

//JCLLIB ORDER=(biblioteca1,biblioteca2,...)
  • ORDER: Paràmetre obligatori que especifica l'ordre en què es buscaran les biblioteques.
  • biblioteca1, biblioteca2, ...: Noms de les biblioteques que contenen els procediments JCL.

Exemple de Declaració JCLLIB

//JCLLIB ORDER=(MY.PROCLIB, SYS1.PROCLIB)

En aquest exemple, el sistema buscarà primer a MY.PROCLIB i després a SYS1.PROCLIB per trobar els procediments JCL.

Declaració INCLUDE

Què és la Declaració INCLUDE?

La declaració INCLUDE permet incloure el contingut d'un membre d'una biblioteca en un treball JCL. Això és útil per a la modularitat i la reutilització de codi, ja que permet definir blocs de codi comuns en un sol lloc i incloure'ls en diversos treballs JCL.

Sintaxi de la Declaració INCLUDE

//INCLUDE MEMBER=nom_membre
  • MEMBER: Paràmetre obligatori que especifica el nom del membre que es vol incloure.

Exemple de Declaració INCLUDE

Suposem que tenim un membre anomenat COMMON.STEPS en una biblioteca especificada en la declaració JCLLIB.

//JCLLIB ORDER=(MY.PROCLIB)
//INCLUDE MEMBER=COMMON.STEPS

En aquest exemple, el contingut del membre COMMON.STEPS serà inclòs en el treball JCL.

Exemple Complet

A continuació, es mostra un exemple complet que combina les declaracions JCLLIB i INCLUDE per executar un treball JCL modular.

Contingut del Membre COMMON.STEPS

//STEP1 EXEC PGM=IEFBR14
//STEP2 EXEC PGM=IEFBR14

Treball JCL que Utilitza JCLLIB i INCLUDE

//MYJOB JOB (ACCT),'EXEMPLE',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID
//JCLLIB ORDER=(MY.PROCLIB)
//INCLUDE MEMBER=COMMON.STEPS
//STEP3 EXEC PGM=IEFBR14

En aquest exemple:

  1. La declaració JCLLIB especifica que el sistema ha de buscar a MY.PROCLIB per trobar els membres.
  2. La declaració INCLUDE inclou el contingut del membre COMMON.STEPS, que conté dos passos (STEP1 i STEP2).
  3. A continuació, s'executa un tercer pas (STEP3).

Exercicis Pràctics

Exercici 1

Crea un membre anomenat MY.STEPS en una biblioteca i inclou-lo en un treball JCL. El membre ha de contenir dos passos que executin el programa IEFBR14.

Solució

  1. Contingut del membre MY.STEPS:

    //STEP1 EXEC PGM=IEFBR14
    //STEP2 EXEC PGM=IEFBR14
    
  2. Treball JCL:

    //MYJOB JOB (ACCT),'EXERCICI 1',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID
    //JCLLIB ORDER=(MY.PROCLIB)
    //INCLUDE MEMBER=MY.STEPS
    //STEP3 EXEC PGM=IEFBR14
    

Exercici 2

Modifica el treball JCL anterior per incloure un segon membre anomenat ADDITIONAL.STEPS que contingui un pas addicional.

Solució

  1. Contingut del membre ADDITIONAL.STEPS:

    //STEP4 EXEC PGM=IEFBR14
    
  2. Treball JCL modificat:

    //MYJOB JOB (ACCT),'EXERCICI 2',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID
    //JCLLIB ORDER=(MY.PROCLIB)
    //INCLUDE MEMBER=MY.STEPS
    //INCLUDE MEMBER=ADDITIONAL.STEPS
    //STEP3 EXEC PGM=IEFBR14
    

Resum

En aquesta secció, hem après sobre les declaracions JCLLIB i INCLUDE, que són essencials per a la modularitat i la reutilització de codi en JCL. Hem vist com utilitzar aquestes declaracions per organitzar millor els treballs JCL i hem practicat amb exemples concrets. Amb aquests coneixements, estàs preparat per gestionar treballs JCL més complexos i eficients.

© Copyright 2024. Tots els drets reservats