> Tech > La commande RclActGrp

La commande RclActGrp

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Si les programmes s'exécutent dans un groupe d'activation *New, le nettoyage n'est pas très préoccupant parce que le simple fait de sortir d'un groupe d'activation *New entraîne sa suppression et, par voie de conséquence, la désactivation de tous les programmes qui s'y exécutaient. Mais alors, comment nettoyer des programmes et

La commande RclActGrp

des programmes de service s’exécutant dans les groupes d’activation nommés
? Réponse : en utilisant la commande RclActGrp (Reclaim Activation Group).
RclActGrp, généralement émise depuis un programme CL, entraîne la suppression
d’un groupe d’activation. Cette suppression a pour effet de désactiver tous les
programmes et programmes de service s’exécutant dans ce groupe d’activation. Certains
considèrent la commande RclActGrp comme la version ILE de RclRsc.

Pour récupérer un groupe d’activation appelé A, on émettra la commande RclActGrp
suivante :

RclActGrp A

RclActGrp doit être passée depuis une ligne de commande ou depuis un programme
fonctionnant complètement à  l’extérieur du groupe d’activation à  récupérer. Pour
voir ce que j’entends par complètement à  l’extérieur du groupe d’activation, examinons
la figure 1.
On y voit PGMA (s’exécutant dans le groupe d’activation ACT1) appelé depuis la
ligne de commande (qui s’exécute dans le groupe d’activation par défaut). PGMA
appelle PGMB, qui s’exécute dans le groupe d’activation ACT2. PGMB appelle PGMC,
qui s’exécute dans ACT1. En règle générale, un programme peut récupérer un groupe
d’activation si ni lui-même ni aucun programme le précédant dans la pile d’appels,
n’est en train de s’exécuter dans ce groupe d’activation. (Notons qu’il n’est
pas possible de récupérer le groupe d’activation par défaut.)

· PGMA ne peut pas récupérer ACT1 parce que PGMA s’exécute dans ce groupe d’activation.
Mais PGMA peut récupérer ACT2 parce que ni lui-même ni aucun programme précédent
dans la pile d’appels ne s’exécute dans ACT2.
· PGMB ne peut pas récupérer ACT1 parce qu’un programme précédent dans la pile
d’appels (PGMA) s’exécute dans ACT1. PGMB ne peut pas récupérer ACT2 parce que
PGMB lui-même s’exécute dans ce groupe d’activation.
· PGMC ne peut pas récupérer ACT1 parce que PGMC et un programme précédent dans
la pile d’appels (PGMA) s’exécutent dans ACT1. PGMC ne peut pas récupérer ACT2
parce qu’un programme précédent dans la pile d’appels (PGMB) s’exécute dans ACT2.

On ne maîtrise pas les groupes d’activation existant dans un job

En général, la commande RclActGrp émane d’un programme driver CL s’exécutant dans
le groupe d’activation par défaut. Si l’on veut qu’un programme RPG ILE récupère
un groupe d’activation, on peut utiliser l’API QCMDEXC.
RclActGrp permet de définir la valeur spéciale *Eligible à  la place du nom d’un
groupe d’activation donné, mais il vaut mieux éviter cette méthode parce qu’elle
supprimera (ou récupèrera) tous les groupes d’activation éligibles. Contrairement
aux apparences, on ne maîtrise pas les groupes d’activation existant dans un job.
Rien n’empêche des programmes IBM de créer des groupes d’activation et d’y exécuter
du logiciel IBM. J’ai eu un jour la surprise de voir ma session interactive se
terminer de façon anormale parce que j’avais émis la commande RclActGrp *Eligible.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010