Le terme « groupes d’activation » est peu évocateur, a une résonance technique, et est un peu intimidant ! IBM aurait peut-être dû parler de « troupeaux de programmes ». On aurait alors imaginé des programmes informatiques parcourant les plaines herbeuses, se regroupant pour survivre, vivant ensemble et mourant ensemble. Mais peut-être suis-je un peu trop amateur de westerns. Plus prosaïquement, dans cet article, j’explique ce que sont les groupes d’activation et leur mérite pour un programmeur RPG.
Groupes d’activation : premier aperçu
Au bon vieux temps, si l’on voulait écrire des programmes RPG modulaires, on appelait un autre programme. Celui-ci se terminait avec l’indicateur LR désactivé afin que les fichiers restent ouverts et que le programme reste en mémoire. Cela accélérait les appels suivants parce que le programme n’avait pas à réouvrir les fichiers ni à réinitialiser ses variables. Quand c’était terminé et qu’on ne voulait plus appeler à nouveau le programme, il fallait bien trouver le moyen d’y mettre fin. A cet effet, le RPG/400 avait le code opération FREE, qui désactivait un programme. Mais on l’utilisait peu parce qu’il ne fermait pas les fichiers ou qu’il ne déverrouillait pas les zones de données. Il se contentait de décharger le programme lui-même. Le contournement consistait à appeler le programme avec un paramètre spécial qui ordonnait au programme d’activer LR puis de se terminer normalement. Comme LR était activé, le programme fermait ses fichiers dans les règles quand il se terminait.
Certes, cela fonctionnait, mais à quel prix ! Il fallait suivre chaque programme appelé, pour pouvoir revenir et le fermer quand on avait fini. Et si ce programme n’était pas écrit en RPG c’était encore pire. Les autres langages ne connaissaient pas LR, donc vous ne pouviez pas le faire de la même manière. En fait, il n’était pas possible de laisser actifs certains langages avec leurs fichiers ouverts, quoi que l’on fît.
Il était donc incommode d’écrire des programmes modulaires. On essayait bien sûr de mettre le plus de fonctionnalités possible dans chaque programme, afin qu’il y ait le minimum de programmes à désactiver à la fin. Cela rendait ces programmes moins réutilisables et plus compliqués à appeler. On évitait souvent les appels de langages croisés parce qu’ils étaient incommodes. IBM a conçu ILE pour encourager la programmation modulaire et les appels de langages croisés. Les groupes d’activation constituent la solution.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Ready For IT 2026 : quand l’accélération de l’innovation redessine les priorités des décideurs IT
- Microsoft Build 2026 : industrialiser l’IA agentique dans les environnements d’entreprise
- IA et souveraineté des données : les entreprises françaises redéfinissent les infrastructures IT
- Temps d’arrêt IT : un coût de 600 milliards de dollars pour les entreprises du Global 2000
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
