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 :

positionner le curseur dans un REXX


Sujet :

z/OS

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 54
    Points
    54
    Par défaut positionner le curseur dans un REXX
    bonjour,

    Dans un controle de saisie dans un programme ecrit en REXX, je voudrais positionner le curseur sur la zone qui est en erreur :

    ex : nom de la zone dans le panel ISPF : Pzonea

    si le controle est KO sur cette zone, j'affiche un message et je veux que le curseur soit sur Pzonea pour que l'utilisateur corrige cette erreur.

    merci pour vos réponses

  2. #2
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    ISPEXEC DISPLAY PANEL(panel-name) CURSOR(Pzonea)

    non?

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

    dans le panel, partie )INIT, code ".CURSOR = &mavar"
    et dans le rexx, mavar = 'la.zone.en.erreur'.

    De mémoire, je pense que cela suffit.

    Si ce sont des vérifications de saisie "simples", il y a des possibilités de vérifications de saisie directement dans le PANEL, l'ordre VER offre beaucoup de facilités. De plus, les vérifications faites directement dans le PANEL allègent beaucoup le(s) REXX.

    edit: La solution de Xfan suffit

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 54
    Points
    54
    Par défaut
    super !!

    encore une fois, merci à tous pour vos réponses très pertinentes et à la prochaine !!

    pour bernard59139 : c'est un controle d'existence en BDD

  5. #5
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Une variante souvent pratique :
    "ISPEXEC DISPLAY PANEL("panel-name") CURSOR("data-name")"
    La donnée à positionner en curseur est alimentée en amont par le REXX en fonction des conditions d'erreur testée dans le REXX, en particulier via un SELECT et des ordres WHEN par cas d'erreur. When .... data-name = 'Pzonea'.
    Ceci complique certes le REXX mais l'intérêt par rapport aux contrôles dans le PANEL est qu'en cas de modification, tous les utilisateurs du panel bénéficient immédiatement de celle-ci (d'un autre côté, ça peut être aussi un inconvénient si on se plante dans sa modif., mais normalement on teste dans son coin avant)

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 54
    Points
    54
    Par défaut
    encore une fois merci pour vos réponses très pertinentes !!



    pour bernard59139 : il s'agit de controles d'existence en BDD

  7. #7
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par Homer-ac Voir le message
    Une variante souvent pratique :
    "ISPEXEC DISPLAY PANEL("panel-name") CURSOR("data-name")"
    La donnée à positionner en curseur est alimentée en amont par le REXX en fonction des conditions d'erreur testée dans le REXX, en particulier via un SELECT et des ordres WHEN par cas d'erreur. When .... data-name = 'Pzonea'.
    Ceci complique certes le REXX mais l'intérêt par rapport aux contrôles dans le PANEL est qu'en cas de modification, tous les utilisateurs du panel bénéficient immédiatement de celle-ci (d'un autre côté, ça peut être aussi un inconvénient si on se plante dans sa modif., mais normalement on teste dans son coin avant)
    Oo, ah je trouve ta variante très intéressante et simple finalement.. je n'y avais jamais pensé

    merci beaucoup Homer-ac

  8. #8
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Juste pour ajouter que même si je suis plutôt à chaque fois d'accord avec bernard59139, j'aurais cependant une suggestion personnelle quant aux controles de base dans un panel via l'ordre VER. Effectivement, pas plus simple pour des vérifications syntaxiques VER NB ou DSNAME (moins évident en REXX pour ce dernier cas en particulier). Pour le reste, et surtout pour ce qui touche aux rêqles de gestion, donc par définition potentiellement modifiables, j'aurai tendance à privilégier les contrôles dans le REXX d'appel, pour faciliter la distribution d'une maintenance en particulier. Par exemple, le contrôle d'une liste de valeurs (VER ... LIST,...), puisque ça peut évoluer, à plus sa place dans le REXX (à mon avis). En gros, ce qui est acquis : VER dans le panel. Ce qui peut évoluer : contrôles dans le REXX. Se rappeler qu'ISPF utilise le plus possible la mémoire virtuelle MVS et qu'une modification d'un panel risque fort de n'être 'vue' par un utilisateur que lors de sa prochaine reconnection TSO -> ISPF.

  9. #9
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    Citation Envoyé par Homer-ac Voir le message
    Se rappeler qu'ISPF utilise le plus possible la mémoire virtuelle MVS et qu'une modification d'un panel risque fort de n'être 'vue' par un utilisateur que lors de sa prochaine reconnection TSO -> ISPF.
    Depuis le temps je rename les panels pour voir la modif apportée en cours de dév.... j'ai enfin une réponse au pourquoi du comment!

    Merci Homer-ac.

    .

  10. #10
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Quand même Peut-êtreUneRéponse, inutile de faire un rename panel, il te manques juste quelque 'trucs'. Il suffit de raffaichir le panel que que tu as modifié en 7.2. Mais il y a plus facile parce qu'itératif.
    1) Tu modifies le panel le panel en EDIT
    2) Tu fais un SAVE mais tu restes en EDIT sur le panel
    3) Tu positionnes le curseur sur les menus déroulants en haut et à droite de l'écran : option Test, juste avant le Help, et ENTER
    4) Option 2 : Panel - ENTER, puis dans la fenêtre qui vient se greffer, tu donnes le nom de ton PANEL (tu as bien entendu passé une LIBDEF ISPPLIB avant sur le PDS)
    5) Ca affiche l'écran modifié, si ça ne va pas, on corrige, save, et on recommence. De toutes façons, s'il n'y a pas d'erreur c'est le nouveau Panel qui est chargé en mémoire et on peut reprendre ses tests. (Même en cas d'erreur d'ailleurs, dans ce cas ISPF 'plante' et supprime tout ce qu'il a mis en mémoire).

    Ceci étant, ça permet d'avoir une nouvelle copie de l'écran pour le USER qui teste les modifications du panel, le problème subsiste pour les autres qui ont déjà pu appeler le PANEL jusqu'à ce qu'il changent d'application ISPF ou qu'ils refassent un LOGON TSO.

  11. #11
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    Merci Homer-ac pour ce mod'op.

    Je met en pratique lundi

    .

  12. #12
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    @Homer-ac : Nickel

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

Discussions similaires

  1. positionner le curseur dans la console
    Par sympho dans le forum C
    Réponses: 8
    Dernier message: 23/12/2005, 18h26
  2. [Forms 6i] Positionnement du curseur dans une liste
    Par Veve44 dans le forum Oracle
    Réponses: 2
    Dernier message: 13/12/2005, 16h28
  3. Réponses: 3
    Dernier message: 27/11/2005, 01h19
  4. Positionner le curseur dans un champ
    Par Smint dans le forum Access
    Réponses: 17
    Dernier message: 23/09/2005, 21h02
  5. Réponses: 6
    Dernier message: 06/05/2004, 09h05

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