3. L’ORDRE JOB

Un ordre JOB est une instruction utilisée pour décrire et soumettre un travail ou une tâche à exécuter sur un ordinateur central.

L’ordre JOB commence par le mot-clé JOB suivi d’un nom de job, qui est un identificateur unique pour le travail, et d’autres informations telles que l’heure de soumission, la priorité, le compte de facturation, etc.

Les instructions JOB définissent également les bibliothèques de programmes et les fichiers nécessaires pour exécuter le job, ainsi que les paramètres de sortie tels que le nom et le format des fichiers de sortie. Les instructions JOB sont suivies des instructions EXEC, qui définissent les différentes étapes ou tâches à effectuer pour exécuter le job. L’ordre JOB est la première instruction d’un JCL et est obligatoire pour chaque job à exécuter.

3.1. Format général

//nom JOB          infos account
                  ,nom programmeur
                  ,CLASS=classe d’éxecution
                  ,MSGCLASS=classe de sortie
                  ,MSGLEVEL=(a,b)
                  ,NOTIFY=userid_TST
                  ,TYPRUN=SCAN/HOLD
                  ,RESTART=nomd’étape
                  ,TIME=(minutes,secondes)/1440
                  ,ADDRSPC=VIRT/REAL
                  ,REGION=nK
                  ,PRTY=P
                  ,USER=userid-RACF
                  ,GROUP=groupe fichiers RACF
                  ,PASSWORD=mot de passé RACF
                  ,PERFORM=groupe performances SRM
                  ,COND=((code, opération, …

3.2. Description des paramètres

nom : c’est le nom donné au JOB. Il commence en colo3,par un caractère alphabétique, et peut comporter de18 caractères dont 7alphanumérique.
Il est fréquent que ça soit forcement le USERID de l’utilisateur qui exécute le JOB.

Account : paramètre positionnel. Il s’agit d’un paramètre de comptabilisation, permettant par exemple de calculer le coût de développement d’un programme, d’un projet, etc…

CLASS : détermine la classe d’entrée de JOB. Il existe 36 classes numérotées de A à Z et de 0 à 9.Chaque classe est affectée à un groupe de travail ou une catégorie de JOB en fonction de critères spécifiques à l’exploitation. Le Job sera dans cette file d’attente.

MSGLEVEL : permet de préciser le niveau de compte rendu d’exécution que l’on veut obtenir. Comporte deux sous paramètres positionnels.
MSGLEVEL=(JCL,MESSAGES)

JCL0 : Seule la carte JOB sera listée.
1 : Toutes les cartes JCL seront éditées, Les procédures appelées seront incluses dans le compte rendu.
2 : Toutes les cartes JCL seront éditées, à l’exclusion des procédures
MESSAGES0 : Les messages de l’allocator et du terminator ne sont pas édités.
Toutes fois si une étape se termine anormalement, les massages sont
édités.
1 : Tous les messages sont édités.


En général, il est conseillé de demander le maximum de renseignement, même si cela conduit à éditer plusieurs feuilles de comptes-rendus. Cela est obtenu par les valeurs par défaut(1,1) .

TIME= : Détermine la durée maximum (en temps CPU, processeur) du JOB pour l’ensemble des étapes. Comporte deux sous paramètres positionnels. TIME=(min,s).
min : duré en minute de 0 à 1440.
s : durée en seconde de 0 à 60.
Exemple :
TIME=(5,30) ou TIME=(,10) 10second ou TIME=2 min
Si le temps est dépassée, l’étape en cours sera abandonnée et produit un code retour system : S322

PRTY= : Détermine la priorité affectée au JOB dans les classes d’entrées et de sortie. Les valeurs possibles vont de 0 à 15, 15 étant la plus haut priorité. La valeur standard par défaut est 5. A noter qu’il n’est pas souhaitable d’utiliser systématiquement des priorités élevées, car cela conduit inéluctablement à un engorgement du système. De plus, il existe des routines développées par l’équipe système qui contrôlent la validité de la priorité en fonction par exemple du nom du Job ou du code affaire.

NOTYFY= : permet au système d’avertir l’utilisateur que le job est terminé. Le paramètre est le USERID (identifiant utilisateur) utilisé pour se connecter à TSO.

RESTART= : permet de démarrer l’exécution d’un JOB à une autre étape que la première.
Cela est parfois utile lorsque l’on exécute plusieurs fois le job et que l’on ne désire pas réexecuter les premières étapes. La valeur se code de la façon suivante :

*Démarrage a la première étape (équivalent à l’absence du paramètre).
STEPnNom de l’étap où l’on veut démarrer l’exécution (stepname).
STEPn.PROCSTEPmEn cas de démarrage dans une procédure, STEPn indique l’étape d’appel et PROCSTEPm le nom de l’étape de la procédure.

Exemple :
RESTART=* s’exécute depuis le début
RESTART=EDIT s’exécute depuis l’étape EDIT
RESTART=COMPIL.COB appel de sous JCL.

TYPRUN =SCAN : Permet de soumettre le JOB uniquement au contrôle de l’interpréteur, sans allocation ni exécution. Elle permet un contrôle de syntaxe du JCL.

PASSWORD : Permet de donner un mot de passe donnant accès à des fichiers protégés par RACF. IL est coder avec le paramètre USER est ce constitue de 1 à 8 caractère alphanumérique.

COND= : Permet de donner une ou plusieurs conditions d’arrêt d’un JOB. Le code est un nombre de 0 à 4095 que le système compare avec les codes retours issus des différents STEP.
On pourra donner jusqu’à 8 conditions reliées entre elles par une liaison OU. Voir syntaxe de la carte EXEC.
Exemple : COND=(8,LE)

Exemple de carte JOB :

1-

2-

3-

Tous les paramètres ne sont pas obligatoire, chaque société a ces condition de contrôle et outil technique qui permet la gestion du travail de qualité. Il est recommander pour définir cette carte de demande un exemple sur le site.