par Vincent Taquin
Les commandes définies par l'utilisateur permettent d'optimiser
l'éditeur de fichiers sources de l'AS/400L'utilitaire d'édition de sources de l'AS/400 (SEU : Source Entry Utility) n'est peut être pas le meilleur éditeur au monde, mais pour la plupart d'entre nous, c'est le seul disponible. Heureusement, depuis la V4R2, il est possible de personnaliser cet utilitaire en ajoutant des commandes à celles déjà fournies par SEU. Dans le présent article, j'explique comment créer des commandes définies par l'utilisateur pour SEU, et fournis plusieurs exemples de ces commandes. Les exemples fournis permettent d' :
· appliquer une couleur (bleu, rose, rouge, turquoise, blanc, ou jaune) à une ligne ou un bloc de lignes dans un membre source
· effacer n caractères à droite ou à gauche d'un bloc de lignes
· scinder le Facteur 2 étendu d'une ligne de calcul RPG ILE ou de scinder une ligne de commentaires
En plus d'apporter de nouvelles fonctionnalités à SEU, ces commandes donnent l'occasion de travailler avec les espaces utilisateur, les pointeurs, les programmes de service et les variables exportées.
Personnalisez SEU !
Pour créer une commande SEU personnalisée, on commence par écrire un programme d’exit qui effectue la fonction désirée. Ensuite, on indique à SEU où trouver ledit programme. Plus tard, lorsque SEU rencontre une commande inconnue, ou lorsque l’utilisateur appuie sur la touche F7 ou F8 (touches réservées aux commandes définies par l’utilisateur), il appelle le programme d’exit.
Avant de céder le contrôle à un programme, SEU crée un espace utilisateur dans la bibliothèque QTEMP (appelé QSUSPC). Cet espace contient un bloc d’informations pour les données en entrée, un bloc pour les informations en sortie générées par le programme d’exit, et un bloc contenant les lignes de code source indiquées par les commandes définies par l’utilisateur. SEU passe un pointeur vers chacun de ces trois blocs au programme d’exit.
Mon programme d’exit est constitué de cinq modules. Le module principal, SEU001, reçoit les pointeurs vers l’espace utilisateur de SEU, et les sauvegarde dans une variable globale que partagent tous les modules. SEU001 exécute ensuite une routine de validation pour vérifier plusieurs conditions que je décrirai ultérieurement. Lorsqu’une erreur est détectée, SEU001 envoie un message et s’arrête. Dans le cas contraire, il appelle la procédure Action du programme de service SEU002 pour effectuer l’action requise.Le programme de service SEU002 exécute l’action globale. Il vérifie chaque ligne de commande et exécute les fonctions color et blanks. Le module SEU007 valide les touches F7 et exécute les actions correspondantes, scindant un Facteur 2 étendu ou une ligne de commentaires. Le module SEU008 est un canevas de programme que l’on pourra utiliser comme point de départ pour lier ses propres actions à la touche F8. Le module restant, SEU003, contient des utilitaires permettant d’augmenter la taille de l’espace utilisateur. On peut télécharger le code correspondant aux programmes mis en oeuvre dans cet article depuis notre site Web.
Lorsque l’utilisateur souhaite utiliser l’une des fonctions de mon programme d’exit, il saisit une commande simple. Pour ajouter de la couleur à une ligne de texte, ils saisissent COn dans les premières colonnes de la ligne, où n est à remplacer par « B » pour bleu, « P » pour rose (pink) et ainsi de suite pour les couleurs rouge (red), turquoise (turquoise), blanc (white), ou jaune (yellow). (Pour ajouter de la couleur à un bloc de lignes, l’utilisateur entre COnn (par exemple, COBB pour bleu) dans les premières colonnes des lignes constituant le début et la fin du bloc).
Pour remplacer les caractères situés à gauche ou à droite d’un bloc de texte par des espaces, l’utilisateur doivent délimiter le bloc avec les instructions TTLn ou TTRn respectivement, où n indique le nombre de caractères d’espacement. L’instruction TTL5 par exemple, au début d’une ligne, remplace les caractères des colonnes 1 à 5 de cette ligne par des espaces. Ajoutez une instruction TTL5 correspondante au début de la ligne située 10 lignes plus bas, et les colonnes 1 à 5 seront effacées sur les 11 lignes comprises entre les deux commandes TTL5, les deux lignes contenant les instructions TTL5 incluses. De la même manière, taper TTRn au début d’une ligne remplace n caractères de cette ligne par des espaces, en commençant par la dernière colonne et en se déplaçant vers la gauche. Ainsi, TTR20 pourrait supprimer les colonnes 81 à 100 d’un fichier source RPGLE. On peut délimiter un bloc au moyen d’une instruction TTRn correspondante en vue de supprimer n caractères à la fin de chaque ligne du bloc.
Pour scinder une ligne de commentaires ou un Facteur 2 étendu, les utilisateurs placent le curseur à l’endroit où ils souhaitent scinder la ligne et ils appuient sur la touche F7.
Téléchargez cette ressource
Travail à distance – Guide complet pour les Directions IT et Métiers
Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.