Accueil du site > Les articles > Modif temporaire d’un environnement
Version à imprimer Enregistrer au format PDF

Modif temporaire d’un environnement

mercredi 11 août 2004, par Grégory Jarrige Visites  844 Première mise en ligne le vendredi 7 novembre 2003.

Problème : vous voulez que l’utilisateur puisse appeler un module utilisant ses propres fichiers et sa propre liste de bibliothèques sans que cela perturbe durablement son environnement de travail.

Ainsi, dès que l’utilisateur appelle votre module (au moyen d’un CALL ou d’une commande), il vout faut :

  1. sauvegarder la liste des bibliothèques courantes de l’utilisateur
  2. modifier la list des bibliothèques afin d’ajouter les bibliothèques de votre module
  3. remettre en place l’ancienne liste de bibliothèques dès que l’utilisateur sort de votre module

Comment faire ? Voici un exemple de CL illustrant la démarche :


 PGM
 DCL  VAR(&LSTLIB) TYPE(*CHAR) LEN(275)
 DCL  VAR(&CHGLIB) TYPE(*CHAR) LEN(300)

/* RÉCUPÉRATION LISTE DES BIB. EN COURS DANS &LSTLIB */
 RTVJOBA  USRLIBL(&LSTLIB)

/* AJOUT BIBLIOTHÈQUE DEVOBJ ET DEVFIC */
 ADDLIBLE  LIB(DEVOBJ) POSITION(*FIRST)
 MONMSG  MSGID(CPF0000)
 ADDLIBLE  LIB(DEVFIC) POSITION(*FIRST)
 MONMSG  MSGID(CPF0000)

/* APPEL DU MODULE SPECIFIQUE */
 CALL   PGM(PROG01) PARM(’5’ ’ ’)

/* RESTAURATION DE L’ANCIENNE LISTE DE BIBLIOTHÈQUES  */
FIN :
 CHGVAR  VAR(&CHGLIB) VALUE(’CHGLIBL (’ *CAT +
  &LSTLIB *CAT ’)’)
 CALL  PGM(*LIBL/QCMDEXC) PARM(&CHGLIB 300)
 ENDPGM