|
La commande RunMnyCmd |
Cette commande, raison d'être de l'outil, permet d'exécuter une même commande sur tous les objets d'une liste, ou sur un sous-ensemble d'objets du même type, ou du même type et de même attribut.
Les paramètres de la commande sont les suivants :
|
Paramètre |
Type |
Texte |
Commentaire |
CMD |
*CMDSTR 500 |
Commande à exécuter |
Texte de la commande, en utilisant des valeurs conventionnelles prédéfinies pour les paramètres.
L'invite (F4) peut être utilisée dans la saisie de la commande pour bénéficier du choix des paramètres spécifiques à la commande.
La façon de spécifier les paramètres de la commande à exécuter est détaillée plus loin.
|
FILE |
*CHAR 10 |
Nom liste |
Nom du fichier liste d'objets à utiliser |
BIBLIO |
*NAME |
Nom bibliothèque |
Bibliothèque contenant le fichier liste d'objets.
Les valeurs spéciales *LIBL (valeur par défaut) et *CURLIB sont autorisées pour ce paramètre. |
MBR |
*NAME 10 |
Membre |
Permet de préciser le membre à utiliser si le fichier liste d'objets comporte plusieurs membres, et que l'on ne veut pas utiliser le premier membre défini (valeur *FIRST utilisée par défaut pour ce paramètre). |
TYPX |
*CHAR 8 |
Type d'objets |
Permet de ne sélectionner dans la liste que les objets du type indiqué.
Certaines commandes ne sont applicables qu'à des objets d'un type particulier.
L'abrégé du type figure dans le nom de la commande, et le paramètre TYPE n'est pas demandé.
Pour exécuter une telle commande sur un fichier d'objets, l'utilisation du paramètre TYPX permet de n'exécuter la commande que sur les objets correspondants. |
ATTRX |
*CHAR 10 |
Attribut |
Paramètre à utiliser en complément du paramètre précédent (TYPX).
Permet de ne sélectionner dans la liste que les objets correspondant à l'attribut sélectionné.
|
|
|
Définition de la commande à exécuter |
La commande spécifiée dans ce paramètre va être exécutée en boucle sur chacun des objets de la liste indiquée, ou sur chacun des objets du type (ou du type et de l'attribut) demandé.
Les noms d'objet, bibliothéque et le type sont donc variables d'un objet de la liste à l'autre.
Les paramètres à fournir vont être substitués pour l'exécution sur chaque objet sélectionné dans la liste.
les valeurs à placer dans la commande sont donc conventionnelles. Pour être substituées, les valeurs doivent impérativement être indiquées comme suit :
|
OBJET |
pour le nom de l'objet |
BIBLIO |
pour le nom de bibliothèque (si on veut substituer le nom de la bibliothèque associée à chaque objet) |
*PGM |
pour le type, et ce quelque soit le type effectif utilisé (le paramètre TYPE des commandes IBM est toujours contrôlé, et doit correspondre à un type valide). |
|
Toute valeur autre est placé en l'état dans chacune des commandes exécutées.
|
Exemples d'utilisation |
La commande suivante change le propriétaire de tous les objets contenus dans le premier membre de la liste d'objets MESOBJ contenu dans la bibliothèque MNYCMDLIB. |
RUNMNYCMD |
CMD(CHGOBJOWN OBJ(BIBLIO/OBJET) OBJTYPE(*PGM) NEWOWN(QPGMR)) |
|
FILE(MESOBJ) |
|
BIBLIO(MNYCMDLIB) |
|
MBR(*FIRST) |
|
Les paramètres mis en évidence vont, à l'exécution, être remplacés par les valeurs correspondantes pour chaque objet de la liste.
Ainsi, tous les objets de la liste, qu'ils soient ou non de type *PGM seront traités.
Dans l'exemple suivant, on veut que tous les objets de type *FILE, attribut PRTF, contenus dans la liste aient leur paramètre 'retenir l'impression' mis à la valeur *YES.
|
RUNMNYCMD |
CMD(CHGPRTF FILE(BIBLIO/OBJET) HOLD(*YES)) |
|
FILE(MESOBJ) |
|
BIBLIO(MNYCMDLIB) |
|
MBR(*FIRST) |
|
TYPX(*FILE) |
|
ATTRX(PRTF) |
|
Ici la commande CHGPRTF s'applique uniquement à des objets de type fichier, attribut PRTF. Ces paramètres ne sont donc pas prévus dans la commande.
Par contre, si la liste contient des objets d'autres types, il est inutile d'exécuter la commande sur ces objets.
Cela se traduirait par un echec dont on trouverait la trace dans la log d'exécution.
En spécifiant des valeurs pour les paramètres TYPX et ATTRX dans la commande, on évite que la commande à exécuter soit appelée pour les objets qui ne sont pas concernés.
|
|
© Thierry Seunevel (2004) |
www.seusoft.com |
|
|
|