Mainframe TSO
Upcoming SlideShare
Loading in...5
×
 

Mainframe TSO

on

  • 5,129 views

 

Statistics

Views

Total Views
5,129
Views on SlideShare
5,121
Embed Views
8

Actions

Likes
0
Downloads
52
Comments
0

1 Embed 8

http://www.brunodelb.com 8

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mainframe TSO Mainframe TSO Document Transcript

  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSO SommaireSESSION TSO................................................................................................................................................ 2PRINCIPE..................................................................................................................................................... 2GESTION DES FICHIERS..............................................................................................................................2MISE EN OEUVRE DE PROGRAMMES ..........................................................................................................2PRÉSENTATION DISPF............................................................................................................................. 2APPORT DISPF..........................................................................................................................................3EDITEUR..................................................................................................................................................... 3FONCTIONS DE DÉFILEMENT (SCROLLING) DU FICHIER À LÉCRAN .................................................................3COMMANDES PRIMAIRES..............................................................................................................................3TYPES DÉCRANS.......................................................................................................................................... 4COMMANDES LIGNE..................................................................................................................................... 4POSTE DE DÉVELOPPEMENT .......................................................................................................................4STRUCTURE PHYSIQUE DUN DIALOGUE.....................................................................................................4IPSTART.................................................................................................................................................... 4SELECT...................................................................................................................................................... 4BIBLIOTHÈQUES DISPF.............................................................................................................................5ISPPLIB POUR LES PANELS..........................................................................................................................5SYSPROC ET ISPLLIB POUR LES FONCTIONS DE DIALOGUE........................................................................5ISPMLIB POUR LES MESSAGES....................................................................................................................5ISPTLIB ET ISPTABL POUR LES TABLES ISPF............................................................................................5ISPSLIB ET ISPFILE POUR LES SQUELETTES ET LES FICHIERS GÉNÉRÉS À PARTIR DE CES SQUELETTES........5ISPPROF POUR LES FICHIERS CONTENANT DES DONNÉES PROPRES À CHAQUE UTILISATEUR (USER TSO). . .5EXEMPLE DE DIALOGUE......................................................................................................................... 5DÉFINITION ET STRUCTURE DUN PANEL...................................................................................................5)ATTR - DÉFINIT DES ATTRIBUTS.................................................................................................................5)BODY - DÉFINIT LE FORMAT DE LÉCRAN...................................................................................................5)MODEL - AFFICHE UNE TABLE ISPF (RÉSERVÉ AUX TABLES).....................................................................5)INIT - INITIALISE DES VARIABLES (OPTIONNEL)...........................................................................................6)PROC - CONTRÔLE DES VARIABLES (OPTIONNEL).......................................................................................6)END - TERMINE UN PANEL.........................................................................................................................6VARIABLES ET POOLS DES VARIABLES.......................................................................................................6APPLICATION PROFILE POOL (POOL DU PROFIL DE LAPPLICATION)................................................................6SHARED POOL (POOL PARTAGÉ)...................................................................................................................6FUNCTION POOL (POOL DES FONCTIONS)......................................................................................................6VARIABLES DU SYSTÈME..............................................................................................................................6SERVICES ISPF............................................................................................................................................ 7MISE EN OEUVRE DE PANELS........................................................................................................................7UTILISATION DUNE TABLE............................................................................................................................7SQUELETTE................................................................................................................................................. 8COMMANDES...............................................................................................................................................8INITIALISATION DUNE SESSION.....................................................................................................................8TERMINAISON DUNE SESSION TSO...............................................................................................................8GESTION DU FICHIER DES SQUELETTES.........................................................................................................8 1
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOSession TSO PrincipeGrâce à TSO, lutilisateur peut travailler, seul, avec lordinateur. Pour cela, il doit initialiser TSO. Cela se faitsimplement en faisant une demande de travail.TSO (Time Sharing Option) permet de partager des ressources machines simultanément et enconversationnel entre plusieurs utilisateurs. On parle de temps partagé.Comme les temps de réponse de lordinateur sont beaucoup plus rapides que ceux de lutilisateur, celui-ci alimpression dêtre seul.Lutilisateur doit : • initialiser une session TSO, • exécuter des fonctions de TSO, • terminer une sessions TSO. Gestion des fichiersSoit un fichier.Le nom de ce fichier sur le disque dur sappelle " nom physique ".Le nom de ce fichier dans le programme sappelle " nom logique ".TSO travaille avec le nom logique.TSO permet : • la création dun fichier • La commande ALLOC permet de créer le lien entre le nom logique et le nom physique. • La syntaxe est : ALLOC F(nom_logique) DA(nom_physique) options • la concaténation de fichiers • La concaténation consiste en la création dun lien entre un nom logique et plusieurs noms physiques. • lallocation de fichiers • La commande NEW permet lallocation dun fichier. Cette ération correspond en réalité à la création du fichier physique. • Il faut alors indiquer certaines options : • loption SHR indique que le fichier est en lecture seulement, et laccès peut être en partagé. • loption OLD indique que le fichier est en mise à jour, et laccès et réservé en demandeur. Une bibliothèque (ou fichier partitionné) est constitué dun répertoire et dun membre qui sont des fichiers séquentiels. Le répertoire contient la liste (triée en ordre croissant) des noms des membres. • Attention : ne pas oublier de libérer le fichier à la fin de la mise à jour. • la libération de fichier Mise en oeuvre de programmesLa commande CALL permet de mettre en oeuvre un programme.Cette opération passe par plusieurs étapes : • Recherche du programme dans un bibliothèque • dans les bibliothèques de programmes exécutables, définies en appel automatique, lors de la commande LOGON • dans la bibliothèque spécifiée dans la commande CALL • Chargement du programme en mémoire (du disque vers la mémoire) • Exécution du programme sous TSO (considéré comme un sous-programme de TSO) • Déchargement du programme (libération de la mémoire)La syntaxe est : CALL nom_bibliothèque (nomprogramme) paramètresLes paramètres permettent de donner des informations variables et courtes au sous-programme.Présentation dISPF 2
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOApport dISPFMVS est le système dexploitation de lordinateur.TSO fonctionne sous MVS.ISPF (Interactive System Productivity Facility) fonctionne sous TSO.ISPF met à la disposition de lutilisateur : • des fonctionnalités ISPF permet : • de simplifier lutilisateur de TSO à lutilisateur • denchaîner des écrans (-> notion de dialogue) • doffrir des outils standards : éditeur, utilitaires • de construire son propre dialogue • des fonctions : • HELP La commande HELP permet dappeler une aide (ou tutorial). Elle explique : • les options possibles • le contenu des zones à renseigner • SPLIT La commande SPLIT permet de découper lécran " physique " en deux écrans " logiques ". Chacun des écrans logiques est alors considéré comme un terminal. • PFK Le principe est simple : • le panel saffiche avec des " cases " à remplir (nom du programme, ...) • lutilisateur remplit ces cases • une liste de commandes TSO (ALLOC, CALL, FREE) sont générées automatiquement Editeur Fonctions de défilement (scrolling) du fichier à lécranEn général, la taille du fichier dépasse la taille de lécran. On utilise donc la notion de scrolling pour pouvoirvisualier le fichier page par page.Touche DescriptionPF 7 (UP) Monte dune pagePF 8 (DOWN) Descend dune pagePF10 (LEFT) Va à gauchePF11 (RIGHT) Va à droite Commandes primairesElles agissent sur lensemble ou sur une partie du fichier.Au niveau du champs " COMMAND INPUT ", entrer :Commande Fonction DescriptionFIND Rechercher une chaîne de caractères La syntaxe est : F chaîne (à condition que la chaîne ne contienne ni espace ni ) ou F chaîne ou F chaîne ALL pour agir sur toutes les occurences.CHANGE Remplacer une chaîne de caractères par La syntaxe est : C chaîne1 chaîne2 (à condition que la chaîne ne une autre. contienne ni espace ni ) ou C chaîne1 chaîne2 ou C chaîne1 chaîne2 ALL pour agir sur toutes les occurences).COPY Copier une chaîne de caractères. La commande COPY permet dinsérer des données stockées dans un autre fichier et de les insérer à lendroit indique par la commande ligne B (Before) ou A (After). La syntaxe est : COPY nom_membre si le membre appartient au même fichier partitionné, COPY sinon, et répondre aux questions posées par ISPF.CREATE Crée un fichier. La commande CREATE permet de créer un nouveau fichier séquentiel ou un nouveau membre dun fichier partitionné. Les commandes lignes C ou CC (Copy) et M ou MM (Move) permettent dindiquer les lignes à partir desquelles le nouveau fichier doit être créé. La syntaxe est : CREATE nom_membre pour créer le membre dans le même fichier partitionné, CREATE sinon, et répondre aux questions posées par ISPFSUBMIT Soumet un job. La commande SUBMIT permet de soumettre des jobs (texte JCL, Job Control Language) en traitement batch. 3
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOSAVE Sauvegarde. La commande SAVE permet de sauvegarder le contenu de lécran. Un conseil : utilisez souvent cette commande, afin de prévenir toute coupure de courant, ... sous risque de perdre les modifications.FREE Libère un fichier. Plus précisément, elle permet de libérer : • soit un nom logique de la liaison qui le lie à un ou plusieurs noms physiques • soit un nom physique de la liaison qui le lie à tous les noms logiques qui lui sont attachés. La syntaxe est : "FREE DA(nom_physique)" ou "ou FREE F(nom_logique)"CANCEL Abandonne. La commande CANCEL permet au contraire dabandonner les modifications effectuées. Types décransOn distingue : • les écrans standards : • léditeur pour éditer des fichiers • les utilitaires pour imprimer, supprimer des fichiers, ... • les écrans spécifiques à chaque site Commandes ligneCommande Fonction DescriptionI Insertion. La commande I (Insert) insère une nouvelle ligne après la ligne o• la commande est tapée. In insère n lignes.D Suppression. La commande D (Delete) supprime la ligne désignée. Dn supprime n lignes. DD/DD supprimer un groupe de lignes.C Copie. La commande C (Copy) copie une ligne. Cn copie n lignes. CC/CC copie un groupe de lignes. A (After) indique que les lignes seront copiées après la ligne désignée. B (Before) indique que les lignes seront copiées avant la ligne désignée.M Déplacement. La commande M (Move) déplace une ligne. Mn déplace n lignes. MM/MM déplace un groupe de lignes. Les paramètres A (After) et B (Before) sont aussi valides.R Répétition. La commande R (Repeat) répète une ligne une fois. Rn répère une ligne n fois. RR/RR répète un groupe de lignes une fois. RRn/RR répète un groupe de lignes n fois. Poste de développementLe poste de développement permet de créer un dialogue spécifique à un site informatique.Un dialogue peut être créé de plusieurs manières.En général, on créée un panel primaire (qui joue le rôle de menu principal). Suivant le choix effectué,lutilisateur appelle une fonction de dialogue (programme ou CLIST) afin dexécuter un traitement oudafficher un panel secondaire (qui joue le rôle de menu secondaire).La touche PF4 (touche " RETURN ") permet de retourner progressivement au menu principal.En cas derreur de saisie dans un panel, un message derreur (standard ou propre au site informatique) estcréé. En plus, une aide est disponible pour plus de précisions. Structure physique dun dialogue IPSTARTLa commande IPSTART permet de démarrer une application dISPF sous TSO.Elle permet de démarrer une application dISPF sous TSO, et plus précisemment de : • afficher un menu • exécuter une CLIST • exécuter un programme • et ainsi de commencer le dialogue.Cette commande est souvent incluse dans la procédure de LOGON. Mais elle peut aussi être appelée àpartir dune CLIST. SELECTLe service SELECT permet de définir un niveau hiérarchique dans le dialogue.Il permet de définir un niveau hiérarchique dans le dialogue, cest-à-dire de : • définir un nouveau niveau hiérarchique de lapplication • afficher des menus ou exécuter des fonctions de dialogueAinsi, SELECT mémorise les liens qui relient les panels et les fonctions entre eux, cest-à-dire toute lastructure logique du dialogue. 4
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSORemarque : un CALL nest pas considéré comme un changement de niveau hiérarchique. Le serviceSELECT nest donc pas demandé. Même chose pour lafficher dun panel par la commande DISPLAY.Les variables de dialogue sont les variables qui contiennent les données saisies dans les panels. Ainsi, desdonnées peuvent être partagées par plusieurs panels. Bibliothèques dISPFOn distingue les bibliothèques suivantes : ISPPLIB pour les panelsUn panel effectue les opérations suivantes : • initialisation des variables utilisées avant la saisie • contrôle des valeurs saisies • envoi de messages en cas derreur • appel daide SYSPROC et ISPLLIB pour les fonctions de dialogueOn y trouve les modules exécutables des programmes utilisés par ISPF et les CLIST TSO utilisées par lesapplications. ISPMLIB pour les messagesChaque message comprend un libellé court et un libellé long pour indiquer la nature de lerreur. ISPTLIB et ISPTABL pour les tables ISPFLes tables ISPF contiennent les différentes valeurs des différentes variables.La lecture est faite par les programmes, les CLISTs ou par les squelettes dans le ISPTLIB.Lors des MAJ (Mise A Jour), elles sont sauvegardées dans le fichier ISPTABLE. ISPSLIB et ISPFILE pour les squelettes et les fichiers générés à partir de ces squelettesUn squelette est un fichier dont la structure est paramétréepar des variables de dialogue. Ils jouent donc lerôle de modèles. Les fichiers générés sont stockés dans ISPFILE. ISPPROF pour les fichiers contenant des données propres à chaque utilisateur (USER TSO)On trouve ici les données qui doivent être conservées dune sessions à lautre (valeur des touches defonction, ...). Elles sont lues en début de session et écrites en fin de sessions.Exemple de dialogue Définition et structure dun panel • affichage de la table (format et contenu de lécran à afficher) • contenu de la table ISPF (table des programmes utilisée) • structure du panel (structure du panel utilisé)Cet exemple affiche donc à lécran une table ISPF dont chaque poste contient le nom dun programme suivides renseignements le concernant.Un panel est constitué de : )ATTR - Définit des attributsOn définit ici des caractères spéciaux qui caractériseront certains champs : • Le caractère spécial _141_$_ définit le champs. • en sortie (OUTPUT), donc non modifiable • en simple brillance (LOW INTENSITY) • Le caractère spécial _142_!_ définit le champs. • en entrée (INPUT) • double brillance (HIGH INTENSITY) • Les attributs par défaut sont : Lattribut % correspond à un texte en double brillance. Lattribut + correspond à un texte en simple brillance. Lattribut _ correspond à une entrée en simple brillance. • "texte" est ici un texte à afficher, cest-à-dire une constante. )BODY - Définit le format de lécranCest le corps du panel, le dessin de lécran. )MODEL - Affiche une table ISPF (réservé aux tables) 5
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOCette section permet dafficher les variables dune table ISPF, pour chaque poste de cette table. Il fautspécifier chaque variable à afficher. )INIT - Initialise des variables (optionnel)Les opérations indiquées dans la section INIT sont exécutées avant laffichage (initialisation des variables,définition des appels daide).Les opérations indiquées dans la section PROC sont exécutées après laffichage et la saisie (contrôle desdonnées, envoi de messages derreur, définition des appels daide).Même chose que pour PROC. )PROC - Contrôle des variables (optionnel)Les opérations indiquées dans la section INIT sont exécutées avant laffichage (initialisation des variables,définition des appels daide).Les opérations indiquées dans la section PROC sont exécutées après laffichage et la saisie (contrôle desdonnées, envoi de messages derreur, définition des appels daide).Une variable est précédée de &.Exemple :NOM est constante, tandis que &NOM est une variable. • +.ZVARS=(ZSCML LGPGM) fait la correspondance entre les Z utilisés dans les sections BODY et MODEL et ceux de la liste des variables ZSCML et LGPGM. • ARS est utilisé quand la longueur du nom de la variable est supérieure à la longueur du champ à afficher ou à saisir. • ZSCML=PAGE initialise la variable à PAGE. • HELP=TUTOR1 appelle laide (tutorial) TUTOR1 quand lutilisateur exécute la commande HELP.De plus : • la commande VER permet de vérifier le contenu des variables • la commande IF permet lutilisation de conditions dans les contrôles • la commande TRUNC permet de tronquer des variables • la commabde TRAIL permet de décomposer des variablesExemple : De &VAR=12345, on peut obtenir &VAR=123 et =REST=45.- la commande TRANS translate les valeurs dans une même zoneExemple : Si &REP=O après une saisie, alors après TRANS, &REP=OUI.Même chose que pour INIT. )END - Termine un panelCela permet de terminer un panel. Variables et pools des variablesIl est aussi constitué de variables de dialogue.Les variables de dialogue permettent de transmettre des informations tout au long dun dialogue. Application Profile Pool (pool du profil de lapplication)On définit ici les variables présentes à chaque session de TSO (donc propres à chaque utilisateur). Elle estdisponible dès le début de la session. Shared Pool (pool partagé)On définit ici les variables utilisées au cours dune application (donc propres à chaque session). Elle estdisponible dès le début de lapplication, mais sont perdues lors du lancement dune autre session. Function Pool (pool des fonctions)On définit ici les variables utilisées par une fonction de dialogue : • variable explicite : Cest une variable définie par le service VDEFINE. • variable implicite : Cest une variable définie dans un panel (sans lutilisation de VDEFINE). Variables du systèmeLes variables dont le nom commence par un Z sont des variables du systèmes.Exemple : ZCMD et ZSCML.Variable DescriptionZD Caractérise le scrolling. Dans le panel, elle est initialisée à PAGE. Lutilisateur peut lui affecter par CRS, HALF, ...ZCMD Transmet des commandes. Elle définit, en entrée, le champ des commandes.ZSEL Permet de sélectionner des écrans ou des fonctions de dialogue de niveau hiérarchique inférieur.ZCEL Fait appel au service SELECT.ZDATE Affiche la date.ZTIME Affiche lheure. 6
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOZUSER Affiche lidentité de lutilisateur TSO. Services ISPFService offer DescriptionVDEFINE Définit une variable explicite.VCOPY Retourne la valeur dune variable implicite dans un programme.VREPLACE Modifie la valeur dune variable.VDELETE Supprime une variable. Mise en oeuvre de panelsSERVICE SELECTLe SERVICE SELECT définit un nouveau niveau hiérarchique, et laffichage dun écran à partir dunefonction de dialogue ou un menu.Il peut être utilisé : • dans une liste de commandes TSO: ISPEXEC SELECT PANEL (nom_panel) • dans un panelUtiliser une interface entre TSO et le langage. • dans la commande ISPSTART : ISPSTART PANEL (nom_panel) dans une CLIST • par lintermédiaire de la variable ZSEL (dans une procédure de contrôle dun menu) : ZSEL=PANEL (nom_panel) . Cette variable agit alors comme le service SELECT.SERVICE DISPLAYIl affiche un écran à partir dune fonction de dialogue.Il peut être utilisé dans une CLIST : ISPEXEC DISPLAY PANEL (nom_panel)Pour renvoyer simultanément un message et un panel : ISPEXEC DISPLAY PANEL (nom_panel) MSG(nom_msg) Utilisation dune tableUne table peut être traitée : • au niveau dune _27_table entière_ : - ouverture • fermeture • création • suppression • au niveau dun poste de la table : • mise à jour • création • suppressionLe service TBCREATE permet de créer une table du type " liste des programmes dune application ". Plusprécisemment, il permet de : • nommer la table • donner la liste des variables. Elles sont utilisées uniquement comme arguments de recherche, et pas comme critères de tri. • définir (éventuellement) les champs-clés • déclarer la table permanente ou temporaireService DescriptionTBOPEN Lecture dune table permanente (déjà existante).TBCLOSE Fermeture et sauvegarde en table.TBERASE Supprerssion dune table entière du fichier ISPTABL.ISPF utilise un pointeur (numéro de rang dans la table) vers le rang à modifier, supprimer ou à créer,nommé CRP.Service DescriptionTBWUERY Retourne la valeur du CRP.TBTOP Fait pointer le CRP en début de table.TBBOTTOM Fait pointer le CRP en fin de table.TBSKIP Fait avancer ou reculer dun certain nombre de positions.TBADD Ajoute un rang dans la table, immédiatement après le CRP. 7
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOTBMOD Met à jour un poste : • pour une table avec clé : la modification a lieu en fonction du champ-clé utilisé comme argument de recherche. Si le rang est trouvé, il y a MAJ. Sinon, TBMOD est équivalent à TBADD. • pour une table sans clé : TBMOD est équivalent à TBADD.TBPUT Met à jour un rang : • pour une table avec clé : si le champ-clé est égal à celui spécifié dans la commande, alors le CRP est modifié. Sinon, TBPUT nest pas exécuté. • pour une table sans clé : le CRP est modifié.TBGET Cherche un rang : • pour une table avec clé : le champ-clé est utilisé comme argument de recherche. • pour une table sans clé : le rang pointé par le CRP est recherché.TBDELETE Supprime un rang : • pour une table avec clé : le champ-clé est utilisé comme argument de recherche. • pour une table sans clé : le rang pointé par le CRP est supprimé. SqueletteLe squelette génère des fichiers grâce à sa structure paramétrée.Il existe deux types de lignes : • les lignes qui génèrent les enregistrements en sortie • les lignes qui contrôlent la génération des enregistrements par des ordresNous allons étudier ici le deuxième cas.Les ordres commencent par le caractères ). CommandesCommande Description)SEL expression_relation Si la relation est vérifiée, alors les enregistrements situés entre )(enregistrement_à_générer) )ENDSEL SEL et )ENDSEL sont générés.)DOT nom_table (enregistrement_à_générer) Génère les enregistrements indiqués pour chaque poste de la)ENDDOT table.)SET variable=expression Affecte une valeur à une variable de dialogue.)TB valeur1 valeur2 ... valeur8 Tabule la ligne à générer.)IM nom_squelette Appelle un squelette (de la même manière quun appel à un sous- programme).)CM commentaire Permet dintroduire un commentaire. Initialisation dune session • lutilisateur rentre au clavier LOGON • lutilisateur doit sidentifier • TSO alloue un espace-adresse (ou zone de travail) • TSO alloue des fichiers (nécessaires à TSO + dautres indiqués par lutilisateur)Grâce à TSO, lutilisateur peut : • utiliser de la mémoire • allouer des fichiers • libérer des fichiers • exécuter des programmes • mettre en oeuvre datres logiciels (ISPF, ...)Cest à lutilisateur de décider dallouer de nouveaux fichiers et de libérer ceux qui ne sont plus nécessaires.Cependant, il peut parfois arriver quil doive taper des séquences dinstructions répétitives.Pour éviter cela, il peut utiliser les CLIST (listes de commandes). Terminaison dune session TSO • lutilisateur rentre au clavier LOGOFF • TSO désalloue lespace-adresse • TSO désalloue les fichiers Gestion du fichier des squelettesPour pouvoir générer des fichiers en sortie, le fichier des squelettes doit être ouvert.Le service FTOPEN ouvrer le fichier des squelettes.Le service FTINCL appelle le squelette. 8
  • Bruno Delb http://www.brunodelb.com Date : 11/04/1997 Mainframe TSOLe service FTCLOSE ferme le fichier des squelettes.)TB 8 20 40LISTE !DES ! PROGRAMMES.LISTE commence en colonne 8.DES commence en colonne 20.PROGRAMMES commence en colonne 4. 9