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 :

Comment tester la présence d'un fichier plat?


Sujet :

z/OS

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Comment tester la présence d'un fichier plat?
    Bonjour,

    Je voudrais tester la présence d'un fichier plat par JCL. J'avais trouvé la méthode suivante (LISTCAT)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //TESTDIM  EXEC PGM=IDCAMS                    
    //SYSPRINT DD SYSOUT=*                        
    //SYSIN    DD *                               
     LISTCAT ENTRIES(mon_fichier) -
            ALL                                   
    /*
    MAis cela ne marche pas dans mon besoin précis car mon fichier est suffixé par une date passée en paramètre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SET DATE=JJMMAA
    ....
    .... 
    //TESTDIM  EXEC PGM=IDCAMS                    
    //SYSPRINT DD SYSOUT=*                        
    //SYSIN    DD *                               
     LISTCAT ENTRIES(mon_fichier.D&DATE) -
            ALL                                   
    /*
    Ca plante.

    Avez-vous une idée qui répondrait à mon besoin ?
    MErci

  2. #2
    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
    bonjour,
    Si un listcat (ou un print, ou un repro) est une solution simple mais on bute sur l'impossibilité en MVS de variabiliser un fichier 'cartes' de type sysin. Ce pb est assez récurrent. La solution la plus usuelle, créer le fichier SYSIN par un STEP en amont qui crée un fichier d'après ce qu'il à reçu en PARM=
    Un REXX, un COBOL, ce que l'on veut en fait. En passant il existe certainement un programme 'maison' sur le site qui fait ça. Un exemple COBOL entre autres ici ou en REXX mais si c'est pour tester qu'un fichier existe autant le faire directement dans le REXX tres simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /* REXX test fichier */
    arg DSN .
    DSN = strip(DSN,'B',"'")
    if SYSDSN("'"DSN"'") = 'OK' then EXIT 0
    else EXIT 4
    NB. En prod. via un outil d'ordonnancement/préparation, style TWS, ce problème est pris en compte par l'outil, on peut variabiliser n'importe quoi.

  3. #3
    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
    En complément, et pour répondre à une question par MP (à éviter sur ce forum, toute question/réponse peut être utile à qqun d'autre).
    Le REXX est à copier dans un PDS quelconque de FB 80.
    Exécution Batch via le JCL suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //STEPREXX EXEC PGM=IKJEFT01,PARM='ESTLA MON.FICHIER.A.TESTER'  
    //SYSTSPRT DD SYSOUT=*                                          
    //SYSPROC  DD DISP=SHR,DSN=MON.PDS.CONTENANT.LE.REXX.ESTLA      
    //SYSTSIN  DD DUMMY                                             
    //*
    En SYSPROC le PDS qui contient le REXX.
    en PARM le nom du membre qui contient le REXX suivi de ce que l'on veut lui passer en PARM, ici un nom de fichier.
    Pour ce REXX simplifié, pas de message, seulement RC = 0 si fichier trouvé, et 4 si non trouvé ou accessible.

  4. #4
    Membre actif
    Inscrit en
    Novembre 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2009
    Messages : 165
    Points : 216
    Points
    216
    Par défaut
    Allez voir ce sujet, il pourra vous apporter une solution assez simple:

    http://www.developpez.net/forums/d84...ables-systeme/

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Fichier avec DSN dynamique
    Ceci pourrait répondre à ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //TSTVIDE EXEC PGM=IDCAMS                                      
    //SYSPRINT DD SYSOUT=*                                         
    //DD1      DD DSN=RNRJP10.NRJU01JR.NRJ0.D%OYMD1..H%OHHMM,      
    //            DISP=SHR                                         
    //SYSIN    DD *                                                
     PRINT INFILE(DD1) COUNT (1);                                  
    //*

  6. #6
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Citation Envoyé par Homer-ac Voir le message
    bonjour,

    Un REXX, un COBOL, ce que l'on veut en fait. En passant il existe certainement un programme 'maison' sur le site qui fait ça.
    Bonjour Homer-ac, aurais-tu un exemple en REXX (l'équivalent du COBOL) ?

    Merci.

  7. #7
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    @Sam01, @Homer-ac nous a quitté il y a quelque temps.

    J'ai une pensée pour ses proches chaque fois que je revoi un thread remonter avec une de ses réponses.

    .

  8. #8
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Ok merci.

    J'ai appris ça...

Discussions similaires

  1. Comment tester l'exitance d'un fichier?
    Par sheira dans le forum ASP
    Réponses: 3
    Dernier message: 15/12/2005, 15h55
  2. Comment tester la présence de machine ?
    Par bluesnr dans le forum Web & réseau
    Réponses: 9
    Dernier message: 22/04/2005, 17h20
  3. comment tester la connexion depuis un fichier BATCH
    Par philippe_Aix dans le forum Oracle
    Réponses: 13
    Dernier message: 11/10/2004, 16h56
  4. Réponses: 11
    Dernier message: 02/04/2004, 18h33

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