Fonction de script : Cette fonction de script exécute avec l'aide d'objets job spécifiques (jobs d'événement) des commandes sur un ordinateur et fournit la sortie de console comme liste interne (séquence de données) qui peut être utilisée pour des traitements ultérieurs.
PREP_PROCESS(Host, EventJob, [Filtre], Action, [Séparateur de colonnes]..., [UC_LOGIN=Objet Login])
Syntaxe |
Description / format |
---|---|
Hôte |
Ordinateur (nom de l'agent) sur lequel l'événement est exécuté. |
Job événement |
Partie du nom du job événement devant être exécuté. |
Filtre |
Définit une condition de filtre pour le contenu de la ligne retournée (la casse des caractères n'est pas prise en compte). Format : littéral de script ou variable de script |
Action |
Attribue une valeur à une variable de script du job événement. Syntaxe spécifique : Variable=Attribution Variable : nom de la variable de script du job événement qui attribue la valeur, spécifiée sans le caractère &. Attribution :valeur de la variable de script. Action (commande, appel d'un programme ou activation d'un fichier) devant être exécutée dans le système cible ou toute autre valeur d'attribution (variables du dialogue des attributs). Une syntaxe spéciale est requise pour interroger le système de fichiers UNIX. |
Séparateur de colonnes
|
Il est également possible de spécifier que les lignes de la séquence de données doivent être divisées en colonnes. Utilisez le format suivant : COL=Définition1[, Définition2]. Définition1: Valeurs autorisées : "NONE" (valeur par défaut), "FILE", "LENGTH", "DELIMITER" "NONE" : aucune répartition en colonnes.
Definition2: Définit la taille et le nom des colonnes (facultatif) ou le caractère de séparation. Valeurs autorisées : "LENGTH_TAB" et "DELIMITER"
Notez que la séparation en colonnes ne fonctionne correctement que si les valeurs ne contiennent pas la chaîne de caractères réservée "§§§". |
UC_LOGIN |
Nom d'un objet Login. Notez que la fonction de script requiert des données de connexion. Le job événement correspondant doit contenir des informations de connexion valides si le paramètre UC_LOGIN n'est pas spécifié. |
Code retour |
---|
Référence de la séquence de données de la commande. |
La fonction de script PREP_PROCESS crée une séquence de données, résultat de :
Pour exécuter une commande de console BS2000 ou interroger le système de fichiers UNIX, les utilitaires AE (UCYEBXXZ ou UCXE???F) doivent être installés.
Les commandes de console ou du système d'exploitation s'exécutent à l'aide de jobs événements, qui sont démarrés en arrière-plan sur l'ordinateur de l'agent spécifié (Hôte). Les lignes de résultat de la commande sont disponibles sous la forme d'une liste interne (séquence de données) via le code retour de la fonction de script.
Les jobs événement sont nommés "EVENT.job événement". "EVENT." est le préfixe du nom du job. "Job événement" peut par contre être défini librement. La définition d'un job événement porte sur certains attributs et sur la structure générale du script.
Les jobs événement sont fournis dans le client système 0000. Ils peuvent être utilisés directement ou en tant que modèles dans d'autres clients. Le contenu des jobs événement peut être adapté suivant les besoins. Notez que vous devez modifier le déroulement du script dans EVENT.UNIXCMD si vous voulez éviter que le rapport soit supprimé si le code retour est supérieur à 0.
Les étapes internes suivantes sont exécutées pour le traitement de la séquence de données préparée par PREP_PROCESS :
Notez que le RunID est affiché en tant que chaîne de caractères convertie (voir RUNNR2ALPHA) et non sous la forme d'un nombre.
Par défaut, cette fonction de script lit une ligne complète. Vous pouvez également y accéder de manière structurée lorsque les lignes sont réparties en colonnes. Les règles suivantes s'appliquent :
GET_PROCESS_LINE permet d'accéder à chaque colonne.
La fonction de script renvoie une référence de la séquence de données. Cette référence est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. En combinaison avec la fonction de script GET_PROCESS_LINE, vous pouvez traiter chaque ligne de la séquence de données et les colonnes correspondantes.
Aucun message d'erreur n'est affiché si la séquence de données ne contient pas le contenu indiqué. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé.
Aucune nouvelle valeur ne peut être attribuée à la variable de script contenant la référence de la séquence de données. La variable ne peut être réutilisée que si vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS.
Cette instruction de script écrit toutes les transactions ouvertes du script dans la base de données AE.
Dans le premier exemple, une commande "/STA P" est exécutée sur l'ordinateur BS2000 "C70". L'ID et le compte nécessaires sont lus dans l'objet Login.
:SET &HND# = PREP_PROCESS("C70","BS2000CMD",,"CMD=/STA P","UC_LOGIN=ADMIN")
L'exemple suivant exécute une commande sur une console BS2000 qui affiche toutes les applications ouvertes. Aucun filtre n'est spécifié pour le contenu des lignes.
:SET &HND# = PREP_PROCESS("C70","BS2000UCON",,"CMD=/BCDISP DISP=O","UC_LOGIN=ADMIN")
Le troisième exemple récupère les répertoires d'un lecteur donné sur la machine Windows "WIN23".
:SET &HND# = PREP_PROCESS("WIN23","WINCMD","*DIR*","CMD=DIR C:","UC_LOGIN=ADMIN")
Le quatrième exemple lit le moniteur SAP "MON1" dans l'ensemble des moniteurs "AE". Il faut accéder à toutes les colonnes des données du moniteur définies dans le fichier. L'utilisateur et le client SAP sont lus dans l'objet Login indiqué.
:SET &HND# = PREP_PROCESS("T46","R3MONITOR","*","MONSET=AE","MONNAM=MON1","COL=FILE","UC_LOGIN=AEADMIN")
The following example runs a command on the UNIX agent "UNIX01" which returns information about connections with the port 2400.
:SET &HND# = PREP_PROCESS("UNIX01","UNIXCMD",,"CMD=netstat -an | grep 2400","UC_LOGIN=LOGIN.UNIX")
Rubriques connexes :
Elément de script | Description |
---|---|
Supprime une séquence de données inutile. |
|
Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat d'une commande. |
|
Récupère le contenu de la ligne courante d'une séquence de données. |
Eléments de script - Séquences de données
Généralités sur les scripts
Eléments de script - Liste alphabétique
Eléments de script - Répartition fonctionnelle