Manuel des Scripts Automation Engine > Organisation fonctionnelle > Lecture ou modification d'objets > :PUT_VAR

:PUT_VAR

Instruction de script : Enregistre les valeurs dans un objet Variable statique.

Syntaxe

:PUT[_VAR]Variable,[Clef], Valeur [, Valeur [, Valeur [, Valeur [, Valeur ] ] ] ]

Elément de syntaxe

Description/format

Variable

Nom de l'objet Variable à laquelle une valeur ou plusieurs valeurs doivent être attribuées.
Format: Nom AE ou Variable de script 

Clé

Lignes dans lesquelles les valeurs doivent être enregistrées.
Format: littéral de script, Variable de script ou fonction script

Valeur

Entrées qui doivent être écrites dans les colonnes de valeur. Les valeurs qui ne correspondent pas aux colonnes sont supprimées. Les valeurs existantes sont remplacées.
Format: littéral de script, nombre sans guillemets ou Variable de script

Remarques

Si une Variable dynamique est indiquée pour l'élément de script (Source: SQL, SQL interne, Multi ou Type de données), cela entraîne une erreur de durée d'exécution. Seuls des objets Variables statiques peuvent être remplis avec :PUT_VAR.

Les règles suivantes sont applicables à l'enregistrement de valeurs dans un objet Variable :

Pour remplir plusieurs colonnes de valeurs d'une Variable, chaque valeur doit être séparée d'une virgule. Il existe un maximum de 5 colonnes de valeurs pour des Variables statiques.

Vous ne devez pas indiquer le paramètre Clef si "pas de Clef" est sélectionné pour le paramètre "validité des Variables" dans l'onglet "Attributs". Dans ce cas, la Variable ne contient pas de valeur. Attention : si la Clef a été omise, il faut quand même définir les virgules correspondantes dans l'instruction.

 Les valeurs peuvent être ajoutées sans être séparées par une virgule. Les virgules représentent des séparateurs.
Exemple: Remplissage des 5 colonnes de valeur
:PUT_VAR VARA.TEST, "KEY1", Valeur1, Valeur2, Valeur3, Valeur4, Valeur5

Pour écrire une valeur dans une colonne qui contient une ou plusieurs virgules, cette dernière doit être indiquée par des guillemets simples ou doubles.
Exemple: Dans la colonne de valeurs 1, s'inscrit la "Valeur1" et dans la valeur 2 la "Valeur2,Valeur3,Valeur4"
:PUT_VAR VARA.TEST, "KEY1", Valeur1, "Valeur2, Valeur3, Valeur4"

Pour enregistrer une valeur dans une Variable qui affiche le type de données"Marque horaire", vous devez choisir un des formats suivants :

Pour le type de données "Heure", "Date" et "Nombre", la valeur doit être indiquée dans le format de sortie indiqué (onglet Attributs).
Tenir compte de la remarque suivante pour le type de données "Nombre": Si le système tente d'enregistrer un nombre avec plusieurs chiffres après la virgule, tel que cela est autorisé dans le format de sortie, les décimales superflues seront supprimées.

La fonction de script écrit également les valeurs dans l'objet Variable lorsque celui-ci vient d'être ouvert par un Utilisateur afin de ne pas empêcher le traitement. Si l'Utilisateur veut modifier et enregistrer l'objet Variable, il reçoit un avertissement lui indiquant que la Variable a été modifiée entretemps. Il peut alors décider s'il souhaite quand même enregistrer ou rejeter ses modifications.

Pour le type de données "Texte", les espaces en tête de chaîne sont conservés. Les espaces à la fin de la chaîne sont en revanche tronqués.

 L'utilisation de l'instruction :PUT_VAR suivie de l'instruction :READ implique les particularités suivantes : En cas d'interruption manuelle de la génération du script à l'aide du bouton "Interrompre" ou en raison de valeurs par défaut non valides lors de l'exécution de l'instruction :READ (voir "Générer à l'Exécution"), la Variable conserve les valeurs définies à l'aide de l'instruction :PUT_VAR.

Exemple

L'exemple montre que la date du jour et l'heure du jour actuelles sont communiquées et enregistrées dans un objet Variable de type "Marque horaire". La date et l'heure du jour sont transmises à l'instruction de script sous forme de Variable de script.

:SET &DATE# = SYS_DATE("AAAA-MM-JJ")
:
SET &HEURE# = SYS_TIME("HH:MM:SS")
:
PUT_VAR DATEDERESERVATION, , "&DATE# &HEURE#"

La Variable "ATTRIBUTS" utilisée dans l'exemple suivant, contient le domaine de validité "Index libre". Par conséquent, il faut absolument indiquer laClef.

:SET &PRIO# = GET_ATT("UC4_PRIORITY")
:
PUT_VAR ATTRIBUTE,"Priorité actuelle", &PRIO#

Dans l'exemple suivant, le nom, le type d'objet et les informations concernant le parent d'une Tâche sont stockés sous le RunID de la Tâche dans l'objet Variable "OBJET_STATISTIQUE".

:SET &NOMP# = SYS_ACT_PARENT_NAME()
:SET &NUMP#SYS_ACT_PARENT_NR()
:SET &TYPEP# = SYS_ACT_PARENT_TYPE()
:SET &NOM#SYS_ACT_ME_NAME()
:SET &NUM#SYS _ACT_ME_NR()
:SET &TYPE#SYS_ACT_ME_TYPE()

:PUT_VAR OBJEKT_STATISTIK, "&NUM#", "Nom d'objet: &NOM#", "Type d'objet: &TYPE#", "Nom du parent: &NOMP#", "RunID Parent: &NUMP#", "Nom du parent: &TYPEP#"

 

Rubriques connexes :

Elément de script Description
Elément de script Description
:PUT_VAR_COL Enregistre une valeur dans une colonne spécifique d'un objet Variable statique.
:DELETE_VAR Supprime une ou toutes les valeurs d'un objet Variable statique.
GET_VAR Indique la valeur d'un objet Variable.
:SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect.
GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect.
PREP_PROCESS_VAR Prépare le traitement d'une séquence de données (valeurs d'un objet Variable).