JCL - Configuration de l'environnement

Installation de JCL sous Windows / Linux

Il existe de nombreux émulateurs mainframe gratuits disponibles pour Windows qui peuvent être utilisés pour écrire et apprendre des exemples de JCL.

Un tel émulateur est Hercules, qui peut être facilement installé dans Windows en suivant quelques étapes simples ci-dessous:

  • Téléchargez et installez l'émulateur Hercules, disponible sur le site d'accueil d'Hercules -: www.hercules-390.eu

  • Le guide complet sur les différentes commandes pour écrire et exécuter un JCL peut être trouvé sur URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules est une implémentation logicielle open source des architectures mainframe System / 370 et ESA / 390, en plus de la dernière architecture z / 64 bits. Hercules fonctionne sous Linux, Windows, Solaris, FreeBSD et Mac OS X.

Exécution de JCL sur les mainframes

Un utilisateur peut se connecter à un serveur mainframe de différentes manières, comme un client léger, un terminal factice, un système de client virtuel (VCS) ou un système de bureau virtuel (VDS).

Chaque utilisateur valide reçoit un identifiant de connexion pour entrer dans l'interface Z / OS (TSO / E ou ISPF). Dans l'interface Z / OS, le JCL peut être codé et stocké en tant que membre dans un ensemble de données partitionné (PDS). Lorsque le JCL est soumis, il est exécuté et la sortie reçue comme expliqué dans la section de traitement des travaux du chapitre précédent.

Structure d'un JCL

La structure de base d'un JCL avec les instructions communes est donnée ci-dessous:

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)

Description du programme

Les instructions JCL numérotées ont été expliquées ci-dessous:

(1) JOB statement - Spécifie les informations requises pour SPOOLing du travail, telles que l'identifiant du travail, la priorité d'exécution, l'ID utilisateur à notifier à la fin du travail.

(2) //* statement - Ceci est une déclaration de commentaire.

(3) EXEC statement- Spécifie le PROC / Programme à exécuter. Dans l'exemple ci-dessus, un programme SORT est en cours d'exécution (c'est-à-dire, tri des données d'entrée dans un ordre particulier)

(4) Input DD statement- Spécifie le type d'entrée à passer au programme mentionné dans (3). Dans l'exemple ci-dessus, un fichier physique séquentiel (PS) est passé en entrée en mode partagé (DISP = SHR).

(5) Output DD statement- Spécifie le type de sortie à produire par le programme lors de l'exécution. Dans l'exemple ci-dessus, un fichier PS est créé. Si une instruction s'étend au-delà de la 70e position d'une ligne, elle se poursuit dans la ligne suivante, qui doit commencer par "//" suivi d'un ou plusieurs espaces.

(6)Il peut y avoir d'autres types d'instructions DD pour spécifier des informations supplémentaires au programme (dans l'exemple ci-dessus: la condition SORT est spécifiée dans l'instruction SYSIN DD) et pour spécifier la destination du journal des erreurs / exécutions (exemple: SYSUDUMP / SYSPRINT). Les instructions DD peuvent être contenues dans un ensemble de données (fichier mainframe) ou comme dans des données de flux (informations codées en dur dans le JCL) comme indiqué dans l'exemple ci-dessus.

(7) /* marque la fin des données en flux.

Toutes les instructions JCL, à l'exception des données de flux, commencent par //. Il doit y avoir au moins un espace avant et après les mots clés JOB, EXEC et DD et il ne doit y avoir aucun espace dans le reste de l'instruction.

Types de paramètres JOB

Chacune des instructions JCL est accompagnée d'un ensemble de paramètres pour aider les systèmes d'exploitation à terminer l'exécution du programme. Les paramètres peuvent être de deux types:

Paramètres de position

  • Apparaît à la position et à l'ordre prédéfinis dans l'instruction. Exemple: Informations comptables Le paramètre ne peut apparaître qu'après leJOBmot-clé et avant le paramètre de nom du programmeur et les paramètres de mot-clé. Si un paramètre de position est omis, il doit être remplacé par une virgule.

  • Les paramètres de position sont présents dans les instructions JOB et EXEC. Dans l'exemple ci-dessus, PGM est un paramètre de position codé après leEXEC mot-clé.

Paramètres de mot-clé

  • Ils sont codés après les paramètres de position, mais peuvent apparaître dans n'importe quel ordre. Les paramètres de mot-clé peuvent être omis s'ils ne sont pas obligatoires. La syntaxe générique est KEYWORD = valeur . Exemple: MSGCLASS = X, c'est-à-dire que le journal du travail est redirigé vers le SPOOL de sortie une fois le travail terminé.

  • Dans l'exemple ci-dessus, CLASS, MSGCLASS et NOTIFY sont des paramètres de mot-clé de l'instruction JOB. Il peut également y avoir des paramètres de mot-clé dans l'instruction EXEC.

Ces paramètres ont été détaillés dans les chapitres suivants avec des exemples appropriés.