Fonction script : Détermine le contenu actuel des lignes d'une séquence de données. |
GET_PROCESS_LINE(Référence Séquence de données [, [Colonne] [, [STR_SUBSTITUTE_VAR] [, Ligne ] ] ] )
GET_PROCESS_LINE(Référence Séquence de données [, [Colonne] [, [STR_SUB] [, Ligne ] ] )
Elément de syntaxe |
Description/format |
---|---|
Référence Séquence de données |
Référence de la séquence de données à traiter. |
Colonne |
Accès à une colonne de la ligne de séquence de données.
|
STR_SUBSTITUTE_VAR |
En outre, il faut rechercher les Variables de script contenues dans les lignes de la séquence de données et les remplacer par leurs valeurs correspondantes.
:SET &VALEUR# = GET_PROCESS_LINE(&HND#, ,STR_SUB_VAR) |
Ligne |
Ligne de la séquence de données à laquelle il faut accéder. |
La fonction de script GET_PROCESS_LINE lit une ligne ou les colonnes d'une séquence de données. La séquence est préparée à partir des scripts suivants :
La fonction de script GET_PROCESS_LINE est utilisée dans les instructions de script :PROCESS et :ENDPROCESS, qui forment une boucle pour le traitement de la séquence de données et qui rendent disponible une nouvelle ligne de la séquence de données à chaque cycle de la boucle.
Toutes les lignes d'une séquence de données peuvent également être réparties en colonnes. Cela est défini à l'aide des paramètres COL=LENGTH et COL=DELIMITER lors de la création de la séquence de données. L'accès à chaque colonne se fait par son numéro (1 - première colonne) ou par le nom de la colonne, s'il a été défini.
Si vous n'indiquez pas de colonne ni n'utilisez "0", toutes les lignes sont retournées et donc toutes les colonnes.
Lorsque les valeurs d'un objet Variable sont déterminées, la ligne actuelle contient la clef (Variable statique) ou la colonne de résultat (Variable dynamique) ainsi que les valeurs respectives. La valeur "1" pour Colonne est la clef/résultat, les valeurs "2" à "6" (Variables statiques) représentent la lecture de la colonne de valeurs respective. Si aucun format de résultat n'est défini dans l'objet Variable (SQL, SQLI, MULTI), alors la colonne Résultat correspond à la première colonne de valeur.
Le nombre de colonnes de valeurs de Variables dynamiques possédant la source SQL, "SQL - interne" ou "Multi" n'est pas limité et est précisé selon les paramètres de l'objet Variable ou de la source de données. Les colonnes de commentaires peuvent également être appelées de cette manière.
Si le numéro de colonne n'est pas indiqué lors de la séquence de données des objets Variable, la valeur de toutes les colonnes (y compris clef/résultat) sera retournée en étant séparée par le caractère "§§§".
Un procédé particulier permet d'accéder aux moniteurs SAP. L'Agent SAP répartit les diverses lignes fournies par le moniteur SAP dans des colonnes fixes. Il enregistre le nom et la largeur des colonnes sous la forme d'une ligne d'en-tête dans le fichier qui doit être traité par le Automation Engine. GET_PROCESS_LINE vous permet d'accéder aux colonnes suivantes :
Vous pouvez indiquer en plus le paramètre STR_SUBSTITUTE_VAR pour lequel la forme abrégée STR_SUB_VAR est valide. Cela a pour effet de rechercher les Variables de script contenues dans les lignes et de les remplacer par leurs valeurs correspondantes. La fonction liée à PREP_PROCESS_FILE est particulièrement utile. Préparez, dans un fichier, un texte contenant des Variables de script modifiables pour faciliter ensuite le traitement du texte. Quelle que soit la source dont provient la séquence de données (fichier, rapport, objet Variable, ...), les valeurs elles-mêmes sont définies dans le script (voir l'exemple 5 ci-dessous).
L'accès à une ligne spécifique de la séquence de données est par ailleurs possible. Veuillez indiquer à cet effet le numéro de la ligne dans le paramètre correspondant de la fonction script. La première ligne possède le numéro 1. Les numéros de ligne des séquences de données peuvent également être déterminés avec l'élément de script GET_PROCESS_INFO.
Attention : par défaut la fonction de script GET_PROCESS_LINE tronque les espaces compris à la fin des lignes lues. L'administrateur peut cependant désactiver ce comportement à l'aide du paramètre GET_PROCESS_LINE_RTRIM de la Variable UC_SYSTEM_SETTINGS.
Dans le premier exemple, les répertoires d'un lecteur sont déterminés et s'affichent dans une boucle de processus avec l'instruction :PRINT dans le protocole d'activation.
:SET &HND# = PREP_PROCESS("PC01","WINCMD","*DIR*","CMD=DIR C:")
:PROCESS &HND#
: SET &LIGNE# = GET_PROCESS_LINE(&HND#)
: PRINT &LIGNE#
:ENDPROCESS
Dans le deuxième exemple, les valeurs d'une Variable sont déterminées et s'affichent dans une boucle de processus avec l'instruction :PRINT dans le protocole d'activation.
:SET &HND#=PREP_PROCESS_VAR(UC_CLIENT_SETTINGS)
:PROCESS &HND#
: SET &RET1# = GET_PROCESS_LINE(&HND#,1)
: SET &RET2# = GET_PROCESS_LINE(&HND#,2)
: PRINT "&RET1# &RET2#"
:ENDPROCESS
Le troisième exemple lit toutes les lignes d'un fichier log de l'Interface Utilisateur qui retournent les informations par la base de données. La largeur et le nom des colonnes sont ainsi spécifiés. Les informations concernées s'affichent dans le protocole d'activation. Les espaces (colonnes 2 et 4) sont ignorés.
:SET &HND# = PREP_PROCESS_FILE(WIN21, "F:\AE\DIALOG\TEMP\UCDJ_LOGG_01.TXT","*DB-INFO*","COL=LENGTH","LENGTH_TAB='8=DATE,1,6=HEURE,7,200=TEXTE'")
:PROCESS &HND#
: SET &COL1# = GET_PROCESS_LINE(&HND#,1)
: SET &COL2# = GET_PROCESS_LINE(&HND#,3)
: SET &COL3# = GET_PROCESS_LINE(&HND#,"TEXT")
: PRINT "&COL1# &COL2# &COL3#"
:ENDPROCESS
Le quatrième exemple lit le moniteur SAP "MON1" dans l'ensemble de moniteurs "UC4". Il faut accéder à toutes les colonnes des données du moniteur. Les lignes de la séquence de données s'affichent dans le protocole d'activation.
:SET &HND# = PREP_PROCESS("T01","R3MONITOR","*","MONSET=UC4","MONNAM=MON1","COL=FILE","UC_USER_ID=UC4","UC_SAPMANDANT=001")
:PROCESS &HND#
: SET &CHEMIN# = GET_PROCESS_LINE(&HND#,"CHEMIN")
: SET &NOM# = GET_PROCESS_LINE(&HND#,"NOM")
: SET &VALEUR# = GET_PROCESS_LINE(&HND#,"VALEUR")
: SET &STATUT# = GET_PROCESS_LINE(&HND#,"STATUT")
: SET &DATE# = GET_PROCESS_LINE(&HND#,"DATE")
: SET &TIME# = GET_PROCESS_LINE(&HND#,"TIME")
: PRINT "&CHEMIN# &NOM# &VALEUR# &STATUT# &DATE# &HEURE#"
:ENDPROCESS
Définition de la largeur et du nom des colonnes du fichier (ligne d'en-tête) préparé par l'Agent SAP.
COL=LENGTH,LENGTH_TAB='74=PATH,25=NAME,5=VALUE,2=STATUS,9=DATE,7=TIME'
Dans le cinquième exemple, les lignes d'un fichier texte sont lues pour remplacer ensuite par leurs valeurs les Variables de scripts qui s'y trouvent et afficher les lignes modifiées dans le protocole d'activation.
:SET &NOM# = SYS_ACT_ME_NAME()
:SET &DATE# = SYS_DATE_PHYSICAL("MM/JJ/AAAA")
:SET &HEURE# = SYS_TIME_PHYSICAL("HH:MM")
:SET &JPNOM# = SYS_ACT_JPNAME()
:SET &HND# = PREP_PROCESS_FILE ("WIN01","C:\AE\REPORT.TXT")
:PROCESS &HND#
: SET &RET# = GET_PROCESS_LINE (&HND#,,STR_SUB_VAR)
: PRINT &RET#
:ENDPROCESS
Extrait du fichier texte REPORT.TXT prédéfini :
&DATE#/&HEURE#
Rapport pour &NOM#:
Activé par ProcessFlow : &JPNAME#
Rubriques connexes :
Elément 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ément de script - Liste alphabétique
Elément de script - Division fonctionnelle