bonjour
quelle est la difference entre une commande tso et une commande 'normal'
ex :
tso %resolve
et
panelid ( cette commande n'est pas une commande tso ? on ne fait pas " tso panelid" !!)
voila si quelqu'un pouvait m'eclairer merci
bonjour
quelle est la difference entre une commande tso et une commande 'normal'
ex :
tso %resolve
et
panelid ( cette commande n'est pas une commande tso ? on ne fait pas " tso panelid" !!)
voila si quelqu'un pouvait m'eclairer merci
Une commande TSO est une procédure pouvant être appelée sous TSO, exemples : ALLOC, FREE, LISTALC ... Par extention toutes les commandes IDCAMS peuvent être passées sous TSO, à commencer par LISTCAT et DELETE, souvent utilisés. On peut aussi appeler une CLIST ou un REXX reconnus dans sa procédure d'allocation TSO. En REXX par exemple, on appelle ces commandes par Address TSO "la commande", ex : address TSO 'LISTCAT ENT(mon.fichier) ALL'
Quand sous TSO/ISPF on n'a pas besoin de faire précéder par 'TSO', il s'agit de commande ISPF chargées dans une table ISPF des commandes. Celles-ci peuvent aussi bien appeler une procédure (un REXX par exemple), un panel ISPF ou un programme. La table de commandes est préfixée par l'application ISPF appelée. En standard, pour les gestions de fichiers en particulier, l'application est ISP. La table des commandes est alors ISPCMDS. Il s'agit d'un fichier ISPF non accessible directement mais par les fonctions Dialog Manager adéquates (ordres TB...). Pas grave, ISPF nous fournit l'option 3.9 pour visualiser (en standard, mais comme les écrans sont customisables, ça peut différer sur certains sites et se trouver par exemple derrière une option PDF du panel primaire de LOGON).
Un exemple de commande pratique qui gagne à être connue : TSO ISRDDN qui donne (entres autres) les PDS alloués dans son environnement TSO/ISPF, peut être appelé directement par la commande ISPF : DDLIST que l'on pourra trouver en 3.9 pour l'application ISP. Il y a en z/OS une foultitude de commandes pratiques à découvrir et tester. PANELID ou encore RETP ...
Une dernière remarque. Même s'il est fortement déconseillé de modifier la table des commandes, il faut savoir qu'elles sont chargées en mémoire et que l'on peut ajouter ses cdes perso (TBADD), à condition de ne pas ouvrir la table ISPCMDS. Elles restent actives le temps de sa session TSO. Très utile mais il faut pour cela pratiquer un peu REXX et ISPF Dialog Manager.
Bon difficile de répondre plus court sans entrer dans un cours tecnhique. Pour plus de détails le mieux est de regarder la DOC IBM.
1)
mais en fait des que l'on se logue on est sous tso/ispf non ?
2) de plus si le liscat entries (/) devant un fichier en 1.3.4 est une commande tso pourquoi alors elle n'est pas prefixé par "tso" => tso liscat entries (/) ?
merci de votre patience
1) Effectivement quand on se logue c'est forcément sous TSO ISPF1) mais en fait des que l'on se logue on est sous tso/ispf non ?
2) de plus si le liscat entries (/) devant un fichier en 1.3.4 est une commande tso pourquoi alors elle n'est pas prefixé par "tso" => tso liscat entries (/) ?
2) Ne pas confondre commande de ligne et ligne de commande
2.1 en commande de ligne c'est une saisie reconnue par ISPF ou une procédure TSO que va lancer ISPF donc éventuellement aussi un REXX ou une CLIST quand on est en 3.4
2.2 en ligne de commande c'est toujours une commande reconnue par ISPF qui sera traitée (commande de la table des cdes ou une instruction de chaînage menu (=X par exemple)). La commande ISPF TSO sera reconnue pour passer la main à TSO pour exécuter ce qui suit. D'ailleurs il est possible de neutraliser la commande ISPF 'TSO' par NOP dans la table des commandes.
Se rappeler que l'on est dans des menus ISPF, donc un environnement de développement ISPF DIALOG MANAGER. C'est donc ISPF qui décide ce qui doit être fait en regard d'une réponse dans un menu et c'est pour pouvoir customiser facilement ça que la table des commandes existe. Si à la limite, je décide de modifier la commande ISPF TSO par association de NOP dans la table ISPCMDS par exemple, je vais interdire à un utilisateur de passer une commande TSO sous ISPF.
alors ..
En ligne de commande
tso listcat ent(nomfichier) all => c'est une commande tso
et en commande de ligne
listcat ent (/) => c'est une commande ispf
c'est bien cela ?
Non.En ligne de commande
tso listcat ent(nomfichier) all => c'est une commande tso
et en commande de ligne
listcat ent (/) => c'est une commande ispf
Ma réponse ne devait pas être correctement résumée, mais c'est difficile de faire court sans détailler au moins un peu Dialog Manager.
En ligne commande (en haut ou bas de l'écran selon ce qui est positionné par SETTINGS), tso listcat ent(nomfichier) all : TSO est une commande ISPF (en ISPCMDS, cf cdes en 3.9)
La commande ISPF 'TSO' fait un SELECT CMD(&ZPARM) c'est à dire qu'ISPF doit appeler (CMD) une commande TSO (ou un REXX ou une CLIST) avec ce qui est passe en parm, donc 'listcat ent(nomfichier) all'
En commande de ligne, si se n'est pas une réponse ISPF prévue, ISPF considère qu'il doit réagir comme si on lui avait passé une commande ISPF TSO en passant en PARM le nom du fichier affiché en regard de la ligne en 3.4 ou à la place d'un '/' saisi dans la cde.
En résumé ISPF tourne dans un envirommement TSO mais quand on est sous ISPF c'est lui le pilote, qui va choisir s'il doit appeler un dialogue ISPF (un écran en particuler - SELECT PANEL) une commande TSO, un REXX ou CLIST (SELECT CMD) ou un programme en LOADLIB (SELECT PGM), fonctions ISPF que l'on trouve notablement dans ISPCMDS.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager