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 :

année en cours dans une sysin


Sujet :

z/OS

  1. #1
    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 année en cours dans une sysin
    Bonjour,

    voilà je lance un job via TWS et j'ai besoin d'avoir automatiquement l'année dans une sysin de tri :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    //TRI03 EXEC PGM=SORT,REGION=4096K                               
    //SYSOUT  DD SYSOUT=*                                            
    //*                                                              
    //SORTIN  DD DISP=SHR,DSN=X.Y.DAD              
    //*                                                              
    //SORTOUT DD DISP=SHR,DSN=X.D.B              
    //SYSIN DD *                                                     
      SORT FIELDS=COPY                                               
      INCLUDE COND=(60,4,EQ,C'année en cours'),FORMAT=CH                       
    //*
    connaissez-vous un moyen pas trop compliqué pour obtenir l'année en cours automatiquement ?

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 93
    Points
    93
    Par défaut
    INCLUDE COND=(60,4,EQ,C'%CYYYY'),FORMAT=CH

    avec la directive //*%OPC SCAN en debut de jcl par exemple

    ++

  3. #3
    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
    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...

  4. #4
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    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.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 93
    Points
    93
    Par défaut
    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

    ++

  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
    Super. Merci coderetour0.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 167
    Points : 131
    Points
    131
    Par défaut
    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

  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
    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.

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 167
    Points : 131
    Points
    131
    Par défaut
    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 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

    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le nom du fichier en cours dans une variable.
    Par quiky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/05/2009, 13h28
  2. Réponses: 0
    Dernier message: 21/04/2009, 18h02
  3. Affichage de l'année en cours dans une table
    Par gentoo dans le forum IHM
    Réponses: 2
    Dernier message: 27/02/2009, 19h14
  4. Réponses: 3
    Dernier message: 19/03/2008, 21h35
  5. N° de ligne en cours dans une requête
    Par efrancilien dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/11/2006, 10h03

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