|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Bonjour,
voilà je lance un job via TWS et j'ai besoin d'avoir automatiquement l'année dans une sysin de tri : Code :
Merci d'avance pour votre aide. |
||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() olivier Analyste d'exploitation Inscription : août 2011 Messages : 48 ![]() |
INCLUDE COND=(60,4,EQ,C'%CYYYY'),FORMAT=CH
avec la directive //*%OPC SCAN en debut de jcl par exemple ++ |
|
|
10
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Merci coderetour0, ça fonctionne sans l'OPC SCAN.
Est-il possible d'avoir l'année N - 1 ? C'est bizarre, il me semblait que les variables ne se résolvaient pas dans les sysin DD * ... je dois confondre avec autre chose... |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Administrateur de base de données Inscription : octobre 2006 Messages : 503 ![]() |
bonjour
les variables en sysin ne sont pas résolues au SUB (tso) ou dans jes2. Là, ce sont des variables OPC et tout le travail est fait avant la soumission du job. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() olivier Analyste d'exploitation Inscription : août 2011 Messages : 48 ![]() |
un truc comme ca devrait marcher
//*%OPC SETVAR TLASTY=(%CYYYY - 1 YR) pas testé ! a toi d'essayer. utilise ensuite %TLASTY dans la sysin au lieu de %CYYYY ++ |
|
|
10
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Super. Merci coderetour0.
|
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : juillet 2011 Messages : 21 ![]() |
Bonjour ,
Si cela fonctionne sans la carte //*%OPC SCAN , c'est que ton contrôleur démarre avec l'option VARSUB=YES (Au lieu de =SCAN , option par défaut) , chose que personnellement je déconseille , car dans ce cas TWS essaiera sytématiquement , dans tous les JCL , de transformer toutes les données %xxx et plantera la soumission en OJCV s'il ne s'agit pas d'une vraie variable... Autrement dit , tu t'interdis ainsi de taper %TOTO , même dans un commentaire... Bakounine |
|
|
10
|
|
|
#8 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Bonjour bakounine et merci pour l'info, je ne savais pas.
A quel endroit se trouve cette option exactement ? J'ai des soucis aussi avec des ?. Lorsqu'ils sont collés à un caractère alphanumérique, j'ai un OJCV. (pareil pour %X ou &X). Penses-tu que ça vienne de cette option ? Si j'ai bien compris, l'OPC SCAN permet de traduire des variables OPC miias il ne faut pas qu'il y ait de % ou de ?, c'est bien ça ? Merci d'avance. |
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() Inscription : juillet 2011 Messages : 21 ![]() |
Bonjour Sam01 ,
Cette option se trouve dans le membre contenant les paramètres de démarrage du contrôleur de TWS. 3 valeurs possibles : NO : Aucune transformation de variables (Peu d'utilité) YES : TWS essaiera de traduite TOUTES les variables (Contraignant) SCAN : TWS ne traduira que les variables dans les JCL contenant la carte "//*%OPC SCAN " (Le plus pratique). Pour tes soucis de OJCV avec ? ou % , en effet , en mettant SCAN , tu n'aura plus de OJCV innatendus , mais cela t'imposera de mettre la carte "//*%OPC SCAN " dans les JCL contenant réellement des variables. A noter aussi le paramètre VARFAIL. Celui-ci contient les caractères spéciaux indiquant à TWS qu'il a affaire à une variable. Il est égal par défaut à & % ? , c'est à dire que pour toutes les chaines &x , %y ou ?z , TWS cherchera une variable x , y ou z dans ses tables. S'il ne la trouve pas , OJCV. Donc en séparant "&" de "x" par un blanc , ca marche. Autre possibilité , modifier le paramètre VARFAIL(&,%,?) en VARFAIL(&) par exemple , et comme ceci TWS ne considérera plus %y ni ?z comme des variables. Enfin , même si tu codes "//*%OPC SCAN " dans ton JCL , tu peux indiquer à TWS de ne pas s'occuper d'une portion du JCL en codant : //*%OPC BEGIN ACTION=NOSCAN //*%OPC END ACTION=NOSCAN Selon l'exemple suivant , les variables VAR1 et VAR3 seront interprétées , la donnée &VAR2 restera telle quelle : //*%OPC SCAN //BAKOUN2 EXEC PGM=IEFBR14 //D0 DD DSN=&VAR1..PELSTAT1.PEL, // DISP=(MOD,DELETE,DELETE), // UNIT=3390,SPACE=(TRK,0) //*%OPC BEGIN ACTION=NOSCAN //* CETTE VARIABLE NE SERA PAS TRAITEE : &VAR2 //*%OPC END ACTION=NOSCAN //BAKOUN2 EXEC PGM=IEFBR14 //D0 DD DSN=&VAR3..PELSTAT1.PEL, // DISP=(MOD,DELETE,DELETE), // UNIT=3390,SPACE=(TRK,0) Bakounine |
|
|
10
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
![]() Ca c'est de la réponse précise et claire ! Je me coucherais moins bête ce soir Merci pour toutes ces précisions bakounine. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com