IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

z/OS Discussion :

Utilisation de OUTDISP


Sujet :

z/OS

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Utilisation de OUTDISP
    Bonjour,

    Je cherche a utiliser le paramètre OUTDISP, afin de supprimer la SYSOUT d'un job dont le RC=0 et garder cette SYSOUT si RC != 0
    Mais cela ne fonctionne pas ....
    La suppression est faite même si RC != 0


    ...
    000012 //PROGRM EXEC PGM=MYPROG
    000013 //OUTDS OUTPUT OUTDISP=(PURGE,HOLD)
    000014 //STDOUT DD SYSOUT=*,OUTPUT=*.OUTDS
    ....

    Quelqu'un aurait-il une idée ?

    D'avance merci

  2. #2
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    attention, le 2ème paramètre s'applique en cas de fin anormale (ABEND).
    un rc /=0 (12, 99, ...)est une fin normale.

    es-tu sur d'avoir tester une fin "normale"?

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Une suggestion :

    Allouer le fichier contenant le SYSOUT en :
    Ensuite coder un step avec IEFBR14 et le conditionner sur le RETURN CODE pour faire l'inscription du fichier au catalogue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // IF RC=0 THEN
    // EXEC PGM=IEFBR14
    //OUT DD DSN=...,
    // DISP=(OLD,CATLG,DELETE)
    // ENDIF

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci de vos réponses !

    Toutefois, si je comprends bien mon paramètre HOLD ne sera pris en compte que si j'ai un ABEND !! C'est bien çà ?


    Pour ce qui est de cataloguer la SYSOUT,c'était ma solution de repli !!

  5. #5
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    Toutefois, si je comprends bien mon paramètre HOLD ne sera pris en compte que si j'ai un ABEND !! C'est bien çà ?
    OUI

    pour rappel, ABEND = ABnormal END

    Bon week end

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par bernard59139 Voir le message
    OUI

    pour rappel, ABEND = ABnormal END

    Bon week end
    Merci bernard59,

    J'en conclu donc qu'il ne me reste plus qu'a utiliser un fichier temporaire pour stocker ma SYSOUT et éventuellement cataloguer ce fichier en cas de RC!= 0 ...

    Bon week end

  7. #7
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Juste pour info, les codes retours des steps précédants se retrouvent dans les chaînages des blocs de contrôle de MVS, Je n'ai pas ca en mémoire mais je peux au besoin retrouver ça en REXX. J'ai également testé ça il y a un temps dans un COBOL. Sans aller jusque là, on peut imaginer un programme conditionné par un RC à 0 qui génère un SYSIN de delete de la SYSOUT JES2 repris par un INTRDR. Ce programme n'aurait qu'à relever le nom et le numéro du JOB en cours sous JES2 pour passer la commande $VS '$PO Jnnnn JM=NOMJOB' qui va bien. Avec un ordonnanceur comme OPC c'est encore plus facile. On ajoute simplement un JOB qui exécute le JCL de purge généré en amont uniquement si le JOB qui précède est en RC 0. Ainsi on est certain que le job est terminé avant de purger la SYSOUT.
    Celà étant, on est d'accord, ça fait quand même un peu usine à gaz, mais c'est dans le possible.

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Homer-ac Voir le message
    Juste pour info, les codes retours des steps précédants se retrouvent dans les chaînages des blocs de contrôle de MVS, Je n'ai pas ca en mémoire mais je peux au besoin retrouver ça en REXX. J'ai également testé ça il y a un temps dans un COBOL. Sans aller jusque là, on peut imaginer un programme conditionné par un RC à 0 qui génère un SYSIN de delete de la SYSOUT JES2 repris par un INTRDR. Ce programme n'aurait qu'à relever le nom et le numéro du JOB en cours sous JES2 pour passer la commande $VS '$PO Jnnnn JM=NOMJOB' qui va bien. Avec un ordonnanceur comme OPC c'est encore plus facile. On ajoute simplement un JOB qui exécute le JCL de purge généré en amont uniquement si le JOB qui précède est en RC 0. Ainsi on est certain que le job est terminé avant de purger la SYSOUT.
    Celà étant, on est d'accord, ça fait quand même un peu usine à gaz, mais c'est dans le possible.
    Merci pour l'info Homer-ac, mais comme tu peux t'en douter je recherche la simplicité avant tout !

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 16h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 15h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 13h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 17h01
  5. Réponses: 2
    Dernier message: 21/03/2002, 00h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo