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

EventJob

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

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

Définition1:

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

"NONE" : les lignes ne sont pas divisées 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 exécutant l'élément JCL SAP R3_GET_MONITOR démarrent. "R3MONITOR" utilise le paramètre EventJob du modèle de job événement "EVENT.R3MONITOR" du client système.
"LENGTH" : largeurs de colonnes prédéfinies. Requiert LENGTH_TAB= pour Définition2
"DELIMITER" : les colonnes sont séparées par un délimiteur. Requiert DELIMITER= comme "Définition2

Definition2:

Définit la taille et le nom des colonnes (optionnel) ou le déllimiteur
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 (optionnel) 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. Un maximum de 22 colonnes est autorisé. 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=@"@'

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.

Format : littéral de script ou variable de script

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 :

  1. Le job événement, spécifié 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. (Optionnel) Seules les lignes dont le contenu correspond au paramètre Filtre sont prises en compte.
  4. 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é.
  5. 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 :
  6. 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

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 :

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 :

voiraussi

Eléments de script - Séquences de données