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 :

Eviter un OJCV


Sujet :

z/OS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut Eviter un OJCV
    Bonjour,

    voilà dans mes JCL, j'ai des SYSIN DD * qui contiennent des variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    //S0XX      EXEC &DB2PROC,SYSTEM=DB2                              
    //SYSPRINT DD SYSOUT=&SYSOUT$                                          
    //SYSIN    DD *                                                        
             DSN '&YYYY$.&DB..&TS.(+1)'                                    
           GDGLIMIT(XX)                                                    
       //*
    J'ai un OJCV à cause des ces variables.

    J'aimerais savoir comment éviter cet OJCV sans utiliser les ACTION=NOSCAN ?

    Est-ce possible ?


    Merci d'avance pour votre aide.

    Autre info : Les normes de production nous imposent de garder la SYSIN développée dans le JCL. En d'autres termes, on ne peut pas mettre de membre de PDS à la place...

  2. #2
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    966
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 966
    Par défaut
    Bonjour

    en doublant les &, ca devrait fonctionner!

    domage de ne pas utiliser les NOSCAN, c'est très pratique.

    a+

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Bonjour bernard59139 et merci pour ta réponse.

    Je t'explique pourquoi j'aimerais me passer du NOSCAN :

    Nous avons ce problèmes sur de très nombreux jobs et il faudrait passer une routine, qui mettre NOSCAN en début de job et NOSCAN à la fin. Ce n'est pas trop compliqué.

    Mais ce qui risque d'être un peu plus compliquée (pour la routine), c'est de mettre les NOSCAN en plein milieu des JCL (juste avant et juste après les sysin concernée...

    Le souci du noscan, c'est qu'OPC ne va pas scanner les vraies variables OPC...

    Comment obliger OPC à faire la différence entre les variables non OPC et les variables OPC ?

  4. #4
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    966
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 966
    Par défaut
    Bonjour

    je pensais que ca pouvait fonctionner en doublant les &. Mais OPC ne réagit pas comme les skeletons ISPF.

    le truc:
    • défini la variable DB et TS
    • avec valeur par defaut un " " (blanc)
    • et VAL REQ à N


    sinon, pas d'autre moyen.

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Citation Envoyé par bernard59139 Voir le message
    Bonjour

    je pensais que ca pouvait fonctionner en doublant les &. Mais OPC ne réagit pas comme les skeletons ISPF.

    le truc:
    • défini la variable DB et TS
    • avec valeur par defaut un " " (blanc)
    • et VAL REQ à N


    sinon, pas d'autre moyen.
    Une dernière chose bernard59139,

    j'ai pas mal de job DB2 contenant des ? dans les DDL et ça me fait un OJCV.

    Je dois aussi mettre le ? dans la table de variable ?

    Au fait, si j'ai bien compris, la table de variable, c'est une sorte de zone d'exclusion de variables non reconnues par OPC..

  6. #6
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    966
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 966
    Par défaut
    Il y a 3 types de variables dans OPC.
    extrait de la doc:
    1.21.1.4 Ampersand, percent, and question mark variables

    The three variable types, ampersand (&), percent sign (%), and question
    mark (?), cause Tivoli Workload Scheduler for z/OS to perform variable
    substitution in different ways. You can use a variable multiple times with
    a different prefix symbol within the same job.
    & et % n'ont pas bcp de différences.
    ? est une variable "tabulée" pour positionner une valeur exactement sur une colonne.

    Pour connaitre la différence exacte entre chacune de ces variables, consulte la doc.

    Pour ton soucis, avant de faire tout un tas de modif dans OPC; je reprendais l'ensemble des jcl+procédures et j'analyserai le bazard.
    C'est un peu dommage de faire de complexifier une planification OPC.
    le moyen le plus efficace est d'adapter la réception des jcl ou, peut-être, l'écriture du jcl original (par ex: on limite l'utilisation des ? & % ). je ne vois pas ce que viennent faire les ? dans un ddl.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    une sorte de zone d'exclusion de variables non reconnues par OPC..
    ce n'est pas ca, même si ca peut être expliquer comme cela.
    Tu définis les variables, DB & TS. tu ne leur affecte aucune valeur , et comme la variable n'est pas renseignée, OPC ne fera rien (VAL REQ à N )
    Car si qqun se met à valoriser les variables DB et TS, alors

  7. #7
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Par défaut
    Bonjour,
    Il me semble qu'il n'est pas possible pour OPC de faire la différence.
    Rien ne t’empêche de relever toutes les variables OPC et dans ta procédure de faire des exclusions.

    Après je ne comprend pas trop ton souci. Les JCL sont à modifier une fois! De plus pourquoi les JCL n'ont pas étés codés de cette manière à leur création si OPC est votre ordonnanceur ?

  8. #8
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Ben justement, ce sont des JCL livrés qui tournent sur CA 7 et pas sur OPC....

    Je vais tenté la technique de bernard59139.

    Merci à tous.

Discussions similaires

  1. [C#] Comment eviter les boucles infinies ?
    Par Thomas Lebrun dans le forum C#
    Réponses: 12
    Dernier message: 09/06/2004, 00h04
  2. Encodage de caracteres: eviter 81, 8D, 8F, 90, 9D ->
    Par Fladnag dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/04/2004, 11h17
  3. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  4. [opengl] Comment eviter l'ordre de faces ?
    Par :GREG: dans le forum OpenGL
    Réponses: 3
    Dernier message: 02/03/2004, 19h14
  5. Eviter deux nombres identiques dans un tirage aléatoire
    Par moon tiger dans le forum Pascal
    Réponses: 5
    Dernier message: 25/11/2002, 09h57

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