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 :

Ecran ISPF et table ISPF


Sujet :

z/OS

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 36
    Points
    36
    Par défaut Ecran ISPF et table ISPF
    Bonjour

    j'utilise des panels sous ISPF pour effectuer une recherche dans une table DB2.

    On commence par un REXX qui affiche le premier panel de critére puis qui reprend la main pour construire une requete SQL DB2 (SELECT) et pour l'executer. Pour chaque ligne renvoyée par la requete, je formate le résultat et je le met dans une table ISPF que je créé pour l'occasion (TBCREATE)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    /*REXX*/                                                                
                                  
    /* AFFICHAGE DU PANEL ICRECRI */                                        
    "ISPEXEC DISPLAY PANEL(IxxxCRI)"                                        
                                                                            
    /* CONSTRUCTION DE LA REQUETE */                                        
    ...                         
                                                                            
    /* EXECUTION DE LA REQUETE */                                           
    ...                                
                                                                            
    "ISPEXEC TBCREATE TBxxx NAMES(ANNEE QUANT TYPE LIB) replace"            
                                                                            
    DO UNTIL(SQLCODE <> 0)                                                  
                                                                            
       ADDRESS DSNREXX "EXECSQL FETCH C1 USING DESCRIPTOR :OUT"             
       IF SQLCODE == 0 THEN                                                 
       DO                                                                   
           /* FORMATAGE DU RESULTAT ET AJOUT DE LA LIGNE DANS LA TABLE */                        
        ...                                                                    
          "ISPEXEC TBADD TBxxx"                                             
                                                                            
       END                                                                  
    END                                                                     
                                                                            
    "ISPEXEC TBTOP   TBxxx"                                                
    "ISPEXEC TBDISPL TBxxx PANEL(IxxxRES) "                                 
    "ISPEXEC TBCLOSE TBxxx"
    Problème : Si plusieurs utilisateurs utilisent mes écrans, à un moment donnée, l'un est sur le panel IxxxRES : a ce moment, la table TBxxx est ouverte. L'autre essaye de créér la table et comme elle est ouverte ca plante.
    Même Problème lorsque le même utilisateur lance plusieurs fois le même panel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
                                  ISPF Dialog Error                                
    Command ===>                                                                   
                                                                                   
    ****************************************************************************** 
    * ISPT036                                                                    * 
    *                                                                            * 
    * Table in use                                                               * 
    * TBCREATE issued for table TBxxx that is in use, ENQUEUE failed.            * 
    *                                                                            * 
    *                                                                            * 
    *                                                                            * 
    *                                                                            * 
    *                                                                            * 
    *                                                                            * 
    * Current dialog statement:                                                  * 
    * TBCREATE TBxxx NAMES(ANNEE QUANT TYPE LIB) replace                         * 
    *                                                                            * 
    * Enter HELP command for further information regarding this error.           * 
    * Press ENTER key to terminate the dialog.                                   * 
    *                                                                            * 
    *                                                                            * 
    *                                                                            * 
    *                                                                            * 
    ******************************************************************************

    Comment faire ?

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

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 957
    Points : 2 072
    Points
    2 072
    Par défaut
    bonjour

    je pense à 2 trucs:
    1. la table ispf est stockée dans un pds commun à tout le monde.
      une table ispf est un membre de pds. sauf si tu créé la table avec l'option NOWRITE

    2. il y a un soucis dans la concaténation des ddname ISPTABL et ISPTLIB
      En général, quand je gérai les proc tso, je m'arrangeai pour avoir un pds USER en 1er sur chacun de ces ddnames dans les proc de logon
      Depuis, je suis un adepte du libdef.
      les explications sont dans le Dialog Developer’s Guide and Reference


    bonne soirée

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    bonjour bernard

    effectivement, mon isptlib et isptabl pointent vers le même PDS.

    Ce que tu me conseille de faire, dans mon rexx qui lance le premier écran, c'est de faire un libdef (pour isptlib et isptabl) vers un PDS propre a chaque utilisateur ?

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

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 957
    Points : 2 072
    Points
    2 072
    Par défaut
    bonjour

    c'est cela mais avec lecture de la documentation pour bien comprendre les mécanisme de vérouillage dans ISPF.
    Mon message ne fait que 2 lignes, dans la doc, c'est une bonne demi page.
    ++

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    OK je vais regarder cela de plus près. Merci pour tes réponses

Discussions similaires

  1. display d'une table ISPF dans un panel
    Par yannga dans le forum z/OS
    Réponses: 1
    Dernier message: 26/07/2011, 11h05
  2. nb de ligne d'une table ISPF
    Par qqoos dans le forum z/OS
    Réponses: 1
    Dernier message: 28/01/2009, 12h21
  3. width du <table> en fonction de la resolution de l'ecran
    Par touf35 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/06/2008, 19h49
  4. Réponses: 3
    Dernier message: 19/11/2007, 11h57

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