Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > z/OS
z/OS Forum d'entraide sur z/OS et MVS (Multiple Virtual Storage), les systèmes d'exploitation des ordinateurs « mainframes » IBM : JCL, Tso, Ispf, Vsam, Racf, SMS, Cics, Ims, OPC, Ca-7, Control-M, Dialog Manager ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/10/2007, 11h10   #1
Invité régulier
 
Inscription : février 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 19
Points : 5
Points : 5
Par défaut Instruction dans un JCL

Bonjour tout le monde.

J'apprends le language JCL sur papier en ce moment et malheureusement je ne peux pas tester mon code car je n'ai pas accès à une machine mainframe.

Je voulais savoir si quelqu'un pouvait me commenter ces deux instructions :
Citation:
//DISKOUT DD DSN=FIC1,DISP=(NEW,CATLG,DELETE)
//SYSOUT DD SYSOUT=X
Pour ma part, je comprends ceci :

La première instruction permet de mettre un lien entre le DDNAME et DSNAME avec utilisation du paramètre DISP quit dit que le fichier est FIC1 est crée, catalogué en cas de fin normale et effacé en cas de fin anormale (ABEND et non RC != 0)

Par contre, je ne comprends pas la deuxième instruction. Je suppose juste que SYSOUT est le fichier gérant l'affichage à l'écran.

Merci pour votre aide
soli.f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 15h40   #2
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
Salut,

Pas facile d'apprendre un langage sans pouvoir le tester....
Code :
1
2
//DISKOUT DD DSN=FIC1,DISP=(NEW,CATLG,DELETE)
en fait cela dit que l'étiquette DISKOUT correspond au fichier FIC1
étiquette qui sera utilisée par le PGM codé en :
//STEP1 EXEC PGM=le_pgm

Pour le disp, c'est le mode d'accè au fichier.
DISP=SHR (fichier partagé, peut être lue par d'autre pgm pendant l'éxecution)
DISP=OLD ( tu prend le fichier en exclusif via le pgm)
DISP=(NEW,CATLG,DELETE) (tu allous le fichier, tu le catalogue est il est delete en cas de RC |= 0)
cepedant, dans le cas d'un NEW il faut préciser le DCB fichier (caractéristiques, espace alloué, longueur des reccords, type de reccord etc.)
voir :
http://publibz.boulder.ibm.com/cgi-b...b500/CCONTENTS

pour le
cela veut dire que le "resultat" de la sysout sera visible en classe X
tu pourrais très bien coder
//SYSOUT DD DSN=MON_FICHIER,DISP=SHR
dans ce cas les messages émis par le PGM iront dans MON_FICHIER.
En général on utilise (ça peut dependre des sites)
// SYSOUT DD SYSOUT=*
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 17h19   #3
Invité régulier
 
Inscription : février 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 19
Points : 5
Points : 5
OK merci SPACHFR

Donc si je comprends bien, lorsque l'on met l'instruction suivante :
Citation:
//SYSOUT DD SYSOUT=*
Cela veut dire que les messages seront redirigés dans le repertoire courant c'est à dire à l'écran (c'est à dire dans le fichier SYSOUT) ?
soli.f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 17h35   #4
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
Cela sera redirigé dans la SYSOUT du rapport d'éxecution de ton JCL
en genéral
Code :
1
2
3
//SYSOUT   DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
Regarde le lien que je t'ais donné (doc pdf) chapitre 18
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 13h48   #5
Invité régulier
 
Inscription : octobre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 32
Points : 8
Points : 8

Non ... Non....
//SYSOUT DD SYSOUT=*
est un tres mauvais exemple pour expliquer

//SYSPRINT DD SYSOUT=*
SYSOUT=* ==> Alors la sortie SYSPRINT utilisera la meme classe d'impression que celle de MSGCLASS utilisée dans carte JOB

les classes d'impressions peuvent etre ( ca depend des systemes )
soit sur papier
soit sur cartes perforées
soit sur ecran ( exemple un logiciel de visualisation des resultats à l ecran comme WSF , SAR, etc.. )

Exemple la socité AAA a decidé que :
SYSOUT=A indique que ce sera imprimé sur grosse imprimante à laser
SYSOUT=B indique que ce sera imprimé sur imprimante à distance
SYSOUT=C indique que ce sera envoyé vers WSF ou SAR

//TRUC JOB CLASS=J,MSGCLASS=C
//step1 exec pgm=..
//FICSOR01 DD SYSOUT=A
//FICSOR02 DD SYSOUT=B
//DUMP01 DD SYSOUT=*

Signifie que si ca se passe bien
FICSOR01 ( car gros volume ) sera imprimée sur grosse imprimante
FICSOR02 ( car petit volume ou confidentiel ) sera imprimée sur imprimante à distance
MSGCLASS sera visualisée sur ecran

Si ca ne se passe pas bien
MSGCLASS sera visualisée sur ecran ( utile pour voir les codes d'abend )
DUMP01 ( à condition que le PGM a prevu une sortie DUMP01 pour dumper ) sera visualisée sur ecran ( puisque meme classe que MSGCLASS )
toto92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h59.


 
 
 
 
Partenaires

Hébergement Web