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

PREP_PROCESS_REPORTLIST

Fonction de script : Détermine la liste de sorties enregistrées des Jobs déjà effectués et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur.

Syntaxe

PREP_PROCESS_REPORTLIST([RunID], [Filter])

Syntaxe

Description / format

RunID

RunID d'un Job déjà exécuté dont le résultat enregistré (les rapports internes ainsi que les fichiers de résultat de Job) doit être déterminé.

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

Si le paramètre n'est pas spécifié, le script se réfère à l'objet lui-même. L'élément de script ne doit être utilisé que dans l'onglet Post-traitement car sinon il n'est pas possible de récupérer toutes les données de résultat du job.

Filtres

Filtre sur le nom d'un fichier de résultat de Job.

Les caractères génériques * (remplacement de plusieurs caractères au choix) et ? (remplacement d'un caractère exactement) peuvent être utilisés plusieurs fois.

Format : variable de script ou litéral de script

Code retour

Référence à la séquence de données de la liste du résultat de Job.

Commentaires 

Cette fonction de script récupère la liste des résultats de job enregistrés stockés dans l'onglet Répertoire de la boîte de dialogue Rapport. Elle inclut aussi bien les fichiers externes que les rapports standard.

Le code retour de cette fonction de script est la référence d'une séquence de données. Cette dernière peut être transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS, ce qui génère une boucle. Le nombre de cycles de la boucle correspond au nombre d'entrées du résultat de Job. La fonction de script GET_PROCESS_LINE permet d'accéder aux différentes colonnes (huit au total) de chaque ligne.

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.

Si le paramètre Filtre n'est pas spécifié, tous les fichiers de résultat de Job sont alors utilisés (correspond à Filtre = *).

Les colonnes suivantes peuvent être lues pour chaque entrée :

Numéro de colonne Valeur
1

Type de rapport (par exemple :ACT, REP, REV01, etc.)

Les fichiers de résultat de Job externes portent les noms suivants :

  • $NNN - Fichiers qui ont été enregistrés de façon statique (Onglet Résultat")
  • #NNN : fichiers qui ont été enregistrés de façon dynamique (élément de script :REGISTER_OUTPUTFILE)

NNN : numéro séquentiel à 3 chiffres

2

Moment auquel la création du résultat de Job a été lancé.

Format : AAAA-MM-JJ HH:MM:SS

3

Moment auquel la création du résultat de Job s'est terminée.

Format : AAAA-MM-JJ HH:MM:SS

4 Titre (uniquement pour les Jobs SAP)
5

S'agit-il d'un rapport XML? (uniquement pour les Jobs SAP)

Valeurs possibles :
"0" - Non
"1" - Oui

6

Chemin et nom entièrement qualifiés du fichier de résultat de Job externe ou du rapport de Job (type de rapport = REP). Cette colonne reste vide pour les rapports standard (tels que ACT).

7

Le résultat du job se trouve-t-il sur l'agent ?

Valeurs possibles :
"0" - Non
"1" - Oui

8

Le résultat de Job est-il enregistré dans la base de données AE ?

Valeurs possibles :
"0" - Non
"1" - Oui

 

Exemple 1

Dans le premier exemple (le plus simple), le nom et le chemin des fichiers de résultat de la dernière exécution du Job JOBS.WIN.OUTPUT sont lus et enregistrés dans le protocole d'activation.

:SET &RUNID# = GET_STATISTIC_DETAIL(,RUNID,JOBS.WIN.OUTPUT)
:SET &HND# = PREP_PROCESS_REPORTLIST(&RUNID#)
:PROCESS &HND#

:SET &FILENAME# = GET_PROCESS_LINE(&HND#, 6)
: IF  &FILENAME# = ""
: ELSE
: PRINT  "File name  = &FILENAME#"
: ENDIF
:ENDPROCESS

Exemple 2

Dans l'exemple ci-dessous, deux fichiers sont générés par un Job Windows et enregistrés comme résultat de Job. Les lignes suivantes se trouvent dans l'onglet Traitement du Job.

dir C:\temp >> C:\temp\test.txt
:REGISTER_OUTPUTFILE "C:\temp\test.txt","N"
dir C:\windows >> C:\temp\test2.txt
:REGISTER_OUTPUTFILE "C:\temp\test2.txt","N"

L'onglet Post-traitement du job contient l'élément de script PREP_PROCESS_REPORTLIST qui demande la liste complète de résultats du job et écrit les différentes colonnes de chaque ligne dans le log du job avec une boucle de traitement. Un transfert de fichier démarre pour chaque fichier de résultat externe et transfère ce fichier vers un ordinateur différent. L'agent, le Login du job et le chemin complet du fichier sont transmis à l'objet transfert de fichier.

:PSET &AGENT_JOB# = GET_ATT(HOST)
:PSET &LOGIN_JOB# = GET_ATT(LOGIN)

:SET &HND# = PREP_PROCESS_REPORTLIST()

:PROCESS &HND#
: SET &RH_TYPE# = GET_PROCESS_LINE(&HND#, 1)
: SET &START_TIME# = GET_PROCESS_LINE(&HND#, 2)
: SET &END_TIME# = GET_PROCESS_LINE(&HND#, 3)
: SET &TITLE# = GET_PROCESS_LINE(&HND#, 4)
: SET &IS_XML# = GET_PROCESS_LINE(&HND#, 5)
: SET &FILENAME# = GET_PROCESS_LINE(&HND#, 6)
: SET &ON_AGENT# = GET_PROCESS_LINE(&HND#, 7)
: SET &IN_DB# = GET_PROCESS_LINE(&HND#, 8)
: PRINT "Report type = &RH_TYPE#"
: PRINT "Start = &START_TIME#"
: PRINT "End = &END_TIME#"
: PRINT "Title = &TITLE#"
: PRINT "XML report? = &IS_XML#"
: PRINT "File name  = &FILENAME#"
: PRINT "On the Agent? = &ON_AGENT#"
: PRINT "In the database? = &IN_DB#"

: IF &FILENAME# = ""
: PRINT "No external output file"
: ELSE
: IF &ON_AGENT# = 1
: PSET &FT_FILE# = &FILENAME#
SET &AKT# = ACTIVATE_UC_OBJECT(JOBF.OUTPUTHANDLING,,,,,PASS_VALUES,)
: ENDIF
:ENDIF

: PRINT

:ENDPROCESS

Les données du job activé sont maintenant spécifiées comme agent source et Login dans le script de l'objet transfert de fichier. Le chemin et le nom du fichier de résultat de Job externe sont également spécifiés comme fichier source. Le nom du fichier source est repris comme cible et le chemin est remplacé par "C:\output\".

:PUT_ATT FT_SRC_HOST = &AGENT_JOB#
:PUT_ATT FT_SRC_LOGIN = &LOGIN_JOB#
:PUT_ATT FT_SRC_FILE = &FT_FILE#

:SET &POS# = STR_FIND_REVERSE(&FT_FILE#, "\") + 1
:SET &FNAME# = STR_CUT(&FT_FILE#, &POS#)
:SET &DST_FILENAME# = STR_CAT("C:\output\",&FNAME#)

:PUT_ATT FT_DST_FILE = &DST_FILENAME#

 

Rubriques connexes :

Eléments de script Description

PREP_PROCESS_REPORT

Utilise des critères de filtrage pour récupérer les lignes de rapport des objets activables et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur.

: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

Détermine le contenu actuel des lignes d'une séquence de données.