|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() |
Bonjour
J'essaye de variabliser les éléments en rouges dans ce JCL avec la commande SET je sais que dans une sysin c'est pas possible. Est ce qu'il n'y aurai pas une solution de contournement ?? Merci pour votre aide Cordialement Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
Bonjour,
A ma connaissance, ce n'est pas faisable, pour la bonne raison que le contenu de la SYSIN est traité exactement comme celui de n'importe quel fichier (mis à part le fait que dans les programmes, les ordres d'entrée/sortie ne sont pas les mêmes). D'ailleurs, rien n'empêche de mettre un fichier catalogué en SYSIN et une carte DD* pour un autre fichier. Donc le JES ne peut pas aller voir à l'intérieur. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() |
Re,
J'ai essayé en mettant ma requette SQL dans membre a par mais c'est pareil. |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() |
et bien en mettant un set en debut du JCL car j'etais resté sur cette idée mais sur tu connais autre chose je suis prenneur
tu as une autre idée ? |
|
|
00
|
|
|
#6 | |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
Citation:
- si c'est pour un JCL de TEST, alors tu peux faire un simple CHANGE dans ton JCL ; - si c'est pour de la PROD, il faut prévoir une saisie au lancement du JOB (c'est faisable par exemple sur OPC), mais là on retombre sur le problème initial : il faudrait un premier STEP avec un mini-programme qui récupère des PARM et crèe le fichier qui servira de SYSIN au STEP suivant. |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() |
c'est pas pour un job de test ou de prod c'est que j'ai un dizaine de job toutes les semaine que dois passer et ceci sur 3 environments differents soit 30 jobs donc et c'est tout à faire à la mano car je n'ai pas droits de les faire passer par un ordonnanceur ;( c'est pour ça que je suis en train de reflechir pour essayer d'avoir le moins de modifications à faire dans mes jobs.
par rapport a ton mini programme aurais-tu un exemple ? |
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
Non, je n'ai pas ça sous la main, mais tu peux le concevoir de la manière suivante :
Dans chaque environnement, tu gères un fichier paramètres (si tu as 10 JOBs par environnement, il peut y avoir 10 enregs, 1 par JOB). Ton programme lit ce fichier, et intègre les paramètres avec des STRING dans un texte prédéfini, et crèe un fichier en sortie pour chaque enregistrement en entrée. Puis 10 STEP d'éxécution tels que tu les as donnés au départ, avec chacun des 10 fichiers en SYSIN. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() |
et ça marcherai avec des sysin ?
|
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() |
ok je vais chercher un exemple et des que j'ai une reponse qui fonctionne je la mettrais en ligne
bonne soirée Merci encore pour l'aide |
|
|
00
|
|
|
#12 | |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
Citation:
Si tu choisis de passer par une SYSIN, les accès se font par l'ordre ACCEPT (au lieu de READ), et tu n'as pas à faire d'OPEN, de CLOSE, ni de définition de fichier. De mémoire, la syntaxe est : Bonne soirée également. |
|
|
|
00
|
|
|
#13 | ||
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
Un moyen assez simple, passer par un REXX qui lit ce qui est passé en PARM et le réécrit sur un fichier temporaire repris dans le SYSIN
On peut passer jusqu'a 120 caractères en PARM=. Il faut prévoir une table de traductions des caractères ,()" pour éviter une interprétation par JES, la virgule comme séparateur reste pratique si on veut une continuation dans le champ PARM codé. Je n'ai pas testé mais ça donnerait ça : Code :
|
||
|
|
00
|
|
|
#14 |
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
L'idée d'utiliser REXX me semble excellente, mais pourquoi dans ce cas ne pas écrire une macro qui transforme le fichier paramètre directement en un JCL, sur lequel il ne reste qu'à faire un SUB ?
|
|
|
00
|
|
|
#15 |
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
A la relecture du REXX, il y a une erreur de code, il faut lire
TAB.j = ' 'LEFT(P2,79) Sans quoi, par rapport à une macro, l'utilité est simplement d'extérioriser les variables dans le JCL. Accessoirement, le fait de passer tous les sysin en fichiers permet d'utiliser des JCL plus structurés ou imbriqués avec en particulier la possibilité d'utiliser des INCLUDE MEMBER= |
|
|
00
|
|
|
#16 | ||||||
|
Membre éclairé
![]() Inscription : octobre 2007 Messages : 362 ![]() |
J'ai écrit une macro qui fait quelque chose de propre il me semble, et n'empêche pas l'utilisation d'INCLUDE MEMBER :
Le fichier paramètre : Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#17 |
|
Membre habitué
![]() Inscription : janvier 2008 Messages : 124 ![]() |
si tu transformes ton JCL en PROC, tu pourras utiliser des variables sans problème.
|
|
|
00
|
|
|
#18 | |||||||
|
Invité de passage
![]() Jérôme Magmerlin Inscription : novembre 2009 Messages : 2 ![]() |
Citation:
J'ai la réponse à ton besoin car j'ai moi aussi du procéder ainsi: Ceci se passe en 3 temps: 1- tu codes un morceau de jcl qui va construire ta requete: Code :
Code :
Code :
|
|||||||
|
|
00
|
|
|
#19 |
|
Membre habitué
![]() Inscription : janvier 2008 Messages : 124 ![]() |
Bonjour,
je suis curieuse... c'est quoi cet utilitaire PGM=SY00011? je ne connais pas du tout |
|
|
00
|
|
|
#20 | |
|
Membre Expert
![]() ![]() François DurandSpécialiste Delivery Mainframe IBM Inscription : octobre 2005 Messages : 1 098 ![]() |
Citation:
A mon humble avis, sa solution n'est pas généralisable ... |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com