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 23/11/2009, 14h18   #1
Invité de passage
 
Jérôme Magmerlin
Inscription : novembre 2009
Messages : 2
Détails du profil
Informations personnelles :
Nom : Jérôme Magmerlin

Informations forums :
Inscription : novembre 2009
Messages : 2
Points : 1
Points : 1
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 :
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 :
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

Dernière modification par Hédhili Jaïdane ; 24/11/2009 à 18h06. Motif: Balise Code
magmerlin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2009, 21h13   #2
Membre expérimenté
 
Avatar de Homer-ac
 
Inscription : octobre 2007
Messages : 449
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 449
Points : 518
Points : 518
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 :
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.
Homer-ac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2009, 17h58   #3
Membre expérimenté
 
Avatar de Homer-ac
 
Inscription : octobre 2007
Messages : 449
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 449
Points : 518
Points : 518
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 :
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.
Homer-ac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2009, 10h18   #4
Membre actif
 
Baptiste GRISEL
Inscription : novembre 2009
Messages : 153
Détails du profil
Informations personnelles :
Nom : Baptiste GRISEL
Âge : 28

Informations forums :
Inscription : novembre 2009
Messages : 153
Points : 180
Points : 180
Allez voir ce sujet, il pourra vous apporter une solution assez simple:

http://www.developpez.net/forums/d84...ables-systeme/
Lemmings1406 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 15h10   #5
Invité de passage
 
Inscription : 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 :
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);                                  
//*

Dernière modification par toopac ; 04/08/2011 à 16h34. Motif: Ajout des balises [CODE]...[/CODE]
rokma95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 13h49   #6
Membre confirmé
 
Inscription : mars 2004
Messages : 1 149
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 149
Points : 224
Points : 224
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.
sam01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 22h52   #7
Membre chevronné
 
Avatar de Peut-êtreUneRéponse
 
Homme Guillaume VENTRE
z/OS Technical Leader
Inscription : décembre 2006
Messages : 508
Détails du profil
Informations personnelles :
Nom : Homme Guillaume VENTRE
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : z/OS Technical Leader
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2006
Messages : 508
Points : 609
Points : 609
@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.

.
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★
Peut-êtreUneRéponse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 09h43   #8
Membre confirmé
 
Inscription : mars 2004
Messages : 1 149
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 149
Points : 224
Points : 224
Ok merci.

J'ai appris ça...
sam01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 14h56.


 
 
 
 
Partenaires

Hébergement Web