Les commandes sont définies au moyen d’un code source de commande.
Écrire le format source des commandes
Le nom du fichier source habituel est QCMDSRC. Pour cet exemple, j’utilise le fichier source QCMDSRC dans la bibliothèque CMDLIB. Le type source pour le code source de commande CL est CMD.
L’exemple ci-après est le code source pour une nouvelle commande, DSPDEVIP (Display Device IP Address). Il est téléchargeable chez System i Network. La commande accepte un nom d’unité comme paramètre d’entrée. Le programme associé détermine ensuite l’adresse IP de l’unité, puis envoie un message à l’utilisateur indiquant l’adresse IP courante de l’unité.
CMD PROMPT(‘Display Device IP Address’)
PARM KWD(DEVD) TYPE(*NAME) LEN(10) PROMPT(‘Device +
description’)
Écrire le format source des commandes
À noter que le paramètre DEVD est du type *NAME, ce qui restreint l’entrée à des noms valides d’objets IBM i. Cela rejette un paramètre tel que *DSP024, qui n’est pas un nom d’unité valide. Quand un paramètre de commande demande en entrée un nom valide, utilisez le TYPE *NAME, *SNAME, ou *CNAME. Pour savoir lequel est approprié pour vous, voyez le texte d’aide (F1) de la commande PARM. N’utilisez pas le TYPE *CHAR quand un nom valide est demandé, sous peine de provoquer des erreurs de commande à l’exécution.
La commande s’exécuterait ainsi :
DSPDEVIP DEVD(DSP024)
Créez la commande en utilisant :
CRTCMD CMD(CMDLIB/DSPDEVIP) PGM(DSPDEVIP)
HLPPNLGRP(DSPDEVIP)
HLPID(DSPDEVIP) PRDLIB(CMDLIB)
Je créerai le texte d’aide ultérieurement, mais vous pouvez le spécifier dès à présent. L’activation de la commande se traduit par une invite à entrer une adresse IP d’unité.
La figure 2 (voir Club Abonné) contient le code source CL pour le Command Processing Program (CPP) DSPDEVIP. Les paramètres dans le CPP doivent respecter l’ordre des paramètres du code source de définition de commande. Le programme envoie un message à l’utilisateur indiquant l’adresse IP de l’unité. Et si nous voulons que l’adresse IP soit renvoyée dans une variable CL plutôt qu’affichée ? Nous pouvons créer une nouvelle commande et ajouter un paramètre pour renvoyer la valeur.
La figure 3 (voir Club Abonné) montre le code source de commande pour la commande RTVDEVIP (Retrieve Device IP). Le code pour la commande RTVDEVIP peut être téléchargé sur le site System i Network. Dans cette définition, j’ajoute le second paramètre pour l’adresse IP renvoyée. Le paramètre RTNVAL spécifie qu’une valeur sera renvoyée dans une variableCL. Ainsi, quand la commande RTVDEVIP sera utilisée dans un programme CL, le paramètre IPADDRESS sera un nom de variable qui reçoit l’adresse IP, comme dans :
RTVDEVIP DEVD(DSP01) IPADDRESS(&IPADDR)
La figure 4 (voir Club Abonné) montre le code source CL pour le programme RTVDEVIP. Pour créer la commande, utilisez ceci :
CRTCMD CMD(CMDLIB/RTVDEVIP) PGM(RTVDEVIP)
SRCFILE(CMDLIB/QCMDSRC) ALLOW(*IPGM
*BPGM)
Le paramètre ALLOW précise que cette commande ne peut être utilisée que dans un programme interactif (*IPGM) ou batch (*BPGM). Une variable de renvoi étant nécessaire, la commande ne peut pas être exécutée à partir d’une ligne de commandes.
La figure 5 (voir Club Abonné) montre l’invite de commande RTVDEVIP. À noter que l’invite de cette commande de manière interactive renverra le message, Command RTVDEVIP not allowed in this setting. (Commande RTVDEVIP non autorisée ici). Du fait que la commande renvoie la variable CL IPADDRESS, elle doit être utilisée à l’intérieur d’un programme. D’autres commandes d’extraction, comme RTVJOBA (Retrieve Job Attribute), ont les mêmes exigences.
Poursuivre votre lecture : Ajouter l’aide aux commandes · iTPro.fr
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
- IA dans les services financiers : priorité stratégique, mais passage à l’échelle sous tension
- Data streaming : le nouveau socle stratégique de l’IA en entreprise
- Ransomware en santé : la double extorsion fait exploser la facture en Europe
- Les fuites de données explosent en France, désormais pays le plus touché d’Europe
Articles les + lus
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
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- 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
- Computex 2026 : 5 signaux forts à retenir
