Différence entre les déclarations et JOBLIB STEPLIB dans le JCL

Plus 4, 2016 Admin Technologie 0 120
FONT SIZE:
fontsize_dec
fontsize_inc

JOBLIB est une déclaration de définition de données (DD) au niveau des emplois qui contient les modules des programmes qui sont exécutés par métier dans les différentes phases de charge.

Remarque: déclaration JOBLIB ne peut pas être utilisé/codées dans les procédures cataloguées.





Syntaxe:
Ce qui suit sont la syntaxe d'une déclaration JOBLIB

Syntaxe 1:
// JOBLIB DD DSN = Placez vos PDS ici

Syntaxe 2:

// JOBLIB DD DSN = placer vos premiers PDS ici
DD DSN = placer vos seconde PDS ici

Explication de l'exemple de syntaxe ci-dessus:

Exemple: Supposons que nous ayons un JCL qui a 4 points et exécute quatre programmes différents. Si les modules de l'ensemble des quatre programmes de charge sont contenues dans un seul PDS alors nous utilisons la première syntaxe, où un nom unique PDS est alimenté à la déclaration JOBLIB.

Si les modules de tous les quatre programmes de charge sont contenus dans un deux PDS différents alors nous allons utiliser la seconde syntaxe, où en deux PDS noms sont fournis dans le JOBLIB de déclaration. Lors du chargement de l'exécution du programme du module du programme est essayé en premier PDS, si elle ne est pas alors tenté dans les seconde PDS.

Exemple 1: Exemple de code JCL qui exécute quatre programmes. Charger les modules les quatre programmes sont contenues dans un seul PDS

// TESTJOB1 JOB (ACCINFO), user_id, CLASS = D, MSGCLASS = 0, RÉGION = OM // ************************************************ ********** // JOBLIB DD DSN = TEST.PGMS.LOAD, DISP = SHR // ************************************************ ********** Step01 // EXEC PGM = PGM1 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP02 EXEC PGM = PGM2 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP03 EXEC PGM = PGM3 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP04 EXEC PGM = PGM4 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** //

L'image montre le code ci-dessus mainframe d'écran

Explication du code ci-dessus

Dans le code ci-dessus modules charger les quatre programmes PGM1, PGM2, Pgm3, PGM4 sont prises à partir d'une bibliothèque "TEST.PGMS.LOAD" JOBLIB.

Exemple 2: Le code de l'échantillon JCL qui exécute quatre programmes. Tous les modules de charge ne sont pas contenues dans un seul PDS

// TESTJOB1 JOB (ACCINFO), user_id, CLASS = D, MSGCLASS = 0, RÉGION = OM // ************************************************ ********** // JOBLIB DD DSN = TEST.PGMS.LOAD1, DISP = SHR // DD DSN = TEST.PGMS.LOAD2, DISP = SHR // DD DSN = TEST.PGMS.LOAD3, DISP = SHR // DD DSN = TEST.PGMS.LOAD4, DISP = SHR // ************************************************ ********** Step01 // EXEC PGM = PGM1 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP02 EXEC PGM = PGM2 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP03 EXEC PGM = PGM3 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP04 EXEC PGM = PGM4 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** //

Explication du code ci-dessus

Dans le code ci-dessus, au moment où la charge de module de programmation PGM1 de PGM1 est d'abord tenté premiers PDS "TEST.PGMS.LOAD2". Si vous trouvez le module de charge alors le programme se poursuivra avec l'exécution. Si le module de charge ne est pas trouvé dans les premiers PDS alors essayé dans les secondes PDS "TEST.PGMS.LOAD2" ... Etc

Le procédé ci-dessus est réalisée pour les quatre programmes.

Quel est STEPLIB?

STEPLIB est le niveau d'instruction de l'étape de définition de données qui contient les modules de programmes de charge. STEPLIB est codé immédiatement après le passage du procédé.

Partition Dataset mentionné dans STEPLIB ne sont applicables qu'à cette étape pour l'ensemble du travail. En d'autres termes, le module de chargement du programme qui se exécute dans un point particulier est recherché dans l'ensemble de données partition STEPLIB codée de ce point particulier.

Remarque: différence JOBLIB, STEPLIB peut être codée dans les procédures cataloguées.

Syntaxe:
Après la syntaxe d'un STEPLIB

Syntaxe 1:
// STEPLIB DD DSN = Placez vos PDS ici

Syntaxe 2:
// STEPLIB DD DSN = placer vos premiers PDS ici
DD DSN = placer vos seconde PDS ici

Explication de l'exemple de syntaxe ci-dessus:

Exemple: Supposons que nous avons un programme (Program1) qui appelle Program2 et se exécute à l'étape 1 du JCL.

a) Si les modules des deux programmes (PROGRAM1, Program2) charge sont placés dans un seul PDS alors nous allons utiliser la première syntaxe, dans lequel seul le nom PDS sont fournis dans STEPLIB.


b) Se il ya deux formes différentes de PDS charger deux programmes, alors nous utilisons la seconde syntaxe, où en deux PDS noms sont fournis dans STEPLIB.

statistiques
vue quiz

Exemple JCL utilisant STEPLIB

Ce qui suit est un exemple de code qui illustre l'utilisation de JCL STEPLIB

Exemple 1: le code JCL qui exécute deux programmes autour du coin et l'étape lib est codé dans tous les deux phases. Aucune JOBLIB est présent

// TESTJOB1 JOB (ACCINFO), user_id, CLASS = D, MSGCLASS = 0, RÉGION = OM // ************************************************ ********** Step01 // EXEC PGM = PGM1 // STEPLIB DD DSN = TEST.PGMS.LOAD1, DISP = SHR // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP02 EXEC PGM = PGM2 // STEPLIB DD DSN = TEST.PGMS.LOAD2, DISP = SHR // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * //

Explication du code ci-dessus

Dans sa forme comme charge au-dessus du programme "PGM1" est recherché dans "TEST.PGMS.LOAD1" de librairies pour Step01.

si le module de charge ne est pas dans la bibliothèque STEPLIB "TEST.PGMS.LOAD1" alors le programme volonté Abend avec code pour lire "S806" (module de charge non trouvé).


Formulaire de charger le programme "PGM2" est recherché dans le STELIB bibliothèque "TEST.PGMS.LOAD2» de STEP02.

Si le module de charge ne est pas dans la bibliothèque STEPLIB "TEST.PGMS.LOAD2" alors le programme volonté Abend avec code pour lire "S806" (module de charge non trouvé).

Exemple 2: Code JCL qui exécute deux programmes autour du coin et l'étape lib est codé par une seule étape

// TESTJOB1 JOB (ACCINFO), user_id, CLASS = D, MSGCLASS = 0, RÉGION = OM // ************************************************ ********** // JOBLIB DD DSN = TEST.PGMS.LOAD2, DISP = SHR // DD DSN = TEST.PGMS.LOAD1, DISP = SHR Step01 // EXEC PGM = PGM1 // STEPLIB DD DSN = TEST.PGMS.LOAD1, DISP = SHR // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * // ************************************************ ********** // STEP02 EXEC PGM = PGM2 // SYSOUT DD SYSOUT = * // SYSPRINT DD SYSOUT = * //

Explication du code ci-dessus

Dans sa forme comme charge au-dessus du programme "PGM1" est recherché dans "TEST.PGMS.LOAD1" de librairies pour Step01.

Si le module de charge ne est pas dans la bibliothèque STEPLIB "TEST.PGMS.LOAD1", alors le programme Abend avec le code de fin anormale "S806" (module de charge non trouvé). JOBLIB déclaration est ignoré lorsque le STEPLIB est codé

Depuis pas STEPLIB est codée par étape STEP02, module du programme "PGM2" de charge est recherché dans "TEST.PGMS.LOAD1" des bibliothèques, "TEST.PGMS.LOAD2". Si le module de charge ne est pas trouvé dans ces deux bibliothèques travaillera ensuite avec ABEND S806 "module de chargement introuvable» erreur.


Remarque:
Si les deux STEPLIB et JOBLIB sont codés, puis spécifiez STEPLIB remplacera JOBLIB spécifique.

Différence entre JOBLIB et STEPLIB

JOBLIB STELIB JOBLIB est le niveau de JOB DD Déclaration STEPLIB DD est un niveau de l'étape JOBLIB est codé immédiatement après la déclaration de JOB STEPLIB est codé immédiatement après l'étape Exec JOBLIB déclaration ne peut pas être utilisé/codées dans les procédures cataloguées STEPLIB peut être codée dans les procédures cataloguées Déclaration JOBLIB est ignorée si les deux sont spécifiés JOBLIB et STEPLIB STEPLIB écraser le JOBLIB, si les deux sont spécifiés JOBLIB et STEPLIB

(0)
(0)

Commentaires - 0

Sans commentaires

Ajouter un commentaire

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caractères restants: 3000
captcha