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
- Et si les clients n’avaient plus le choix ?
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Chiffrements symétrique vs asymétrique
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
Les plus consultés sur iTPro.fr
- De manager d’équipe à manager d’agents IA : le management change de dimension
- Travail hybride : pourquoi les salariés français restent les plus attachés au bureau en Europe
- Pourquoi la souveraineté des données relève du contrôle et non de la géographie
- L’incident OpenAI–Hugging Face n’est pas la révolution que vous imaginez
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
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
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- 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
