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

Percer le brouillard des rançongiciels
Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- L’IA et le Web ouvert : entre prédation et cohabitation, l’heure du choix
- Souveraineté numérique : après les mots, place aux actes
- La cybersécurité, c’est le rôle de tous !
- DORA : quels impacts après les six premiers mois de mise en conformité sur le terrain ?
- Cybersécurité : le secteur de la santé toujours au défi de la sécurité des e-mails
