> Tech > Écrire des commandes sur l’IBM i

Écrire des commandes sur l’IBM i

Tech - Par Joseph Kennedy - Publié le 13 mars 2013
email

Créez vos propres commandes pour programmer plus efficacement.

Écrire des commandes sur l’IBM i

Depuis l’époque du System 38, la famille IBM i de serveurs a dominé les autres plates-formes en matière de lignes de commandes et de structure. Alors que les lignes de commandes UNIX et Linux requièrent la mémorisation de commutateurs comme –R pour recursive ou –l pour sortie en format long, nos bonnes vieilles commandes du System i peuvent être appelées avec tous les paramètres et valeurs spéciales disponibles. Mieux encore, elles signaleront si deux paramètres sont incompatibles et si un texte d’aide les accompagne. Le format à trois caractères (pour la plupart) des acronymes de commandes (tels que WRKJOB et CHGOBJAUT) les rend simples à comprendre et à mémoriser.

Mais les utilisateurs de System i ne sont pas limités aux commandes d’IBM ou d’autres fournisseurs. Ils peuvent créer les leurs. Sachez qu’il vaut bien mieux créer des commandes que créer simplement un programme à appeler. Et c’est très facile. Les appels de programmes directs sont sujets à erreur et les valeurs de variables peuvent se remplacer entre elles ; de plus, l’utilisateur doit se rappeler de l’ordre des paramètres et des valeurs valides.

Les commandes n’ont que des avantages : l’utilisateur connaît les paramètres, les valeurs spéciales de chacun d’eux, et surtout ne risque pas d’entrer des paramètres dangereux pour le programme. De plus, elles dispensent de connaître l’ordre des paramètres appelés. Ajoutez-leur un texte d’aide, et vos commandes n’auront rien à envier à celles d’IBM.

Les commandes permettent également un texte d’aide au niveau des paramètres. Ainsi, un programmeur utilisant Create Physical File (CRTPF) doit simplement actionner la touche F1 pour obtenir l’explication des paramètres Reuse Deleted Records (REUSEDLT) ou Coded Character Set ID (CCSID).

Songer aux commandes

Pourquoi créer une commande alors qu’un appel programme ou une option de menu ferait l’affaire ? Tout simplement parce que les commandes procurent souplesse et vitesse d’utilisation, particulièrement pour une tâche répétitive et fréquente. À titre d’exemple, BRMS a un système de menus complet pour gérer le produit, mais derrière beaucoup d’options des menus il y a une commande. Au stade de l’IBM i 6.1, BRMS a plus de 80 commandes. Vous ne voulez sûrement pas passer par trois options de menu juste pour voir une chose banale. Vous pouvez aussi créer vos propres commandes pour les applications. Je recommande d’écrire les commandes pour les applications d’abord, puis de les ajouter aux menus. Comme les commandes peuvent aussi servir dans des programmes CL, c’est un avantage par rapport à une application cantonnée à des options de menus.

Il est intéressant de créer une nouvelle commande dans les cas suivants :

• Un programme peut être utilisé comme outil générique (par exemple pour obtenir l’adresse IP d’une unité d’affichage).
• Vous voulez que la fonction soit facilement disponiblesur une ligne de commande et dans d’autres outils comme des options définies par l’utilisateur PDM.
• Un programme doit être appelé interactivement. Les commandes vous prémunissent contre des paramètres incorrects.
• Une fonction utilitaire System est écrite pour un programmeur, opérateur, ou utilisateur.
• Un programme a besoin de multiples combinaisons de paramètres.
• Des valeurs par défaut seront utilisées comme paramètres.
• Un programme ne doit tourner que dans certains environnements (interactif, batch, etc.)
• Des invites sélectives amélioreront l’usage du programme.
• Vous voulez qu’un profil avec des possibilités limitées effectue une fonction spécifique. Vous pouvez spécifier ALWMLTUSR(*YES) lors de la création de la commande.

Choisir les noms des commandes

IBM ne limite pas les noms de commandes et, de plus, sa convention est un excellent point de départ. Ainsi, un utilisateur de System i comprendra facilement que la commande CVTFRMPF convertit le format d’un fichier physique.

Bien entendu, vous n’êtes pas obligé d’utiliser les conventions d’IBM. Vous pouvez créer une commande ENABLE pour donner aux employés du help desk ou du service d’assistance, une commande qui valide les profils utilisateur. Mais, grâce à la convention de nommage IBM, les utilisateurs trouveront plus facilement votre commande.

Identifier les parties de la commande

La plupart des commandes ont des paramètres, mais ce n’est pas obligatoire. Une commande peut être simple, sans paramètres : comme Change Password (CHGPWD). Dans une commande, deux parties seulement sont obligatoires :
• Sa définition (c’est la commande définie dans le code source de commande).
• Son programme de traitement, ou CPP (command processing program), (le programme que la commande exécute). J’examinerai aussi quelques autres options de commande, y compris :
• Où une commande est autorisée à s’exécuter
• Les panneaux d’aide
• La bibliothèque de produits

Téléchargez gratuitement cette ressource

Observabilité 2.0 : 5 défis à relever

Observabilité 2.0 : 5 défis à relever

Microservices, containers, infrastructures cloud « software-defined »... ces innovations créent une complexité extrême à l’échelle du web et étendent considérablement le périmètre d’observabilité. Comment identifier et relever ces nouveaux défis ?

Tech - Par Joseph Kennedy - Publié le 13 mars 2013