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
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Afficher les icônes cachées dans la barre de notification
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
