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

PREP_PROCESS_REPORT

Fonction de script : Récupère les lignes de rapport des objets activables à l'aide de critères de filtrage et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur.

Syntaxe

PREP_PROCESS_REPORT([Object type , [RunID], [Report type], [Filter] [, "COL=Definition1], [Definition2]")

Syntaxe

Description / format

Type d'objet

Description courte du type de l'objet appartenant aux objets activables. Il est également possible de modifier le client dans lequel cette fonction de script est utilisée. Dans ce cas, la description courte est CLT.

Format : Nom AE, littéral de script ou variable de script

Paramètre facultatif, car le type d'objet peut être attribué clairement par le numéro d'exécution (RunID) (compatible avec la version 2.6xx).

RunID

Numéro d'exécution (RunID) de la tâche dont le rapport doit être traité.
Format : variable de script ou nombre

Pous pouvez activer l'option Générer à l'exécution dans l'onglet Attributs, si le rapport d'une autre tâche doit être analysé.

Il est inutile d'indiquer un RunID pour le rapport du client.

Type de rapport

Abréviation pour le type de rapport.
Format : Nom AE, littéral de script ou variable de script

Filtre

Critère de filtre pour le contenu des lignes. La casse des caractères n'est pas prise en compte.

Pour la définition du filtre, vous pouvez utiliser les caractères génériques * et ? comme caractères de remplacement : "*" pour un nombre de caractères au choix (également aucun) et ? pour un seul caractère. Les caractères génériques peuvent aussi être indiqués à plusieurs reprises.

Format : littéral de script ou variable de script
Valeur par défaut : "*"

Definition1

Ce paramètre définit si les lignes d'une séquence de données doivent être réparties en colonnes.
Format : littéral de script ou variable de script

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

NONE : pas de répartition en colonnes.
LENGTH : largeurs de colonnes prédéfinies. Nécessite LENGTH_TAB= comme Definition2.
DELIMITER : les colonnes sont séparées par un délimiteur. Nécessite DELIMITER= comme Definition2.

Définition2

Ce paramètre définit la largeur 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 largeur et le nom des colonnes (facultatif) sont indiqués sous la forme suivante : largeur de colonne=[nom de colonne]. La largeur de colonne est définie par un nombre de caractères. Les colonnes doivent être séparées par des virgules (22 colonnes maximum). Des virgules supplémentaires doivent apparaître avant la première et après la dernière définition de colonne. Si des guillemets sont utilisés pour Définition2 comme littéral de script, les apostrophes doivent être utilisées pour les spécifications et vice versa.

    Exemples :

    "COL=LENGTH,LENGTH_TAB='3=drive,100=file name'"

     
  • DELIMITER

    Le caractère de séparation est indiqué sous la forme *Délimiteur*.
    "*" : caractère de séparation libre.
    Délimiteur
    : chaîne de 10 caractères maximum, séparant les colonnes. Si des apostrophes sont utilisés comme délimiteurs, la phrase complète COL=Définition1[,Définition2] doit être encadrée de guillemets et vice versa.

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

    Exemples :

    "COL=DELIMITER,DELIMITER=*'*"
    'COL=DELIMITER,DELIMITER=@"@'

Code retour

Référence sur la séquence de données du rapport.

Remarques

La fonction de script fournit le contenu du rapport d'objets activables pour un autre traitement par le script AE. Le rapport est lu dans la base de données AE et préparé sous forme de séquence de données.

Si vous accédez au rapport d'une tâche en utilisant cette fonction de script, vous pouvez omettre les paramètres RUNID et Type de rapport car la fonction de script récupère elle-même le RunID. Notez que vous devez définir les virgules faisant partie des paramètres. Par défaut, le rapport du job (REP) est utilisé pour les jobs et le rapport d'activation (ACT) pour les autres tâches.

Le rapport de job de la tâche peut être analysé dans l'onglet Post-traitement. En fonction du résultat, il est possible de spécifier la fin définitive du job à l'aide de l'instruction de script :MODIFY_STATE.

La fonction de script attend si vous accédez à une tâche déjà terminée, mais dont le rapport est encore incomplet.

Par défaut, cette fonction de script lit toute la ligne du rapport. 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.

Le rapport est enregistré dans la même langue que celle du logging de Automation Engine.

Le code retour de cette fonction de script est la référence d'une séquence de données. Elle 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 et les colonnes correspondantes, de la séquence de données.

Aucun message d'erreur n'apparaît, si le rapport ne contient pas le contenu recherché. 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.

L'instruction du script permet d'écrire les transactions ouvertes dans la base de données AE.

Exemples

Le premier exemple recherche toutes les lignes d'un rapport de job dans lequel se trouve le lecteur C:. Les lignes complètes s'affichent dans le protocole d'activation.

:SET &HND# = PREP_PROCESS_REPORT("JOBS",, "REP", "*C:\*")
:
PROCESS &HND#
:   
SET &RET# = GET_PROCESS_LINE(&HND#)
:   
PRINT &RET#
:
ENDPROCESS

Le deuxième exemple se base sur un job qui a demandé les noms de fichier pour un traitement par l'utilisateur. Les noms de fichier ont été enregistrés dans le rapport d'activation. Si le guillemet est utilisé comme délimiteur, les noms de fichier peuvent être lus. Ils s'affichent dans le protocole d'activation.

:SET &RUNNR# = GET_UC_OBJECT_NR("MM.DAY")

:
SET &HND# = PREP_PROCESS_REPORT(, &RUNNR#, "ACT",,"COL=DELIMITER", "DELIMITER=*'*")
:
PROCESS &HND#
:   
SET  &RET# = GET_PROCESS_LINE(&HND#,1)
:   
PRINT &RET#
:
ENDPROCESS

Dans le troisième exemple, le rapport d'un job est analysé dans l'onglet Post-traitement du job. Cela permet de déterminer si une erreur est survenue lors de la copie d'un fichier sous Windows. Vous pouvez appeler facilement la fonction de script avec le paramètre Filtre. Les virgules qui précèdent représentent le type d'objet, le numéro d'exécution (RunID) et le type de rapport REP de la tâche elle-même.  

:SET &HND# = PREP_PROCESS_REPORT(,,,"*file not found*")
:
PROCESS &HND#
:   
SEND_MSG BU,BU,"Error occurred while copying."
:   
MODIFY_STATE RETCODE=50
:
ENDPROCESS

 

Rubriques connexes :

Eléments 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 de type texte 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

Exemples
Définition du statut final en fonction du contenu du rapport

Exécution d'un MBean

Généralités sur les scripts
Eléments de script - Liste alphabétique

Eléments de script - Répartition fonctionnelle