Le programme de service SEU002 (figure 3) valide les commandes entrées par l'utilisateur et effectue les actions dictées par deux d'entre elles : appliquer une couleur et remplacer des caractères par des espaces. Pour simplifier la distribution du code, les commandes valides sont décrites, non pas dans un fichier, mais
Le programme de service SEU002
dans un tableau généré lors de la compilation (N) et baptisé ironiquement, File (défini en A). Le tableau contient le code des instructions valides (COM), un code indiquant si la commande concerne une ligne ou un bloc de lignes (TYPE), un code indiquant si une extension numérique peut être ajoutée à la commande (LENG), et un code indiquant si l’utilisation de la commande est limitée aux sessions de mise à jour (UPDATE).
La procédure CheckCmd de SEU002 commence par utiliser la procédure RmvNum pour récupérer l’extension numérique de la commande, s’il en existe une et ensuite elle analyse le tableau (I). J’ai limité la valeur de l’extension numérique à 98 (J). Lorsqu’une valeur numérique n’est pas autorisée, la procédure vérifie si une valeur numérique existe (K). Par exemple, COn ou COnn peuvent colorer une ligne ou un bloc de lignes mais pas un nombre de lignes spécifié. La routine vérifie également si une opération de mise à jour a été demandée dans une session d’analyse (L).
La procédure Action de SEU002 commence par faire correspondre le nombre de lignes de sortie au nombre de lignes reçues moins une (C). (SEU ajoute une ligne aux lignes sauvegardées dans l’espace utilisateur). La procédure examine ensuite toutes les lignes. Elle détermine d’abord les différents blocs (D). Lorsqu’elle rencontre la première occurrence d’une commande, la procédure ouvre un bloc. Toutes les lignes suivantes n’affichant pas de commandes font partie de ce bloc. La deuxième occurrence d’une commande signifie la fin du bloc.
Si l’utilisateur a appuyé sur la touche F7 ou F8, le contrôle est passé à la procédure appropriée (E) du module SEU007 ou SEU008. Si l’utilisateur a saisi une commande commençant par « CO », SEU002 appelle la procédure Color, et lui passe une chaîne contenant le troisième caractère de la commande saisie par l’utilisateur (F). Ce troisième caractère doit être la première lettre de l’un des six choix de couleur possibles mentionnés précédemment. La procédure Color remplace le premier caractère d’espacement de la ligne par le caractère hexadécimal de contrôle pour la couleur choisie (M). Le chapitre 3 du manuel OS/400 DDS Reference V4R4 (SC41-5712), qui analyse le mot-clé DSPATR, énumère les couleurs possibles. Les valeurs hexadécimales des caractères de contrôle des couleurs sont énumérées en B.
Mes commandes TTLn substituent n espaces situés à gauche de chaque ligne d’un bloc de lignes et ma commande TTRn fait de même à droite d’un bloc. Comme nous l’avons vu précédemment, pour remplacer les caractères situés aux positions 1 à 5 d’un bloc de lignes sources RPG par des espaces, l’utilisateur tape la commande TTL5 en début et en fin de bloc. Pour supprimer les commentaires dans les colonnes 81 à 100 (les colonnes situées à l’extrême droite) d’un bloc source RPGLE, l’utilisateur doit taper TTR20 en début et en fin de bloc. Les sous-routines TTR et TTL traitent ces commandes. En H, les sous-routines prennent soin des enregistrements sources de longueur non standard.
Une fois la commande définie par l’utilisateur exécutée, SEU002 réinitialise la variable de la commande (G).
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
- Sekoia.io : l’alternative européenne qui s’impose dans la cybersécurité
- Redéfinir la confiance à l’ère de l’IA agentique : les entreprises sont-elles prêtes pour le SOC autonome ?
- IA Agentique : la vraie rupture c’est la gouvernance humaine
- Les défaillances des pipelines de données pèsent lourdement sur la performance des grandes entreprises
Articles les + lus
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
À la une de la chaîne Tech
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
