JCL: Principes fondamentaux
Guide de l’étudiant
Par
J.M. LeMoeligou
Qu’est ce que c’est le JCL?
Ce cours présente le langage de contrôle d'IBM's, généralement désigné sous le nom de JCL (Job Control
Language). Si vous êtes un nouvel utilisateur d'un système informatique à grande échelle JCL parait
probablement très complexe. En fait, écrire votre programme ou employer une langue de 4 ième
génération peut sembler simple à côté de coder les déclarations JCL requises pour exécuter votre tâche.
Ce cours va démystifier le JCL et présenter les concepts, les déclarations et les règles de codage que
vous aurez besoin pour exécuter vos programmes. Spécifiquement, JCL: Les principes fondamentaux
présente une vue d'ensemble de JCL
décrit les flots de sortie de travaux simples et leur résultats
définit les déclarations de base et paramètres du JCL et leurs règles de codage
des pratiques établissant des flots de sortie de travaux
présente des paramètres de SMS (Storage Management Subsystem) pour créer des ensembles
de données
présente des procédures
Ce cours est une introduction de base au JCL. Il décrit la relation de JCL avec le logiciel d'exploitation et
contraste JCL aux programmes d'application. Cet objectif est
définir la terminologie de base
construire une tâche JCL typique
décrire le format d'une déclaration JCL
Que vous soyez un utilisateur, un opérateur, un programmeur ou un directeur d'opérations, le langage de
contrôle, appelé JCL, est le langage dont vous avez besoin pour effectuer votre travail sur l'ordinateur. En
soumettant une tâche ou en demandant qu'un tâche soit soumise pour traitement, vous demandez de
travail du logiciel d'exploitation. Vous devez énoncer qui vous êtes, ce que vous voulez, à qui le charger,
et ainsi de suite. Vous faites ceci avec le JCL.
Commençons maintenant par définir des termes de base.
Qu’est ce que c’est le JCL?
Une tâche est une unité de travail exécutée par le système informatique. Typiquement, une tâche est un
traitement ou un groupe de traitement spécifique de tâches relatives. Les tâches sont soumises au
système informatique pour traitement par l'intermédiaire du JCL (Job Control Language).
Vous référez à une série de déclarations JCL comme flot de sortie de travaux ou d'entrée de travaux. Le
logiciel d'exploitation (l'OS) dirige tous les travaux soumis au système informatique pour traitement. Deux
composants du logiciel d'exploitation sont BCP et JES. BCP (Base Control Program) contrôle l'exécution
du travail. JES (Job Entry Subsystem) lit votre travail, interprète le JCL, imprime le résultat et purge le
travail. JES exécute également des fonctions de ménage pour l'espace temporaire et les files d'attente
des travaux.
Un flot de sortie de travaux est construit avec les déclarations JCL requises pour définir votre travail,
votre programme et les ressources exigées. Les ensembles de données et les imprimantes sont des
exemples de ressources que vous auriez peut-être de besoin pour votre travail.
Trois déclarations de base JCL fournissent ces services. Voici un flot de travail typique.
IDENTIFIER LE TRAVAIL JOB
EXÉCUTER UN PROGRAMME EXEC
DÉFINIR LES DONNÉES DD
DÉFINIR LES DONNÉES DD
EXÉCUTER UN PROGRAMME EXEC
DÉFINIR LES DONNÉES DD
La déclaration JOB définit
le nom de la tâche
l'utilisateur
les informations comptables
d'autres variables qui affectent le travail entier tel que maximum le temps et la priorité
La déclaration EXEC définit
Le nom du programme a exécuté
La déclaration DD définit
Les données
Nom
Location (disque dure, ruban magnétique, imprimante)
Caractéristiques (grosseur, organisation)
Chaque déclaration JCL doit avoir une identification : JOB
L'arrangement des déclarations est importante.
Une tâche doit commencer avec une déclaration JOB suivie par les étapes de tâches.
Chaque étape doit commencer avec un EXEC et être suivie de déclarations DD. Les
déclarations DD peuvent être dans n'inmporte quel ordre suivant la déclaration EXEC.
JOB
EXEC
DD
DD
…
EXEC
DD
Chaque exécution du programme dans un travail (tâche) s'appelle une étape de travail.
Chaque programme exécuté commence une autre étape de travail. Et chaque
ensemble de données nécessaire dans cette étape doit être défini dans une déclaration
DD suivant la déclaration EXEC.
Maintenant que vous avez une idée de ce qu'est le JCL et pour ce qu'il est employé,
jeter un coup d'oeil à son format général.
//nom opération opérandes commentaires
//
Le système d'exploitation identifie le JCL comme JCL (pas des données ou un
programme) par / / dans les colonnes 1 et 2 de la déclaration.
//nom
La zone d'identification est dans certains cas facultative mais plus fréquemment requise.
La zone d'identification est employée pour :
pour assigner un nom à un travail ou à une étape de travail ou
comme nom que le programme a associé à un dossier particulier
Ceci deviendra plus clair au fur et à mesure que vous procédez.
//nom opération
Le champ opération définit le type de déclaration.
Les types communs de déclarations incluent
// JOB déclaration pour identifier un travail
// EXEC déclaration pour demander un programme
// DD déclaration pour définir un ensemble de données
// déclaration pour terminer un travail (appelée une déclaration nullle)
//nom opération opérandes
Les opérandes sont des paramètres codés pour définir les services exigés par le
programme. Les opérandes décrivent, par exemple :
temps d'exécution du programme
l'endroit où le programme est localisé
nom de l'ensemble des données
l'équipement où l'ensemble de données est localisé
//nom opération opérandes commentaires
Vous pouvez écrire n'importe quel type de commentaire désiré.
Le JCL doit être codé soigneusement et correctement. Le système d'exploitation ne peut pas
deviner ce que voulez dire vous. Vous devez coder avec précision ce que vous voulez.
JCL versus les programmes
Jusqu'ici vous avez appris que le JCL invite un programme à être exécuté et définit les
ressources que le programme a besoin. C'est juste un autre langage de programmation
qui peut être considéré comme langage de contrôle.
Le JCL diffère d'un programme.
D'abord, regardons ce qu'un programme est.
1. Un programme est un ensemble d'instructions dans un langage-machine qui
contrôle ce qu'un ordinateur fait, point par point.
2. Les programmes sont habituellement écrits dans un langage de haut niveau - avec
des instructions lisible tel que l'anglais.
3. COBOL, par exemple, est une telle langue. Ces programmes sont restructurés par
un compilateur à un format de langage exécutable par l'ordinateur.
4. Le rôle d'un programme inclut obtenir des enregistrements, exécuter des calculs et
imprimer des états.
Comparer ceci au JCL.
1. Le JCL est écrit comme série de déclarations qui indiquent à un ordinateur quel
programme à exécuter et quel ressources seront nécessaires.
2. Le JCL est soumis à l'ordinateur comme il est codé.
3. Le système d'exploitation interprète ce qui a été codé pour son usage.
Les étapes énumérées ci-dessous seront utilisées comme un exemple de programme
qui met à jour un fichier principal de livre de paie.
obtenir un enregistrement d'un fichier de transaction de mise à jour
obtenir l'enregistrement associé du fichier principal
déterminer le type de transaction
mettre à jour le fichier principal convenablement
impriment un état
Pour exécuter le programme de paie, le JCL doit définir ce qui suit:
Identification du travail (nom de travail, information comptable, ...
programme à être exécuter
endroit et caractéristiques du fichier principal de livre de paie (bande
magnétique, disque, numéro de série du volume...
Endroit et caractéristiques du fichier de transactions
choix d'une imprimante pour l'état
Déclarations JCL
Les déclarations JCL qui exécutent le programme de livre de paie et
identifient les ressources exigées sont très simples.
1. La déclaration JOB est la première déclaration JCL dans un flot de sortie de travaux.
Il définit le travail au système. Au-dessous est un exemple de déclaration JOB.
//PAYUPD JOB (789,ACT-7),HRD,CLASS=1,TIME=30
//………
//………
//………
Ensuite, on choisit le programme a être exécuté:
//PAYUPD JOB (789,ACT-7),HRD,CLASS=1,TIME=30
//STEP1 EXEC PGM=PAY012
//………
//………
La déclaration EXEC est la première déclaration JCL dans une étape de travail. elle
définit le programme à exécuter. Tout nombre de déclarations EXEC peut se produire
dans un flot de sortie de travaux.
Ensuite, on définit chaque fichier consulté. Voici le fichier principal:
//PAYUPD JOB (789,ACT-7),HRD,CLASS=1,TIME=30
//STEP1 EXEC PGM=PAY012
//MASTER DD DSN=PAY.MASTER,DISP=OLD
//………
Une déclaration DD doit être présente pour chaque fichier que le programme accède.
Les déclarations peuvent être codés dans n'importe quel ordre.
Le flot de sortie de travaux complet doit contenir une déclaration DD pour chaque
ensemble de données consulté. Celui pour le programme de livre de paie pourrait
ressembler à l'exemple ci-dessous.
//PAYUPD JOB (789,ACT-7),HRD,CLASS=1,TIME=30
//STEP1 EXEC PGM=PAY012
//MASTER DD DSN=PAY.PAY001,DISP=OLD ◄ -- fichier principal
//TRANS DD DSN=PAY.TRANS,DISP=OLD ◄ -- fichier de transaction
//REPORT DD SYSOUT=A ◄ -- État