:PUT_VAR
L'instruction :PUT_VAR vous permet de stocker une ou plusieurs valeurs dans un objet Variable statique. Définissez les paramètres de cette instruction pour affecter des valeurs à une ligne pariculière et des colonnes spécifiques de l'objet Variable.
Syntaxe
:PUT[_VAR]Variable,[Key], Value [,Value[,Value[,Value[,Value]]]]
Paramètres
- :PUT_VAR
Écrit les valeurs dans un objet Variable - Variable
Nom d'un objet variable - Key
Ligne de l'objet Variable dans laquelle la ou les valeurs sont écrites
Remarques :- le paramètre Key est optionnel si l'objet Variable est configuré sans plage de validité. Pour plus d'informations, voir Objets VARA STATIC.
- N'oubliez pas les virgules si vous ne spécifiez pas de clé.
- Value
Valeurs à écrire dans la ou les colonnes de valeurs de l'objet Variable
Format : littéral de script, variable de script ou nombre sans guillemets
Séparez chaque valeur par des virgules pour les écrire dans différentes colonnes de l'objet Variable.
Une valeur contenant une ou plusieurs virgules doit être écrite entre guillemets simples ou doubles.
Exemple : Le script suivant écrit "Value1" colonne 1, et "Value2, Value3, Value4" dans colonne 2.
:PUT_VAR VARA.TEST, "KEY1", "Value1", "Value2, Value3, Value4"
Si vous spécifiez une seule valeur avec des virgules, les guillemets ne sont alors pas nécessaires.
(Objets Variable XML) XML complet et correctement formé uniquement
Remarques :
- Si l'objet Variable ne contient aucune valeur, le système ajoute la clé et les valeurs que vous définissez.
- Si la ligne que vous spécifiez contient déjà des valeurs dans l'objet Variable, les valeurs existantes sont remplacées.
- Les valeurs des colonnes non spécifiées sont supprimées.
- Si vous utilisez l'instruction :PUT_VAR avec un objet Variable XML, les valeurs des données de type XML sont automatiquement arrangées. Si vous écrivez XML dans une seule ligne de script, la valeur est réorganisée selon le standard XML de l'objet.
- Pour les données de type chaîne, les espaces vides de début et de fin restent dans le contenu.
- Si un utilisateur a l'objet Variable ouvert lors du traitement du script, l'instruction :PUT_VAR continue d'écrire les valeurs dans l'objet. Lorsque l'utilisateur enregistre l'objet, un avertissement informant l'utilisateur de la modification de la variable pendant ce temps-là s'affiche. L'utilisateur peut décider d'enregistrer ou d'ignorer les modifications.
Important !
- N'utilisez pas cette instruction de script avec des objets Variable dynamiques. Cela provoque une erreur d'exécution.
- Vous ne pouvez saisir plus de valeurs que n'en fournit l'objet Variable. Les objets Variable statiques disposent d'un maximum de 5 colonnes pour enregistrer les valeurs.
- Si vous utilisez une instruction :PUT_VAR avant une instruction :READ et que la génération du script est interrompue, l'objet Variable contiendra malgré tout les valeurs définies par l'instruction :PUT_VAR. La génération d'un script peut être interrompue manuellement, en appuyant sur le bouton Interrompre, ou automatiquement en raison de valeurs par défaut non valides, si le paramètre Générer la tâche à l'exécution est activé dans la page Attributs de l'objet contenant le script.
Le type de données de l'objet Variable influe sur les valeurs que vous pouvez spécifier avec l'instruction :PUT_VAR. Pour plus d'informations, voir Objets VARA.
Lorsque vous enregistrez une valeur dans un objet Variable dont le type de données est Horodatage, utilisez l'un des formats suivants :
- AAAA-MM-JJ HH:MM:SS
- AAMMJJ HHMMSS
- AAAAMMJJ HHMMSS
- AAAAMMJJHH24MISS
Pour les données de type heure, date et nombre, formatez votre valeur selon le format défini pour l'objet Variable (Format du résultat, page Attributs).
Important ! Pour les données de type nombre, les décimales redondantes sont tronquées lorsque vous enregistrez un nombre dont le nombre de décimales est supérieur à celui du format de résultat autorisé pour l'objet Variable.
Pour plus d'informations, voir Types de données des variable de script.
Exemples
Dans l'exemple suivant, les valeurs sont écrites dans les 5 colonnes d'un objet Variable :
:PUT_VAR VARA.TEST, "KEY1", "Value1", "Value2", "Value3", "Value4", "Value5"
Dans l'exemple suivant, les fonctions SYS_DATE et SYS_TIME extraient la date et l'heure actuelles. Ces valeurs sont affectées aux variables de script. L'instruction :PUT_VAR écrit les valeurs dans un objet Variable appelé BOOKING.DATE.
:SET &DATE# = SYS_DATE("YYYY-MM-DD")
:SET &TIME# = SYS_TIME("HH:MM:SS")
:PUT_VAR BOOKING.DATE,
, "&DATE# &TIME#"
Dans l'exemple suivant, l'objet variable ATTRIBUTES est configuré avec une plage de validité librement sélectionnée. Dans ce cas, vous devez définir la clé ("CurrentPriority" ci-dessous) dans les paramètres :
:SET &PRIO# = GET_ATT("UC4_PRIORITY")
:PUT_VAR ATTRIBUTES,
"CurrentPriority", &PRIO#
L'exemple suivant illustre l'extraction de plusieurs valeurs (RunID, nom, type d'objet d'une tâche et de son parent). L'instruction unique :PUT_VAR écrit les valeurs extraites dans les colonnes distinctes d'un objet Variable appelé OBJECT_STAT.
:SET &PNAME# = SYS_ACT_PARENT_NAME()
:SET &PNR# = SYS_ACT_PARENT_NR()
:SET &PTYPE# = SYS_ACT_PARENT_TYPE()
:SET &NAME# = SYS_ACT_ME_NAME()
:SET &NR# = SYS _ACT_ME_NR()
:SET &TYPE# = SYS_ACT_ME_TYPE()
:PUT_VAR OBJECT_STAT, "&NR#", "object name: &NAME#", "object type: &TYPE#", "parent name: &PNAME#", "parent RunID: &PNR#", "parent object type: &PTYPE#"
L'exemple suivant illustre l'écriture d'une valeur unique dans un objet VARA XML qui ne contient qu'un champ de valeurs :
:PUT_VAR VARA.XML, "KEY1", "<Value1>this is a test</value1>"
Voir aussi :