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 :

programmation des touches fonction dans programme REXX ou panel ISPF


Sujet :

z/OS

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 35
    Points
    35
    Par défaut programmation des touches fonction dans programme REXX ou panel ISPF
    Bonjour,

    J'ai un programme REXX (GLDIM01) qui affiche un panel ISPF (GLDIM01). J'utilise une des touches fonction (PF5) pour faire un appel à un autre programme qui affiche aussi un écran

    "ISPEXEC DISPLAY PANEL(GLDIM01) CURSOR("ZCUR")"
    IF RC = 8 THEN EXIT
    IF DGIPFKEY = 'PF05' THEN CALL GLDIM02

    Lorsque je lance le programme GLDIM01 (TSO GLDIM01), puis lorsque j'appuie sur PF05, j'ai bien le panel du programme GLDIM02 qui s'affiche, pas de problème.

    Seulement, je dois brancher mon programme GLDIM01 sur un menu d'entreprise, et c'est là que ça se corse. Lorsque je le fais, je n'ai pas de problème pour l'affichage du panel GLDIM01, mais impossible d'afficher le panel du programme GLDIM02, parce que la touche de fonction PF05 est déjà affectée au 'rfind', et j'ai alors le message '"RFIND " is not active '.

    Comment, dans mon programme GLDIM01, (ou dans mon panel GLDIM01), je peux définir les touches fonction qui seront utilisées dans ce programme ?

    Merci pour vos réponses

  2. #2
    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 ,

    C'est dans le panel initial , soit GLDIM01 , que cela se passe , au niveau du pavé )PROC , soit :

    )PROC
    &TOUCH=.PFKEY Attention de ne pas oublier le point (.)

    Et dans le Rexx , tu travailles avec la variable TOUCH

    Personnellement , dans ce cas là , je préfère travailler avec la touche PF02 qui est la moins utilisée par défaut.

    Nota : la variable TOUCH contiendra PF05 (Et pas PF5) ou bien PF02 etc .....

    Bakounine

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Ben c'est exactement ce que je fais. dans GLDIM01 (ecran),j 'ai un &DGIPFKEY=.PFKEY dans la partie )PROC

    Ce qui se passe c'est que quand je connecte mon programme au programme entreprise, les touches fonction sont désactivées

    La différence est que dans le programme 'entreprise', le display du panel menu sur lequel est branché mon programme est constitué de la manière suivante :
    "ISPEXEC SELECT PANEL("ecran") NEWAPPL("appl")"

    Je pense que c'est le NEWAPPL qui désactive les touches fonction (lorsque je fais un essai en l'enlevant, je retrouve mes touches fonction), mais je ne sais pas ni pourquoi, ni comment faire pour resoudre le problème.

  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
    Ca manque de formation ISPF.

    si tu peux , remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ISPEXEC SELECT PANEL("ecran") NEWAPPL("appl")"
    qui créé un environnement "appl" neuf avec les PFk par défaut, par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ISPEXEC SELECT PANEL("ecran") NEWAPPL("appl") PASSLIB"
    , l'environnement "appl" héritera des caractéristiques de l'environnement d'origine.

    ou alors, appel du rexx par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ISPEXEC SELECT CMD(GLDIM01) NEWAPPL("appl") PASSLIB"

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Je suis pleinement d'accord avec le manque de formation. Mais c'est sur le tas maintenant que ça se fait. Les vieux briscards sont à la retraite ! Et c'est de plus en plus difficile de trouver de la compétence en interne. Bon, ça suffit avec les regrets.
    Ca ne change rien le fait de rajouter PASSLIB, car, d'après ma compréhension du problème, dans le programme principal, la touche PF05 est définie avec une affectation (RFIND) qui override le traitement que j'ai fait dans le programme GLDIM01. Donc, l'héritage est plutôt le contraire de ce qu'il me faudrait. C'est d'ailleurs rigolo, parce que juste après avoir ecrit l'ordre d'affichage de l'écran, j'ai mis un ordre 'say dgipkey' pour voir le contenu de la zone qui va contenir la dernière touche fonction pressée, et en fait, je n'ai pas l'affichage du say lorsque j'appuie sur PF5, signe que le traitement ne sort pas de l'écran, alors que lorsque j'appuie sur PF03, j'ai bien l'affichage du say.
    Alors j'ai vu sur Internet qu'il était possible de définir ses propres touches fonction puis de les spécifier dans la définition de l'écran par une commande )PANEL.
    Mais pour l'instant, je n'ai pas trouvé comment.
    A plus

  6. #6
    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
    Je ne gère jamais les options de panel avec les PFK, toujours par des choix que je teste ensuite, soit directement dans le panel , soit dans le rexx qui a afficher le panel.

    je ne sais pas si c'est possible de modifier, même temporairement, les PFK directement dans un panel.
    Il est possible de modifier les PFK via un rexx; mais alors là, gaffe aux utilisateurs (perso je ne serai pas content si qqun vient modifier "mes" pfk pour "son" besoin).

    rappel: les pfk sont des actions gérées immédiatement par ISPF. PF3 =END (le plus souvent) et ISPF quittera le "truc" en cours

    rappel2: il y a 2 type de panels. en simplifié
    • les panels de saisie (appelé ISPEXEC DISPLAY) et dont les données sont traitées par le programme
    • les panels de service,(appelés par ISPEXEC SELECT PANEL) destinés à gérer différents choix (appel d'un autre panel, d'un rexx, ..) gérés par le panel

    Avec des gestions, interactions & possibilités différentes.
    la doc à lire:"Dialog Developer's Guide and Reference ", c'est du complet et rébarbatif, mais tout y est.

    a+

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2009, 17h09
  2. [Lazarus] Erreur édition des liens (linking) dans programme d'essais mysql
    Par over_score dans le forum Lazarus
    Réponses: 1
    Dernier message: 13/07/2009, 10h51
  3. Programmer des évènements asynchrones dans une classe ?
    Par Pierre8r dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 31/10/2008, 13h17
  4. comment utiliser un programme comme une fonction dans une macro exel
    Par ERICKO dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/10/2007, 23h39
  5. Programmation d'une fonction dans Rn
    Par simone.51 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 12/11/2004, 11h30

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