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
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Activer la mise en veille prolongée dans Windows 10
- Et si les clients n’avaient plus le choix ?
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- L’incident OpenAI–Hugging Face n’est pas la révolution que vous imaginez
- Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
- Ransomware : les identités compromises à l’origine de 79% des attaques
- Deepfakes : la France dans le top 10 des pays les plus touchés par les fraudes
Articles les + lus
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 chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- 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 chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
