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
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Chiffrements symétrique vs asymétrique
- 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
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
Articles les + lus
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
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- 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
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
