Vous êtes sur la page 1sur 11

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

I.

Dernire modif.

3 septembre 2010

PARAMETRES D'UN JCL ..................................................................................................................................... 2


A.
B.
C.
D.
E.
F.
1.
2.

II.

CARTE JOB ......................................................................................................................................................... 2


NOTIFY.............................................................................................................................................................. 2
CLASS................................................................................................................................................................ 2
REGION ............................................................................................................................................................. 2
TIME .................................................................................................................................................................. 2
LES PARAMETRES GENERALISES .......................................................................................................................... 3
Paramtres.......................................................................................................................................................... 3
Exemples ............................................................................................................................................................. 3
APPEL DE PROGRAMME ................................................................................................................................ 4

A.
1.
2.
B.
1.
2.
C.
1.
2.
3.
4.
5.
III.

CARTE EXEC ...................................................................................................................................................... 4


Format ................................................................................................................................................................ 4
Exemple............................................................................................................................................................... 4
COND ................................................................................................................................................................. 4
Syntaxe :.............................................................................................................................................................. 4
Exemple : ............................................................................................................................................................ 4
LES UTILITAIRES LES PLUS COURANTS ................................................................................................................. 5
IDCAMS.............................................................................................................................................................. 5
IEBCOPY............................................................................................................................................................ 5
SORT................................................................................................................................................................... 5
IEFBR14 ............................................................................................................................................................. 5
Rsum................................................................................................................................................................ 5
OPERATIONS SUR DES FICHIERS ................................................................................................................ 6

A.
1.
2.
3.
4.
5.
6.
B.
1.
2.
C.
1.
2.
3.
4.
5.

CARTE DD........................................................................................................................................................... 6
Syntaxe................................................................................................................................................................ 6
DSN..................................................................................................................................................................... 6
DISP.................................................................................................................................................................... 6
LRECL ................................................................................................................................................................ 7
RECFM ............................................................................................................................................................... 7
SPACE ................................................................................................................................................................ 7
SUPPRESSION ....................................................................................................................................................... 8
Avec IDCAMS ..................................................................................................................................................... 8
Avec IEFBR14..................................................................................................................................................... 9
COPIE .................................................................................................................................................................. 9
Copie simple ....................................................................................................................................................... 9
Copie fusion ........................................................................................................................................................ 9
Copie avec suppression de doublons (SUM) ...................................................................................................... 9
Copie partielle ou filtre..................................................................................................................................... 10
Copie avec reformatage d'enregistrements (OUTREC).................................................................................... 11

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

I. Paramtres d'un JCL


A. Carte JOB
La carte JOB est la 1re ligne du JCL. Sa syntaxe est la suivante :
//jobname JOB (n comptable, infos comptable ... )

Le jobname ne doit pas dpass 8 caractres.

B. NOTIFY
Permet l'envoi d'un message l'utilisateur TSO quand le job se termine. Si l'utilisateur n'est pas
connect TSO, le message est conserv dans le fichier broadcast de TSO. Se rajoute gnralement
dans la carte JOB.
Syntaxe :
//jobname JOB (n comptable, infos comptable ... ),NOTIFY=userid

Remarque : On peut mettre "&SYSUID" pour que par dfaut soit rcuprer identifiant de la personne qui
lance le JCL.

C. CLASS
Affecte une classe de traitement JES au job.
Utilis principalement dans un environnement JES2 o "classe" est un caractre alphanumrique de A
Z ou de 0 9. Se rajoute gnralement dans la carte JOB
Syntaxe :
//jobname JOB (n comptable, infos comptable ... ),CLASS=classe

D. REGION
Permet le contrle de la taille de la rgion utilisateur de l'espace adresse. Taille programme + GETMAIN
l'excution + GETMAIN de terminaison de tche si la pagination est autorise.
1K = 1024 octets 1M = 1 048 576 octets, 0K ou 0M n'impose pas de limite.
Remarque : Mieux vaut paramtrer la rgion STEP par STEP pour une meilleure utilisation de l'espace
virtuel.
Syntaxe :
REGION=xxxxK ou xxxxM

E. TIME
Limite la consommation de temps CPU du job.
Le job fait abend S322 quand la limite est dpasse (somme des consommations de tous les steps).
 TIME = (mn, sec) ;
 TIME = (,sec) ;
 TIME = mn ;
 TIME = 1440 : permet au job de s'affranchir de toute limitation ainsi que de la limite d'attente job
wait time de SMF (24*60 minutes).
 TIME=NOLIMIT : pas de limitation de temps.
Exemple :
//jobname JOB (n comptable, infos comptable ... ),TIME=30

Le job ne dpassera les 30 min de traitement.


2

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

F. Les paramtres gnraliss


Il est possible de dfinir des JCL gnraliss qui pourront tre lanc par n'importe quel dveloppeur et
que les caractristiques de ce dernier soient pris en compte automatiquement.

1. Paramtres

Nom de job
Notify
Librairie
Trigramme

: %JOB
: %TSU
: %LIB (B300, A100, K600 etc)
: %NOM

2. Exemples
a) Dbut du JCL :
//%JOB
//

JOB (K660,4761),%ZXR,MSGCLASS=D,CLASS=A,
REGION=5M,NOTIFY=%TSU

b) Ou des noms de fichiers :


//SORFIC01 DD DSN= ZZ.%LIB.%NOM.FICOUT.R05

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

II. Appel de programme


A. Carte EXEC
1. Format
//step

EXEC PGM=nom_prog

2. Exemple
//ETAPE1 EXEC PGM=MONPROG
//ETAPE2 EXEC PGM=IEFBR14
//ETAPE3 EXEC PGM=*.LKED.TEST

B. COND
Teste les codes retours des tapes prcdentes pour excuter ou non celle dans laquelle le test est
effectu. Jusqu' 8 tests possibles dans un COND. Si aucune condition n'est satisfaite : LE STEP SERA
EXECUTE.

1. Syntaxe :
COND.procstepname= (code, oprateur, stepname.procstepname), (code.. )

Avec :
Code
: 0 4095
Oprateur : GE (), GT (>), LE (), LT (<), EQ (=), NE ()
Stepname : tape de comparaison
Aucun test de code retour n'est fait sur une tape qui s'est termine anormalement (ABEND) ; EVEN
ou ONLY sont alors oprationnels :
COND=EVEN : Excution du step MEME SI un step prcdent a fait abend (sauf cancel
oprateur ou abend Sx22)
COND=ONLY : Excution du step SEULEMENT SI un step prcdent a fait abend.
Si un test de code retour est vrai, l'tape est saute, mme si EVEN ou ONLY est prsent.

2. Exemple :
//S1
EXEC PGM=PGM1
//S2
EXEC PGM=PGM2,COND=(8,LT,S1)
//ERREUR EXEC PGM=POURQUOI,COND=ONLY

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

C. Les utilitaires les plus courants


Un utilitaire est un programme JCL offrant des fonctions de bases. Il s'appelle dont comme un
programme avec une carte EXEC.

1. IDCAMS
Utilitaire multitches qui permet de :
Dfinir un fichier ou un GDG (DEF),
Supprimer un fichier (DEL),
Convertir, copier, rorganiser un fichier (REPRO),
Lister un catalogue (LISTC),
Imprimer un fichier SAM ou VSAM (PRINT)

2. IEBCOPY
Utilitaire de copie et/ou fusion de fichier. Permet aussi de compresser un PDS.

3. SORT
Utilitaire de copie et/ou tri et/ou fusion, et/ou extraction.

4. IEFBR14
Utilitaire de suppression de fichier.

5. Rsum
En fait tous les programmes de bases permettent la copie de fichiers. Nanmoins chacun a ses
petites particularits que les autres n'ont pas.

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

III.Oprations sur des fichiers


A. Carte DD
Il identifie un fichier du step et lui affecte certaines caractristiques. Il tablit un lien entre le DDNAME
connu du programme et un ensemble de donnes (un ou plusieurs fichiers physiques).

1. Syntaxe
//ddname DD paramtre 1, paramtres

2, ... (jusqu' 31)

ddname : 1 8 caractres; le 1er ALPHA ou NATIONAL unique dans l'tape (sinon seul le 1er sera
pris en JES2; erreur en JES3).
Les diffrents paramtres de l'ordre DD fournissent cinq catgories d'informations :
Nom du data-set et dispositions le concernant
Localisation du data-set (catalogu ou situation sur disque ou K7)
Taille du data-set
Attributs du data-set (organisation, format des donnes, ...) au moment de la cration du
data-set
Options particulires de traitement (paramtres de buffrisation)

2. DSN
Paramtre qui donne le nom du fichier allouer.
Si on ne souhaite pas affecter un fichier il faut mettre DUMMY.

3. DISP
Paramtre qui donne la faon dont on doit 'disposer' du fichier la fin de l'tape: il y a une
'disposition' en cas de fin normale et une autre en cas d'ABEND.

a) Syntaxe :
DISP=(tat_dbut_step, tat_fin_step, tat_si_abend)

b) Valeurs par dfaut :


DISP non cod
DISP=NEW
DISP=OLD
DISP=SHR

quivaut DISP=(NEW,DELETE,DELETE)
quivaut DISP=(NEW,DELETE,DELETE)
quivaut DISP=(OLD,KEEP,KEEP)
quivaut DISP=(SHR,KEEP,KEEP)

c) Les valeurs possibles sont :


Dbut de l'tape

Fin de l'tape

Abend

NEW
Le fichier n'existe pas, il doit tre cr.

DELETE
Le fichier ne sera pas conserv.

OLD
Le fichier existe dj, il est allouer de faon
exclusive pendant tout le job.

KEEP
Le fichier sera conserv sur le volume.

SHR

CATLG
6

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

Le fichier existe dj, il peut tre partag avec


d'autres jobs.

Le fichier sera conserv et inscrit au catalogue.

MOD
2 cas de figure :
Le fichier existe dj  = OLD et on se positionne
la fin pour y faire des ajouts (fichier squentiel).
ATTENTION : crasement si DISP=SHR en SYSUT2
Le fichier n'existe pas encore  = NEW

UNCATLG
Effacement du fichier du catalogue (sans le
dtruire). Les gestionnaires de bandes mettent le
support en SCRATCH.

PASS
On conserve le fichier le temps du
job pour les autres steps qui
dcideront de la disposition finale
(=fichier temporaire)

4. LRECL
Ce paramtre permet :
De donner la longueur des enregistrements pour un fichier en cration (comme le sous
paramtre LRECL du paramtre DCB) ;
De modifier la longueur d'enregistrement dfinie dans la DATA CLASS du fichier.

a) Syntaxe :

LRECL=N : longueur de l'enregistrement en octets (1 32760)


LRECL=X : La longueur de l'enregistrement peut dpasser 32760 (fichier QSAM avec un
RECFM=VBS (enregistrements variables spanns) ou FB (fixe bloqu) ou VB ou VBA.
LRECL=nnnnnK : longueur en K-octets pour des fichiers ISO/ANSI/FIPS V3

b) Exemple :
//FICH1 DD DSN=MON.FICHIER,DISP=(NEW,CATLG),LRECL=200

5. RECFM
Ce paramtre permet :
De donner le format des enregistrements pour un fichier en cration (de la mme faon que
le sous paramtre RECFM du paramtre DCB) ;
De modifier le format d'enregistrement dfinie dans la DATA CLASS du fichier.

a) Syntaxe :
RECFM=xxx (voir le sous paramtre RECFM de DCB)

b) Exemple :
//FICH1 DD DSN=MON.FICHIER,DISP=(NEW,CATLG),LRECL=200,RECFM=FB

6. SPACE
Indique l'espace disque affecter un fichier en cration (ignor dans les autres cas).

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

a) Syntaxe :
SPACE=(TRK ou CYL ou long,(primaire,secondaire,blocs-dir ou index),RLSE,
CONTIG ou MXIG ou ALX,ROUND

b) Calcul pour l'allocation d'un fichier


Espace allou total = Qt primaire + (15 * Qt secondaire)
Exemple : (CYL,(10,2)) donnera comme espace maxi : 10 + (15*2) = 40 CYLS

c) Les paramtres :

TRK, CYL ou LONG : unit d'allocation (pistes, cylindres ou blocs de longueur 'long')
Remarque : 1 CYL = 15 TRKS

Primaire : taille dans l'unit indique de l'espace d'allocation primaire pour le fichier. Cet
espace sera allou sur le premier volume disque en 5 morceaux (extents) maximum

Secondaire : quantit d'espace supplmentaire qui pourra tre alloue sur le disque si
l'espace primaire se rvle insuffisant

Blocs-dir : nombre de blocs de 256 octets allouer pour le rpertoire du PDS

Index : taille en pistes ou cylindres de l'index du fichier ISAM

RLSE : l'espace allou et inutilis sera rendu (released) lors de la fermeture du fichier

CONTIG : l'espace primaire allouer doit tre contigu, sinon le job est termin en erreur

MXIG : l'espace allouer doit tre au moins gal au primaire et doit occup la plus
grande portion d'espace contigu du disque

ALX : on doit allouer jusqu' 5 zones contigus, chacune ayant la taille de l'espace
primaire

ROUND : pour une allocation en blocs (ni TRK ni CYL prciss), l'espace allou doit tre
arrondi pour correspondre une frontire de cylindre

ABSTR : allocation en adresse absolue de piste

adresse : numro de la premire piste allouer (le numro 1 correspondant la


deuxime piste du volume)

B. Suppression
1. Avec IDCAMS
//DEL01
EXEC PGM=IDCAMS
//SYSPRINT
DD
SYSOUT=*
//SYSIN
DD
*
DELETE fichier1
DELETE fichier2

//*

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

2. Avec IEFBR14
//DEL01
//FICDEL

EXEC PGM=IEFBR14
DD DSN=fichier

C. Copie
 Appel aux programmes SORT ou TRI.
Attention la syntaxe : SORT s'appelle avec "EXEC PGM=SORT" et TRI simplement avec "EXEC TRI".
A noter qu'avec "EXEC TRI" on obtient une trace en SYSOUT alors qu'avec "EXEC PGM=SORT" non.

1. Copie simple
a) Avec IEBCOPY
//nomstep EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT3
DD UNIT=PUBL,SPACE=(CYL,(30,10))
//SYSUT4
DD UNIT=PUBL,SPACE=(CYL,(30,10))
//IN
DD DSN=fichier1,DISP=SHR
//OUT
DD DSN=fichier2,DISP=SHR
//SYSIN
DD *
COPY INDD=IN,OUTDD=OUT
//*

b) Avec SORT
//nomstep EXEC PGM=SORT
//SORTIN DD DSN=fichier_entree,DISP=SHR
//SORTOUT DD DSN=fichier_sortie,DISP=(,CATLG)
//SYSIN
DD *
SORT FIELDS=COPY
ou bien
MERGE FIELDS=COPY

c) Avec IDCAMS
//nomstep EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//IN
DD DSN=fichier1,DISP=SHR
//OUT
DD DSN=fichier2,DISP=SHR
//SYSIN
DD *
REPRO INFILE(IN) OUTFILE(OUT)
/*

2. Copie fusion
me

Fusion de 2 fichiers en entre dans un 3

en sortie.

//FUSION
EXEC PGM=SORT
//SORTIN
DD DSN=fichier1,DISP=SHR
//
DD DSN=fichier2,DISP=SHR
//SORTOUT DD DSN=fichier3,DISP=(,CATLG)
//SYSIN
DD *
SORT FIELDS=COPY
ou bien
MERGE FIELDS=COPY
//

3. Copie avec suppression de doublons (SUM)


On ajoute la carte SORT le paramtre SUM FILEDS=NONE.

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

//nomstep EXEC PGM=SORT


//SYSOUT
DD
SYSOUT=*
//SYSPRINT DD
SYSOUT=*
//SORTIN
DD
DSN=fichier_entree,DISP=SHR
//SORTOUT DD
DSN=fichier_sortie,DISP=(,CATLG),
//
RECFM=FB,LRECL=50,SPACE=(CYL,(01,01))
//SYSIN
DD
*
SORT FIELDS=COPY
SUM FIELDS=NONE

4. Copie partielle ou filtre


a) Copie d'enregistrements ne rpondant qu' certains critres
C'est--dire faire une copie avec des conditions sur les lignes copies.
INCLUDE et OMIT on le mme format : (colonne_dpart, longueur, format, oprateur, valeur)
Format : CH pour du char, PD pour du paqu
Oprateur : NE pour , EQ pour =, GT pour > et LT pour <

(1) INCLUDE
Permet de ne copier que les lignes correspondantes aux critres.
Avec 1 seul fichier :
//SELEC1
EXEC PGM=SORT
//SORTIN
DD DSN=fichier_entree,DISP=SHR
//SORTOUT DD DSN=fichier_sortie,DISP=(,CATLG)
//SYSIN
DD *
MERGE FIELDS=COPY
INCLUDE COND=(1,1,CH,EQ,C'B')
/*

Avec plusieurs fichiers :


//TRIFRI
EXEC TRI
//SORTIN
DD DSN=fichier_entree,DISP=SHR
//SORTOUT1 DD DSN=fichier_sortie1,DISP=(,CATLG)
//SORTOUT2 DD DSN=fichier_sortie2,DISP=(,CATLG)
//SYSIN
DD *
SORT FIELDS=COPY
OUTFIL FNAMES=SORTOUT1,INCLUDE=(47,3,CH,EQ,C'000')
OUTFIL FNAMES=SORTOUT2,SAVE
/*

SORTOUT1 prend selon le critre de slection et SORTOUT2 prend le reste.

(2) OMIT
Permet de copier tout sauf les colonnes spcifies
//SELEC2
EXEC PGM=SORT
//SORTIN
DD DSN=fichier_entree,DISP=SHR
//SORTOUT DD DSN=fichier_sortie,DISP=(,CATLG),
//
RECFM=FB,LRECL=300,SPACE=(CYL,(01,01))
//SYSIN
DD *
MERGE FIELDS=COPY
OMIT COND=(1,4,CH,EQ,C'AA ')
/*

b) Copie de colonnes spcifies (OUTREC)


//TRI1
//SORTIN

EXEC PGM=SORT
DD DSN=fichier_entree,DISP=SHR

10

Titre

Guide JCL

Rsum

Recensement du B.A.BA en JCL

Version

Dernire modif.

3 septembre 2010

//SORTOUT DD DSN=fichier_sortie,DISP=(,CATLG),
//
RECFM=FB,LRECL=67,SPACE=(CYL,(01,01))
//SYSIN
DD *
SORT FIELDS=COPY
OUTREC FIELDS=(2,22, etc)
/*

Format : (colonne_dpart, longueur, colonne_dpart, longueur, colonne_dpart, longueur,


etc.)

5. Copie avec reformatage d'enregistrements (OUTREC)


On ajoute la carte SORT la carte SUM avec FIELDS=NONE.
//TRI2
EXEC TRI
//SORTIN
DD
DSN=fichier_entree,DISP=SHR
//SORTOUT DD
DSN=fichier_sortie,DISP=(,CATLG),
//
RECFM=FB,LRECL=17,SPACE=(CYL,(01,01))
//SYSIN
DD *
SORT FIELDS=COPY
OUTREC FIELDS=(4,6,PD,EDIT=(IIIIIIIIIIIT))
/*

Colonne de dpart

longueur

format origine
(PD pour "paqu")

11

format final