PREP_PROCESS
La fonction de script PREP_PROCESS génère une séquence de données qui résulte des commandes SE de BS2000, UNIX, VMS et Windows, des commandes de console BS2000, des requêtes du système de fichiers UNIX, des moniteurs SAP, des journaux système SAP et des jobs SAP jobs. Elle utilise des jobs d'événements spécifiques pour traiter ces commandes sur un hôte défini et renvoie la sortie de console sous forme de liste interne utilisable pour un traitement ultérieur.
Syntaxe
PREP_PROCESS (Host, EventJob[, Filter], Action [, Column separation]...[, UC_LOGIN=Login object])
Syntaxe |
Description / format |
---|---|
Host |
Ordinateur (nom de l'agent) sur lequel le job événement est exécuté. |
EventJob |
Partie du nom du job événement devant être exécuté. |
Filter |
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=Affectation Variable : Nom de la variable de script du job événement qui doit recevoir une valeur. Elle est spécifiée sans le caractère &. Affectation : Valeur de la variable de script. C'est principalement une action, une commande, un appel de programme ou une activation de fichier devant être exécutée dans le système cible. Il peut également s'agir de tout autre type d'affectation de valeur. Pour plus d'informations, voir Modifier les attributs d'un objet. Important !
|
Column separation
|
Vous pouvez spécifier que les lignes de la séquence de données soient divisées en colonnes. Utilisez le format suivant : COL=Définition1[, Définition2]. Définition1: Valeurs autorisées : "NONE" (par défaut), "FILE", "LENGTH" ou "DELIMITER" "NONE" : les lignes ne sont pas divisées en colonnes Definition2: Définit la taille et le nom des colonnes (optionnel) ou le déllimiteur Valeurs autorisées : "LENGTH_TAB" et "DELIMITER"
Remarque : Le 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. Important ! La fonction de script requiert la spécification 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é. |
Le client 0000 inclut par défaut les jobs événement suivants dans le dossier PREP_PROCESS de la perspective Conception des processus : EVENT.BS2000CMD, EVENT.BS2000UCON, EVENT.NSK.CMD, EVENT.R3GETJOB, EVENT.R3MONITOR, EVENT.R3SYSLOG, EVENT.UNIXCMD, EVENT.UNIXFS, EVENT.VMSCMD et EVENT.WINCMD.
Vous pouvez les utiliser tels quels ou les adapter à vos propres jobs événement.Le nom de ces jobs événement est structuré de la manière suivante : "EVENT.EventJob". "EVENT." est la partie prédéterminée du nom du job. La partie "EventJob" peut être définie librement. La définition d'un job événement porte sur certains attributs et sur la structure générale du script.
Remarque pour EVENT.UNIXCMD : Vous devez modifier le déroulement du script dans si vous voulez éviter que le rapport soit supprimé si le code retour est > à 0.
Les étapes internes suivantes sont traitées pendant le traitement de la séquence de données préparée par PREP_PROCESS :
- Le job événement, spécifié avec le paramètre EventJob est activé (nom du job : EVENT.EventJob).
- Le job événement est exécuté sur l'hôte et effectue une action indiquée dans le paramètre Action. Il renvoie le résultat de l'action ligne par ligne dans une séquence de données.
- (Optionnel) Seules les lignes dont le contenu correspond au paramètre Filtre sont prises en compte.
- Vous pouvez spécifier n'importe quelle affectation de valeur dans le paramètre Action.
Pour les commandes de système d'exploitation sous BS2000, UNIX, VMS et Windows ainsi que pour les commandes de console BS2000, variable fournit principalement la valeur de la variable de script "&CMD". Mais vous pouvez aussi attribuer des valeurs aux variables de script disponibles dans le dialogue des attributs. Au démarrage du job d'événement, l'objet Include correspondant est traité dans le script et les valeurs fournies en interne (suivant l'événement job) sans que le dialogue des attributs ne soit affiché. - La séquence de données créée sur l'hôte est transférée à l'Automation Engine afin d'être traitée. Par défaut, le nom du fichier transféré de l'hôte à l'Automation Engine est "ERRRRRRR.TXT". Les caractères de remplacement suivants sont utilisés pour les parties variables :
- E : événement
- RRRRRRRR : RunID de la tâche
Le RunID est affiché en tant que chaîne de caractères convertie et non sous la forme d'un nombre. Pour plus d'informations, voir RUNNR2ALPHA.
Par défaut, cette fonction de script lit une ligne complète. Vous pouvez y accéder de manière structurée lorsque la ligne est divisée en colonnes. Dans ce cas, vous pouvez utiliser
- 22 colonnes maximum d'une longueur totale de 2 048 octets
- taille de colonne de 255 caractères maximum
- nom de colonne de 32 caractères maximum.
Utilisez GET_PROCESS_LINE pour accéder à des colonnes spécifiques.
PREP_PROCESS renvoie la référence à la séquence de données de la commande, sous forme de liste interne, une 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.
Remarques :
- 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 autre valeur ne peut être attribuée à la variable de script contenant la référence de la séquence de données. Vous devez supprimer la séquence de données existante via l'instruction de script :CLOSE_PROCESS, puis affecter une nouvelle valeur.
- PREP_PROCESS provoque l'écriture de toutes les transactions ouvertes dans la base de données AE. Pour plus d'informations, voir Traitement du script.
Exemples
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 illustre l'exécution d'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")
Voir aussi :