> Tech > Identifier l’origine d’un programme CL appelé.

Identifier l’origine d’un programme CL appelé.

Tech - Par iTPro - Publié le 24 juin 2010
email

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)
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)
La première ligne effectue un remplacement
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 gratuitement cette ressource

Guide de Services Cloud Managés

Guide de Services Cloud Managés

Accélérer votre transformation digitale, protéger et sécuriser vos environnements Cloud avec les offres de support, d'accompagnement et de services managés. Découvrez le TOP 3 des Services Managés pour accompagner la transformation de vos environnements Cloud, gagner en agilité et en sécurité dans un monde d'incertitudes.

Tech - Par iTPro - Publié le 24 juin 2010