Gestion des jobs et du batch

JES (Job Entry Subsystem)

Job Entry System 2 et 3 sont des sous-systèmes chargés de gérer le traitement des jobs dans le système d’exploitation z/OS. Leur rôle principal est de contrôler le flux des tâches par lots, depuis leur soumission jusqu’à leur exécution ainsi que la production des sorties (impressions, fichiers etc.)

Lorsqu’un job est soumis, il est pris en charge par JES2, qui analyse le JCL, valide sa syntaxe et assigne le job à un initiateur (INIT1, INIT2…). L’initiateur est réellement le moteur en charge de l’exécution du job.

Network Job Entry (NJE) est un composant du JES qui permet à plusieurs mainframes de communiquer ensemble et de coordonner l’envoi de fichiers, la gestion de batch jobs, l’exécution de commandes systèmes etc. C’est principalement utilisé lorsqu’une société possède plusieurs mainframes sur des sites géographiques différents.

Classes

Il existe un système de classes de priorité, dans lequel la classe P correspond aux jobs prioritaires. Les sorties du job sont dirigées vers une classe définie par MSGCLASS.

 - JES2 vs JES3 : différences, avantages, quand utiliser lequel  - Cycle de vie d’un job : soumission, exécution, sortie


JCL (Job Control Language)

Job Control Language (JCL) est le langage des jobs dans un environnement mainframe. Il est utilisé pour décrire ce que le job doit faire : quelles étapes exécuter, quels programmes lancer, quels datasets utiliser, quelles ressources demander, etc. Il donne donc des instructions au système.

Structure d’un script JCL

//JOBNAME JOB # Instruction JCL JOB
//STEPNAME EXEC # Instruction JCL EXEC
//DDNAME DD # Instruction JCL DD

//* # Commentaire
/* # Indique une fin de données
// # Indique la fin d'une instruction JCL
  • Coder un espace après une virgule dans les paramètres indique que la suite arrive à la ligne d’après ;
  • TYPERUN=SCAN : paramètre visant à demander de vérifier qu’il n’y a pas d’erreur syntaxique ;
  • Les variables sont précédées d’un symbole & ;
  • SYSUID : retourne le nom de l’utilisateur

Return codes

Des return codes sont délivrés à la fin de chaque étape d’un batch JCL afin d’informer sur son état. Un return code final est également délivré, et correspond au code le plus élevé obtenu parmi les étapes du job :

  • 00 signifie réussite totale
  • 04 un simple avertissement
  • Des valeurs plus élevées signalent des erreurs.

 - Structure d’un script JCL :   - Parms JOB (NAME, CLASS, MSGCLASS …)   - EXEC (type de programme, paramètres)   - DD (Data Definition) : définition des datasets, fichiers, volume, etc.  - Codes de retour, vérification des retours, gestion des erreurs