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 :

tbsarg et tbscan ISPF


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 tbsarg et tbscan ISPF
    Bonjour,

    Je ne vois pas bien la différence entre un "TBSCAN tab ARGLIST(val1)"
    et un "TBSARG tab ARGLIST(val1)" puis un "TBSCAN tab"

    Ne pourrait-on pas utiliser toujours le "TBSCAN tab ARGLIST(val1)" ??


    merci pour vos retours

  2. #2
    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
    La différence se situe plutôt dans une gestion de type curseur.
    Pour une recherche simple, le TBSCAN suffit. On va plutôt utiliser un TBSARG (pour 'poser' la recherche), + une boucle TBSCAN dans un cas dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    "ISPEXEC TBVCLEAR MYTABLE" 
    DATA1 = ????’
    DATA2= ‘????’
    "ISPEXEC  TBSARG MYTABLE NAMECOND(DATA1, EQ, DATA2, EQ)"
    DO WHILE RC=0 
        "ISPEXEC    TBSCAN   MYTABLE" 
        SAY  ........ éléments de la table
    END
    Attention, Les arguments dans un TBSCAN se donnent différemment. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "ISPEXEC TBSCAN MYTABLE ARGLIST(DATA1,DATA2) CONDLIST(EQ,EQ)" ,
                    "ROWID(MYROW)"
     "ISPEXEC TBTOP  MYTABLE"
     "ISPEXEC TBSKIP MYTABLE ROW("MYROW")"

  3. #3
    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
    ok, si j'ai bien compris :

    - le TBSARG + TBSCAN pour une recherche de plusieurs occurences

    - le TBSCAN seul pour rechercher 1 occurrence

    Faut-il systématiquement se repositionner avec un TBTOP avant de faire un TBSCAN pour trouver l'élément recherché dans la table ?

  4. #4
    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
    Oui par principe. D'ailleurs TBSARG et TBSCAN disposent tous deux des paramètres NEXT et PREVIOUS, NEXT étant le défaut.
    Par principe, parce ça peut éventuellement dépendre de la logique de traitement.
    Pour comprendre la logique de gestion, il faut s'intéresser au CRP (Current Row Pointer). La plupart des ordres TB tiennent compte de la valeur du CRP et le modifient ou non. En clair, pour chaque ordre il faudra vérifier, éventuellement avec l'aide de la doc, si le CRP est positionné puis modifié. Quand c'est le cas, les variables de la lignes correspondantes sont valorisées.
    Les règles générales : Le CRP est remis à zéro en particulier après un TBTOP, TBOPEN/TBCREATE ou un TBSORT, mais aussi par suite d'un ordre TB avec code retour en erreur.
    Au contraire du TBTOP, après un TBBOTTOM, le CRP pointe sur la dernière lignes et les variables sont donc valorisées.
    Le TBSARG part du CRP en cours, le TBSCAN du dernier service TBSARG éventuel. Le TBVCLEAR réinitialise les variables mais ne modifie pas le CRP.
    Enfin, contrairement au TBSARG le TBSCAN modifie le CRP.

  5. #5
    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
    merci Homer pour ces indications précises et à bientôt certainement !!

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

Discussions similaires

  1. Affichage ispf après erreur rexx
    Par sam01 dans le forum z/OS
    Réponses: 3
    Dernier message: 17/12/2008, 15h54
  2. Application rexx ispf
    Par qqoos dans le forum z/OS
    Réponses: 2
    Dernier message: 11/12/2008, 14h49
  3. Différence entre TSO - CICS - ISPF ?
    Par damien77 dans le forum CICS
    Réponses: 3
    Dernier message: 01/07/2008, 23h17
  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