> Tech > Des fichiers de messages plus … frivoles

Des fichiers de messages plus … frivoles

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

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

Message file . . . . . . . . . . MSGF > TOOLMSG

Library . . . . . . . . . . . > ROBIN

First-level message text . . . . MSG 'ENDRQS WRKJOB
DSPMSG SNDMSG SIGNOFF DSPMSG DSCJOB CMDENT '



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

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis d'experts et témoignages clients et ainsi, retrouvez les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et collaboration, Impression et capture et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010