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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA de confiance : le facteur clé pour rentabiliser les projets d’entreprise
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Hôpitaux virtuels : renforcer le système de santé français grâce au numérique
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
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
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- 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
