|
| |
| [Accueil] [Logiciels] [Assistance] [Documents] [Partenaires] [Contact] [Recherche] | © 1988-2004 Gilbert Saint-Flour |
L'utilitaire LLIBDEF rend les applications ISPF compatibles avec l'environnement LIBDEF ISPLLIB.
Certaines applications ISPF, qu'elles soient maison ou des progiciels tel que QMF ou OPC/A, ne peuvent pas être invoquées de manière complètement dynamique avec LIBDEF. Ces applications n'ont pas été conçues pour un environnement LIBDEF ISPLLIB et, lorsqu'elles tentent d'accéder à un module par LOAD, LINK, XCTL or ATTACH, elles rencontrent une condition de "module not found" que l'utilisateur reçoit sous la forme d'un abend S806 (806-04).
LLIBDEF évite ces abends S806-04 et permet à la plupart des applications ISPF d'être appelées dynamiquement par le service LIBDEF ISPLLIB. Dans certain cas, il est même possible d'invoquer deux versions différentes de la même application en même temps, dans deux écrans logiques différents.
Avec LLIBDEF en place, le programmeur-système qui a en charge l'installation de l'application ISPF peut enlever ses bibliothèques de load-modules des concaténations de STEPLIB ou ISPLLIB, ce qui par là même améliore les performances, et facilite à la fois les modifications et les tests ultérieurs nécéssités par la mise en place de nouvelles versions de l'application. LLIBDEF peut aussi remplacer de façon avantageuse certains produits couteux de type "Dynamic STEPLIB" qui sont parfois utilisés pour fournir des functions similaires.
La mise en oeuvre du programme LLIBDEF s'effectue en modifiant la procédure CLIST ou REXX normalement utilisée pour créer l'environnement LIBDEF, en y ajoutant une instruction d'appel de LLIBDEF avant l'appel au service SELECT d'ISPF qui démarre le dialogue. LLIBDEF ne nécessite aucun paramètre et peut être appelé comme un programme, une commande TSO, une fonction ou sub-routine REXX, ou au moyen du service SELECT d'ISPF.
La procédure REXX ci-dessous invoque l'application QMF via le service LIBDEF d'ISPF et l'utilitaire LLIBDEF.
ADDRESS TSO
"ALLOCATE DD(ADMGGMAP) DS('QMF.V3R1M1.DSQMAPE') SHR"
"ALLOCATE DD(ADMCFORM) DS('QMF.V3R1M1.DSQCHART') SHR"
"ALLOCATE DD(DSQPNLE) DS('QMF.V3R1M1.DSQPNLE') SHR"
"ALLOCATE DD(DSQDEBUG) SYSOUT(Z)"
"ALLOCATE DD(LIBTRACE) SYSOUT(Z)"
"ALTLIB APPL(EXEC) DA('QMF.V3R1M1.DSQEXECE')"
"CALL 'SYS2.LLIBDEF.AUTHLIB(LLIBDEF)' " /* Utilitaire LIBDEF ISPLLIB*/
ADDRESS ISPEXEC
"LIBDEF ISPPLIB DATASET ID('QMF.V3R1M1.DSQPLIBE')"
"LIBDEF ISPMLIB DATASET ID('QMF.V3R1M1.DSQMLIBE')"
"LIBDEF ISPSLIB DATASET ID('QMF.V3R1M1.DSQSLIBE')"
"LIBDEF ISPTLIB DATASET ID('QMF.V3R1M1.DSQTLIBE')"
"LIBDEF ISPLLIB DATASET ID('QMF.V3R1M1.DSQLOAD' 'DB2.V3R1M0.SDSNLOAD')"
"SELECT PGM(DSQQMFE) NEWAPPL(DSQE) PASSLIB"
LLIBDEF est disponible dans le Monde entier pour un prix modique.