Manuel des Scripts Automation Engine > Organisation fonctionnelle > Séquences de données > PREP_PROCESS

PREP_PROCESS

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.

Syntaxe

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é.
Format : littéral de script ou variable de script

Job événement

Partie du nom du job événement devant être exécuté.
Format : littéral de script ou variable de script

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
Valeur par défaut : "*"

Action

Attribue une valeur à une variable de script du job événement.
Format : littéral de script ou variable de script
Valeur par défaut : ""

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].
Format : littéral de script ou variable de script

Définition1:

Valeurs autorisées : "NONE" (valeur par défaut), "FILE", "LENGTH", "DELIMITER"

"NONE" : aucune répartition en colonnes.
"FILE" : la définition des colonnes est utilisée dans la première ligne du fichier que l'agent crée si des jobs d'événements démarrent qui exécutent l'élément JCL SAP R3_GET_MONITOR (R3MONITOR utilise le paramètre EventJob du job événement "EVENT.R3MONITOR" du client système modèle).
"LENGTH" : largeurs de colonnes prédéfinies. Nécessite LENGTH_TAB= pour Definition2.
"DELIMITER" : les colonnes sont séparées par un délimiteur. Nécessite DELIMITER= pour Definition2.

 

Definition2:

Définit la taille et le nom des colonnes (facultatif) ou le caractère de séparation.
Format : littéral de script ou variable de script

Valeurs autorisées : "LENGTH_TAB" et "DELIMITER"

  • "LENGTH_TAB"

    La taille et le nom des colonnes (facultatif) sont indiqués sous la forme suivante : Taille de colonne=[nom de colonne]. La taille de colonne est définie par un nombre de caractères. Les définitions des colonnes doivent être séparées par des virgules (22 colonnes maximum). Des apostrophes doivent apparaître avant la première et après la dernière définition de colonne. Des guillemets doivent être utilisés si des apostrophes ont été utilisées dans des littéraux de script pour Definition2 et vice versa.

    Exemple :

    "LENGTH_TAB='10=Department,25=Head,10=Budget'"

     
  • "DELIMITER"

    Les colonnes qui doivent être séparées par des délimiteurs peuvent être spécifié sous la forme *Délimiteur*.
    "*" : vous pouvez utiliser les caractères de votre choix. Ils signifient uniquement que la chaîne encadrée est un délimiteur. Ces caractères ne sont pas affichés dans la sortie.
    Delimiter
    : chaîne de caractères de 10 caractères maximum qui sépare les colonnes. Les caractères d'une ligne sont renvoyés comme colonnes s'ils se trouvent avant, entre ou après la chaîne Delimiter. Une colonne ne peut pas être séparée si la ligne de contient pas de délimiteur. Si une apostrophe sert de délimiteur, Definition2 doit être saisie entre guillemets et vice versa.

    Valeur par défaut : Point-virgule (;)

    Exemple :

    "DELIMITER=*'*"
    '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.
Format : littéral de script ou variable de script

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.

Remarques

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 :

  1. Le job événement, défini avec le paramètre EventJob est activé (nom du job : EVENT.EventJob).
  2. 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.
  3. Seules les lignes dont le contenu correspond au paramètre Filtre sont prises en compte. L'utilisation de ce paramètre est facultative.
  4. Vous pouvez spécifier n'importe quelle assignation de valeur dans le paramètre Action.
    Pour les commandes de système d'exploitation sous BS2000, MPE, 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ébut du job d'événement et suivant l'événement job, l'objet Include correspondant est traité et fourni en interne dans le script sans que le dialogue des attributs ne s'affiche.
    La requête sur les systèmes de fichiers UNIX utilise une syntaxe spéciale pour les actions.
  5. La séquence de données créée sur l'hôte est transférée à l'Automation Engine par transfert de fichier 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 :

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.

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 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

:CLOSE_PROCESS

Supprime une séquence de données inutile.

:PROCESS... :TERM_PROCESS... :ENDPROCESS

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.

GET_PROCESS_LINE

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