On peut remplacer les fichiers de messages, y compris les fichiers de messages système, pour en tirer d'intéressants avantages et permettre un peu de personnalisation. J'ai créé, par exemple, un fichier de messages TOOLMSG dans ma bibliothèque en utilisant la commande CRTMSGF (Create Message File) et écrit un programme qui
Des fichiers de messages plus … frivoles
fait ceci :
OVRMSGF MSGF(QCPFMSG) TOMSGF(ROBIN/TOOLMSG) SECURE(*YES) OVRMSGF MSGF(QUOMSGF) TOMSGF(ROBIN/TOOLMSG) SECURE(*YES)< CALL QCMD
Les remplacements des fichiers de messages fonctionnent davantage comme une liste de bibliothèques qu'un remplacement de base de données. Si le système peut trouver le message dans le fichier de messages TOOLMSG, il l'utilisera ; sinon, il émettra le message système standard.
Ecran de message CPX2313 : Message identifier . . . . . . . MSGID > CPX2313 |
A l'intérieur de TOOLMSG, j'ai de nombreux messages. Le plus utile d'entre eux (et probablement le seul qui soit utile) est CPX2313 (encadré ci-dessus). Ce message contient les commandes exécutées par le menu de requêtes du système. J'ai modifié le message CPX2313 afin qu'il effectue un WRKJOB plutôt qu'un DSPJOB sur l'option 3, et donc l'option 7 appellera une entrée de commande plutôt que d'afficher l'utilisateur de la station de travail.
Comme la position de début de chaque commande dans ce message est importante (parce que le système utilise une sous-chaîne pour extraire chaque commande), j'ai utilisé la commande MRG MSGF (Merge Message File) pour déplacer le message système dans mon fichier de messages plutôt que de le taper à partir de zéro. J'ai ensuite surfrappé mes modifications avec beaucoup de soins, afin de ne pas dépasser les points de départ de chaque commande. Une fois le message fusionné, il se trouve dans le fichier jusqu'à ce qu'on le supprime. En cas d'erreur, on peut toujours supprimer le message du fichier de messages et répéter le processus en utilisant MRGMSGF.
J'ai écrit la commande CMDENT qui transfère le contrôle à QCMD, qui accepte un paramètre de 10 caractères.
Voici quelques-uns des messages que j'ai ajoutés :
CPC2191 : Object &2/&1 type &3 a zappé dans ses molécules de composants. CPD0030 : La commande &3/&2 est partie dans l'hyperspace. Retaper correctement ou ajouter la bibliothèque à la liste de bibliothèques. CPD6A6 : Cette fois, Bernard, tu es allé trop loin. CPF0001 : J'me marre ! raté à nouveau. CPF1907 : La dernière requête au niveau &1 est en train de manger les pissenlits par la racine. CPF6801 : Quand bon vous semble. CPX2423 : Le texte de second niveau est l'en-tête d'entrée de commande. CPX2D03 : Le dernier il y en a encore. CPX6AB1 : Le dernier. CPX6AB2 : Il y en a encore. PDM0067 : Pitié ! PDM0099 : &1 je suis en train de compiler . . . . PDM0557 : En train d'examiner le membre &1 PDX0015 : Il y en a encore.. Le dernier
J'ai trouvé la plupart de ces messages en appuyant sur Help quand le message était affiché ou en regardant dans le fichier de messages de base et en procédant par essais successifs (trial-and-error). On utilise MRGMSGF pour transférer le message dans le fichier de messages, tout en conservant les informations variables, puis on tape par dessus le texte.
Dans la mesure où l'on ne modifie que les messages présents dans le fichier de messages, et pas ceux du système, les modifications n'affectent que les jobs qui ont été remplacés. Rappelons que le niveau d'appel ou le groupe d'activation peut affecter le remplacement (override).
Robin Coles, programmeur freelance
Ringbase Computing, Ltd.
Huddersfield, Angleterre
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Les 6 étapes vers un diagnostic réussi
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- 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
- Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
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
