|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Bonjour,
Etant un peu débutant sur les JCL, et ayant cherché sans succès sur les différentes rubriques, je me permets de vous poser une question. J'ai un JCL qui permet de faire des compares de 2 fichiers avec une carte de masquage. J'aurai voulu tester dans un step précédent si le membre existe dans un PDS. Avez-vous un exemple, car tous les exemples que j'ai trouvé sont pour tes fichiers VSAM ? Merci d'avance. |
|
|
00
|
|
|
#2 | ||||
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
Tenter de lire un membre inexistant via une DD DSN=MON.PDS(MBR) dans un JCL provoque un ABEND S013 MVS. Certes, on peut poster un COND=ONLY dans un STEP qui prendra la main sur un ABEND, ou mieux encore, gérer par un IF
Code :
Il est préférable je pense d'écrire un REXX trés simple pour tester si le fichier existe ou non et renvoyer un code retour en conséquence, par exemple 0 ou 1. Comme ça ne fait que quelques lignes, il y a certainement déjà un truc du genre, peut être un peu plus 'raffiné' sur le site. Un exemple au plus simple qui recoit le fichier ou FICHIER(MEMBRE) à tester en PARM : Code :
|
||||
|
|
00
|
|
|
#3 | ||
|
Membre chevronné
![]() Administrateur de base de données Inscription : octobre 2006 Messages : 477 ![]() |
Bonjour
ce print ne tombe pas en ABEND même si le membre est inconnu.Il faudra gérer les RC Code :
|
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Merci pour ces réponses qui vont bien m'aider, j'ai juste un problème avec l'appel au REXX ( prb de bibliothèque dans mon JCL ), donc je vais utiliser la solution de Bernard59139, qui vu mes connaissances en JCL est la plus simple à utiliser.
|
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
Bien vu Bernard, je n'y avais pas pensé, IDCAMS prend la main sur un ABEND. C'est aussi en plus parfois une méthode pour tester si un fichier est vide avec un count(1)
soit aprés vérif d'un PRINT INFILE(IN1) COUNT(1) RC = 0 - OK RC = 4 - fichier vide RC = 12 - Erreur grave, dont membre d'un PDS non trouvé bien entendu. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com