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

GET_PROCESS_LINE

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

Syntaxe

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.
Format : Variable de script

Colonne

Accès à une colonne de la ligne de séquence de données.

  • Séquence de données dont les lignes ont été réparties en colonnes.
    Format : Nombre sans guillemets, littéral de script ou Variable de script
    Valeurs autorisées : "1" à "22" ou nom de colonne

  • Séquence de données d'un objet Variable (PREP_PROCESS_VAR)
    Format : Nombre sans guillemets ou Variable de script
    Valeurs autorisées : "1", "2" jusqu'à n
    "1" = Clef ou Colonne Résultat. Colonne de valeurs des objets Variable de type "Liste de fichiers".
    "2" - "6" = Colonnes de valeurs des objets Variable statique
    "2" bis n = Nombre de colonnes de valeurs des objets Variable.

    Les Variables dynamiques (SQL, SQLI et Multi) peuvent contenir de nombreuses colonnes. Cela dépend de la source de données respective.
    Les Variables statiques ne comportent que 5 colonnes de valeurs (de "2" à "6").
    Les Variables FILELIST comportent généralement une seule colonne qui est précisée par "1".
  • Séquence de données d'un commentaire (PREP_PROCESS_COMMENTS)
    Format : Nombre sans guillemets ou Variable de script
    Valeurs autorisées : "1", "2" et "3"
    "1" = Marque horaire
    "2" = Nom de l'Utilisateur
    "3" = Texte des commentaires

  • Séquence de données d'un objet PromptSet (PREP_PROCESS_PROMPTSET)
    Format nombre sans guillemets, nom AE, littéral de script ou Variable de script
    Valeurs autorisées :
    "1" ou "VARIABLE_NAME" = nom de la variable PromptSet de l'élément PromptSet (sans & en tête)
    "2" ou "CUSTOM_FIELD" = contenu du champ personnalisé
    "3" ou "DEFAULT" = valeur par défaut de l'élément PromptSet
    "4" ou "TYPE" = type de l'élément PromptSet (p. ex. : "texte" ou "entier")
    "5" ou "DATA_REFERENCE" = nom de l'objet de référence (variable ou calendrier)
    "6" ou "DATA_REFERENCE_KEY" = clé de l'objet Calendrier de référence (si disponible)

STR_SUBSTITUTE_VAR
STR_SUB_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.

Lorsque vous utilisez ce paramètre sans indiquer de colonne, il faut tout de même indiquer la virgule. Exemple :

:SET &VALEUR# = GET_PROCESS_LINE(&HND#, ,STR_SUB_VAR)

Ligne

Ligne de la séquence de données à laquelle il faut accéder.
Format : numéro sans guillemets, littéral de script ou Variable de script

Remarques

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.

Exemples

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 :