Vous êtes ici

Mémo sur le JCL

Voici un petit mémo sur la structure générale d'un JCL.

-L'entête :

//jobname JOB (compte),'auteur',
//  CLASS=classe d'entrée,
//  MSGCLASS=classe de sortie,
//  MSGLEVEL=(jcl,messages),
//  TIME=(mm,ss),
//  REGION=nK ou nM,
//  NOTIFY=userid,
//  RESTART=(step.procstep)
//  COND=(rc,opérateur),
//  TYPRUN=COPY ou HOLD ou JCLHOLD ou SCAN,
//  GROUP=groupe racf,
//  SECLABEL=label racf,
//  USER=userid,
//  PASSWORD=(mdp),
//  PRTY=priorité,
//  PERFORM=n,
//  ADDRSPC=VIRT ou REAL

En régle géneral, tous les parametres ne sont pas necessaire, ils sont déjà renseigné dans la classe d'éxecution, une carte jcl standart serait donc :

//NOMJOB0 JOB (FACT,0000),CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)

Il est également préferable de mettre vos librairie de programmes et parametres à la suite de l'entête dans vos JCLs, cela permet a votre JCL de savoir ou trouver les programmes (renseigner le membre contenant les pgms) et leur divers param d'exec (renseignez également le membre contenant les params) sans avoir à les ajouter à chaque step :

//NOMJOB0 JOB (FACT,0000),CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//PARMLIB INCLUDE MEMBER=membre
//JOBLIB  INCLUDE MEMBER=membre


-La Carte Exec :

//JOBLIB   DD   DSN=loadlib,DISP=SHR
//stepname EXEC PGM=nom du programme,
//  PARM='paramtre1',
//  REGION=nK ou nM,
//  TIME=(mm,ss),
//  ACCT=compte,
//  COND=(rc,operateur,step)
//  ADDRSPC=VIRT ou REAL
//  DYNAMNBR=nn,
//  PERFORM=n,
//STEPLIB  DD   DSN=loadlib,DISP=SHR

Encore une fois, ici tous les parametres sont proposés sachant qu'il est préferable de mettre les librairies en entête de JCL.
La maniere la plus courante pour lancer un programme dans un jcl est :

//STEPPGM  EXEC PGM=MONPROG
//FICIN    DD DSN=monfichier,DISP=SHR
//FICOUT   DD DSN=monfichier2,DISP=(NEW,CATLG,DELETE)


-La Carte SET :

La carte SET permet de définir une valeur a une constante :

//nom    SET constante=valeur

exemple :

//SYSTEM   SET SYSTEM=O

 

- La Carte INCLUDE :

La carte INCLUDE permet l'insertion d'un jcl dans un job :

//nom    INCLUDE MEMBER=membre

 

- La Carte JCLLIB :

La carte JCLLIB permet de spécifier les librairies à prendre en compte dans le JCL

//nom    JCLLIB ORDER=(proclib,...)

 

- La Carte DD (Data Definition)

C'est la carte qui permet de définir les données a mettre en entrée de nos steps et en sorties. C'est en faite a l'aide de cette carte que nous allons spécifier nos fichiers d'entrés et de sorties. Plusieurs manière exsite :

Données directement dans le JCL :

//ddname DD *
ligne 1.......
ligne 2.......
/*

Données dans un fichier physique :

//ddname DD DSN=datasetname,DISP=SHR

Données en Queue :

//ddname DD SYSOUT=classe

Aucune Données :

//ddname DD DUMMY

- Le paramètre DISP :

C'est ce parametre qui specifie a notre JCL ce qu'il doit faire du fichier, pour sa creation, sa suppression, sa lecture, etc...

Il se présente sous la forme de 3 parametres : DISP=(param1,param2,param3) , exemple :

DISP=(NEW,CATLG,DELETE)

param1 : Utilisation du fichier pendant l'execution du JCL

param2 : Disposition du fichier en cas de fin anormale

param3 : Disposition du fichier en cas de fin normale

Les differents paramétres possibles :

NEW : Nouveau fichier créé au step

OLD : Fichier existant avec écriture exclusive

SHR : Fichier en lecture non monopolisé

MOD : Fichier auquel on ajoute des enregs

KEEP : Fichier a conservé aprés le step

DELETE : Fichier a supprimer aprés le step

CATLG : Fichier a cataloguer aprés le step

UNCATLG : Fichier décatalogué mais pas supprimé

PASS : C'est le step suivant qui décide de l'avenir du fichier

Tags: 

www.le-gas.fr : Le guide de l'admin Systeme