|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 59 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : janvier 2008 Messages : 120 ![]() |
ISPEXEC DISPLAY PANEL(panel-name) CURSOR(Pzonea)
non? |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Administrateur de base de données Inscription : octobre 2006 Messages : 477 ![]() |
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 |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 59 ![]() |
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 |
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
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) |
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 59 ![]() |
encore une fois merci pour vos réponses très pertinentes !!
![]() pour bernard59139 : il s'agit de controles d'existence en BDD |
|
|
00
|
|
|
#7 | |
|
Membre habitué
![]() Inscription : janvier 2008 Messages : 120 ![]() |
Citation:
merci beaucoup Homer-ac |
|
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
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.
|
|
|
00
|
|
|
#9 | |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 508 ![]() |
Citation:
Merci Homer-ac. .
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
|
00
|
|
|
#10 |
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
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. |
|
|
00
|
|
|
#11 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 508 ![]() |
Merci Homer-ac pour ce mod'op.
Je met en pratique lundi .
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 508 ![]() |
@Homer-ac : Nickel
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
00
|
Copyright © 2000-2012 - www.developpez.com