Plus de 99,9 % de mes appels de programmes
sont non qualifiés, comptant
sur la liste de bibliothèques. Mais, dans
quelques rares cas, je veux savoir d'où
le programme est appelé.
Supposons, par exemple, que j'ai
différents environnements, chacun
avec sa propre bibliothèque « données
+ programmes spéciaux » et
Identifier l’origine d’un programme CL appelé.
certaines
bibliothèques de programmes communes.
La sélection de l’environnement
devrait être faite par le programme
initial de votre profil
utilisateur (sur le paramètre INLPGM
sur l’objet profil utilisateur) ou sur le
paramètre INLGRPPGM de la commande
TFRGRPJOB 5Transfer to
Group Job). Je pourrais écrire un programme
individuel pour chaque environnement,
mais il est plus élégant
d’utiliser des copies identiques du programme
dans chaque bibliothèque
d’environnement puis de laisser le programme
ajouter la bibliothèque d’environnement
d’abord à la liste de bibliothèques.
Mais ensuite, comment savoir
à partir de quelle bibliothèque le
programme est appelé ? Voici une solution :
OVRPRTF FILE(QPPGMDMP)La première ligne effectue un remplacement
TOFILE(QSYS/QDARCDSP)
/* An OS/400 randomly chosen Display File
/*
DMPCLPGM
MONMSG MSGID(CPF0570)
/*Will always occur*/
RCVMSG MSGTYPE(*EXCP) RMV(*YES)
MSGDTA(&MSGDTA)
CHGVAR VAR(&RUNFROMLIB)
VALUE(%SST(&MSGDTA 11 10))
DLTOVR FILE(QPPGMDMP)
dans un fichier écran, qui
garantit que la deuxième ligne
échouera avec CPF0570. Si l’on exécute
la commande DSPMSGD
CPF0570, on verra que la bibliothèque
du programme CL courant fait partie
des données de messages. C’est ce qui
est extrait dans &RUNFROMLIB aux
lignes 9 et 10. La dernière ligne sert
simplement à s’assurer que l’on pourra
effectuer un DMPCLPGM réel ultérieurement.
Jan Jorgensen
Programmeur
Odense, Danemark
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La bataille de la 6G se gagne dans la donnée en temps réel
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
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
