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

PREP_PROCESS_VAR
PREP_PROCESS_VAR_XML

Fonctions de Script : Détermine une liste de valeurs d'un objet Variable à l'aide de critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur.

Syntaxe

PREP_PROCESS_VAR(Variable, [ clé], [valeur], [Colonne] )

PREP_PROCESS_VAR_XML (Variable, Clé, Valeur )

Syntaxe

Description/format

Variable

Nom de l'objet Variable dont les valeurs doivent être lues.
Format : Nom AE, littéral de script ou variable de script  

Clé

Filtre pour la colonne clé.
Format : littéral de script ou Variable de script
Valeur par défaut : "*"

Pour les Variables dynamiques, la colonne Clé est toujours la première colonne de valeurs. La colonne Résultat est créée une fois les entrées de variable déterminées.

Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère.

Valeur

le filtre pour la valeur.
Format : littéral de script ou variable de script
Format pour l'objet de variable XML : XPath (format : chaîne)
64 caractères maximum.
Valeur par défaut : "*"

Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère.

Le format de l'objet de variable XML doit être le même pour les deux fonctions de script.

Colonne

Colonne de valeurs à laquelle se réfère le filtre pour la valeur
Format : littéral de script, nombre sans guillemets ou Variable de script

Les caractères génériques ne sont pas autorisés !

Valeurs autorisées :
Variables statiques : "1" à "5"
Variable Statique XML : "1"
Variables dynamiques "1" à n

Même si vous ne souhaitez appliquer un filtre que sur la valeur, vous devez conserver la virgule précédente.
Exemple :

:SET &HND# = PREP_PROCESS_VAR( "MAINTENANCE BD",,"CLIENT", 1)


Code retour

Référence à la séquence de données de l'objet Variable.

Remarques

La fonction de script lit les valeurs d'un objet Variable. Pour ce faire, les valeurs lues peuvent être limitées via les paramètres facultatifs clef et valeur. Pour ces paramètres, il est possible d'utiliser les caractères génériques "*" et "?". Attention aux majuscules et aux minuscules !

Valeur se réfère au contenu d'une colonne de valeurs. Avec la colonne, vous définissez le numéro de la colonne de valeurs qui doit être parcourue. Si la colonne n'est pas indiquée, la première colonne de valeurs est automatiquement utilisée. Les Variables statiques possèdent 5 colonnes de valeurs. Le nombre de colonnes de variables dynamiques n'est pas limité et dépend de la source de données ou des paramètres dans l'objet Variable.

La fonction de script PREP_PROCESS_VAR_XML ne peut être utilisée qu'avec l'objet de variable XML qui propose une seule colonne de valeur.

L'utilisation du paramètre Colonne est possible uniquement en relation avec la valeur ! Si le filtre Valeur n'est pas spécifié, la saisie d'une colonne sera alors non valide !

Le script ne permet pas de sélectionner certaines colonnes ! Les entrées de variable filtrées sont par conséquent retournées avec les valeurs de toutes les colonnes, y compris la Clé ou la colonne Résultats.

Attention : il est impossible d'utiliser des caractères génériques pour la valeur lorsqu'il s'agit d'une Variable dont le type de données est un "nombre". La fonction renvoie toutes les entrées ou chacune de celles qui contiennent exactement la valeur indiquée.

Attention : indiquer une chaîne vide "" pour le filtrage équivaut à entrer "*" : toutes les valeurs sont alors renvoyées.

Si vous n'indiquez ni la clé ni la valeur, toutes les entrées de l'objet Variable seront utilisées.

Le code retour de la fonction script est une référence de la séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de script GET_PROCESS_LINE vous pouvez maintenant accéder à chacune des lignes de l'objet Variable.

Si l'objet Variable ne contient pas les valeurs recherchées, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé.

Les noms des objets VARA contenant une Variable doivent être indiqués entre guillemets ; sinon, un message d'erreur s'affiche. Sinon, un message d'erreur s'affichera.

Aucune autre 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 lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS.

Attention : pour les variables dynamiques (SQL, SQLI, MULTI), le nombre de lignes disponibles avec le paramètre SQLVAR_MAX_ROWS (UC_SYSTEM_SETTINGS) est limité. Par exemple, si vous indiquez une valeur de 1000, le système ne renverra que les 1000 premières lignes.
Vous pouvez limiter les lignes à renvoyer avec la Cléet non avec la valeur spécifiée. Cela signifie que lorsque vous définissez un filtre pour une Valeur donnée, avec un élément de script PREP_PROCESS_VAR, le système ne cherchera que cette valeur dans le nombre maximum de ligne défini. Cependant, lorsque vous définissez une Clé, elle passera dans la base de données et sera utilisée pour la requête. De plus, lorsque vous avez des tables qui comprennent plusieurs entrées, nous recommandons de faire la filtrage en utilisant la Cléà la place de la valeur, sinon, les entrées risquent de ne pas revenir.

Exemples

L'objet Variable suivant est indiqué :

Dans le premier exemple, toutes les valeurs 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(MAINTENANCE BD)
:
PROCESS &HND#
:   
SET &VK# = GET_PROCESS_LINE(&HND#,1)
:   
SET &VALUE# = GET_PROCESS_LINE(&HND#,2)
:   
PRINT "&VK# &VALUE#"
:
ENDPROCESS

:
CLOSE_PROCESS &HND#

Dans le deuxième exemple, seules les entrées dont la clé commence par "Client" sont lues.

:SET &HND#=PREP_PROCESS_VAR(MAINTENANCE BD,"Client*")
:
PROCESS &HND#
:   
SET &VK# = GET_PROCESS_LINE(&HND#,1)
:   
SET &VALUE# = GET_PROCESS_LINE(&HND#,2)
:   
PRINT "&VK# &VALUE#"
:
ENDPROCESS

:
CLOSE_PROCESS &HND#

Exemple d'utilisation du PREP_PROCESS_VAR_XML. Dans cet exemple, la valeur des lignes de séquence de données représentée par les variables de script &VALUE# et &GB# est lue. En retour, les valeurs "A/B" de la clé "KEY01" de l'objet de variable XML "VARA.XML" sont lues :

:SET &HND# = PREP_PROCESS_VAR_XML(VARA.XML, "KEY01", "A/B")
:PROCESS &HND#
: SET &GB# = GET_PROCESS_LINE(&HND#,1)
: SET &VALUE# = GET_PROCESS_LINE(&HND#,2)
: PRINT "&GB# &WERT#"
:ENDPROCESS

 

 

Rubriques connexes :

Elément de script Description

:CLOSE_PROCESS

Supprime une séquence de données au sein d'un script.

: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.

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

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

Elément de script - Division fonctionnelle