La plupart des objets exécutables possèdent un onglet nommé "Variables & Prompts". Ce dernier est composé de deux parties : Variables et PromptSets. Dans la partie Variables, vous entrez les Variables que vous voulez utiliser dans les onglets de script. Dans "PromptSets", l'attribution d'objets PromptSet dont les Variables sont également disponibles pour l'objet est possible. Les Variables ne doivent pas être lues en plus, mais sont disponibles directement en tant que Variables de script. |
Les Variables d'objet et PromptSet sont disponibles dans tous les onglets de script et dans les attributs de l'objet.
Dans l'illustration suivante, vous pouvez voir une Variable d'objet nommée "&HOTE#".
La Variable peut être utilisée immédiatement dans le script. L'exemple suivant utilise la Variable d'objet pour vérifier l'Agent.
:IF SYS_HOST_ALIVE(&HOTE#) = "N"
: SEND_MSG "ADMIN","UC4","L'Agent &HOTE# n'est pas actif !"
:ENDIF
Les valeurs des Variables d'objet peuvent être indiquées avec ou sans guillemets. Si vous utilisez des guillemets simples, les apostrophes doivent apparaître en double à l'intérieur de la chaîne, sinon, un ou plusieurs caractères risquent d'être supprimés. Un guillemet, au contraire, sera considéré comme un caractère normal et ne sera pas supprimé.
Exemple :
Entrée dans l'onglet Variables & Prompts |
Valeur réelle |
---|---|
string1234 |
string1234 |
'string1234' |
string1234 |
"string1234" |
"string1234" |
string'1234 |
string'1234 |
'string'1234' | string |
'string''1234' | string'1234 |
Les Variables d'objet et les Variables PromptSet possèdent une autre particularité. Elles peuvent être héritées de l'objet parent. Les Tâches d'un Schedule peuvent par exemple utiliser les Variables d'objet et PromptSet du Schedule. La maintenance est facilitée, car les valeurs n'ont pas besoin d'être enregistrées dans des objets distincts.
Dans l'onglet "Variables & Prompts", vous définissez si des Variables d'objet doivent être héritées et si oui, lesquelles.
Champ/élément de contrôle |
Description |
---|---|
Hérite du Parent |
|
Toutes les Variables (par défaut) |
L'objet reçoit toutes les Variables d'objet et PromptSet de la Tâche supérieure. |
Uniquement les Variables définies |
L'objet ne reçoit que les Variables d'objet et PromptSet de la Tâche supérieure qu'il a lui-même définies dans l'onglet "Variables & Prompts". |
Aucune Variable |
L'objet ne reçoit aucune Variable d'objet ou PromptSet de la Tâche supérieure. |
L'héritage est toujours effectué pour les objets qui sont activés par ACTIVATE_UC_OBJECT et le paramètre PASS_VALUES. Ceci est effectué indépendamment de l'option Hériter du Parent !
Les Variables d'objet et PromptSet ne sont pas héritées si la Tâche subordonnée possède une Variable PromptSet du même nom ! Ce comportement est indépendant de l'option "Hériter du Parent".
Attention : les Variables d'objet et PromptSet héritées remplacent les Variables d'objet existantes si elles portent le même nom ! Par contre, les Variables PromptSet ne sont jamais remplacées !
Pour écraser une Variable PromptSet par une Variable de la Tâche supérieure, il existe toutefois les deux possibilités suivantes :
Ouvrez les propriétés de la Tâche dans le Workflow ou le Schedule. Passez à l'onglet "Variables & Prompts", puis allez à la zone PromptSets. Saisissez à présent le nom de la Variable Parent comme valeur pour l'élément PromptSet correspondant. Si, pour l'élément PromptSet, il ne s'agit pas d'un champ de texte, il est nécessaire de cliquer sur sa légende.
Attention : le paramètre Hérite du Parent a une grande influence sur toutes les autres Tâches subordonnées de l'objet ! L'héritage se fait toujours d'une Tâche à celle qui lui est directement subordonnée. Si, pour un certain objet, vous décidez de n'hériter aucune valeur ou uniquement des valeurs définies, alors les Tâches qui lui sont subordonnées ne peuvent plus accéder à toutes les Variables des "objets grands-parents". A l'aide des exemples plus bas, vous pouvez voir l'effet des paramètres.
Les Variables d'objet et PromptSet sont héritées des éléments suivants :
Dans le dernier cas, il s'agit par exemple de l'objet qui a été défini dans l'onglet Résultat dans les propriétés d'une Tâche Workflow.
L'héritage n'est pas entrepris pour :
L'objet Alerte fait par exemple partie de cette dernière catégorie. Il est démarré automatiquement comme avertissement avant l'expiration de la date de validité d'un Groupe Calendrier.
Les Variables d'objet et PromptSet peuvent également être utilisées pour définir certains attributs d'objet sans devoir utiliser :PUT_ATT.
L'instruction de script :PSET crée une nouvelle entrée dans l'onglet "Variables & Prompts" pour la durée de l'exécution si la Variable d'objet n'existe pas encore. Si une Variable d'objet du même nom existe déjà, sa valeur sera écrasée par la nouvelle valeur.
Si la Variable d'objet est modifiée par les scripts :SET, :RSET ou :READ, la valeur est disponible dans l'objet qui a été attribué en dernier (dans les onglets : Script, Post-Script, Post-Script enfant). Une reprise explicite de la valeur avec le script :RSET, par exemple dans l'onglet Post-Script, n'est pas nécessaire.
Si une Variable d'objet est créée avec l'instruction de script :PSET, cette dernière est automatiquement transférée à l'objet supérieur. Si une Variable d'objet ou PromptSet du même nom existe à cet emplacement, leur valeur sera écrasée. Les Tâches suivantes du Parent peuvent alors accéder à cette Variable.
Lors de la reprise d'un objet qui possède des entrées dans l'onglet "Variables & Prompts", ce sont toujours les valeurs de la définition de l'objet qui sont utilisées. Les valeurs de certaines exécutions de l'objet n'ont par conséquent pas de signification en cas de reprise.
Contrairement aux Variables de script, les Variables d'objet et PromptSet ne possèdent pas de type de données spécifique. La fonction script CONVERT vous permet d'attribuer un type de données spécifique à la Variable.
Exemple 1
Un Transfert de Fichier est activé à l'aide d'un Schedule. Ils possèdent les Variables d'objet suivantes :
Schedule :
Transfert de Fichier :
Le script du Transfert de Fichier accède aux Variables &FICHIER#, &HOTE# et &CHEMIN#. La valeur attribuée à ces Variables change en fonction des paramètres de l'onglet "Variables & Prompts" de l'objet Transfert de Fichier.
Hérite du Parent |
Contenus des Variables |
Motif |
---|---|---|
Toutes les valeurs |
&FICHIER# = clôture_hebdomadaire.txt |
La valeur du Schedule remplace celle du Transfert de Fichier. |
&HOTE# = win01 |
Etant donné que toutes les valeurs du Schedule sont héritées, le Transfert de Fichier peut également accéder à &HOTE#. |
|
&CHEMIN# = C:\Temp |
Cette Variable d'objet appartient cependant au Transfert de Fichier. |
|
|
||
Valeurs définies seulement |
&FICHIER# = clôture_hebdomadaire.txt |
La valeur du Schedule remplace celle du Transfert de Fichier, étant donné qu'il contient également une Variable d'objet nommée &FICHIER#. |
&HOTE# = "" |
La valeur de &HOTE# n'est pas héritée, étant donné qu'aucune Variable d'objet du même nom n'est disponible dans le Transfert de Fichier.
|
|
&CHEMIN# = C:\Temp |
Cette Variable d'objet appartient cependant au Transfert de Fichier. |
|
|
||
Pas de valeurs |
&FICHIER# = résultat_du_jour.txt |
Etant donné qu'aucune valeur n'est héritée, la Variable d'objet du Transfert de Fichier s'applique. |
&HOTE# = "" |
La valeur de &HOTE# n'est pas héritée et n'est donc pas disponible.
|
|
&CHEMIN# = C:\Temp |
Cette Variable d'objet appartient cependant au Transfert de Fichier. |
Exemple 2
Voyons à présent comment se comporte le transfert de valeurs lorsqu'il s'agit d'une chaîne de Tâches.
Un Workflow contient les deux objets TRANSFERTDEFICHIER01 et Workflow01. Ce dernier possède deux Jobs. L'héritage des valeurs entre le Workflow principal et le Transfert de Fichier est exactement comme dans l'exemple 1.
Workflow Variable d'objet : |
||
---|---|---|
TRANSFERTDEFICHIER01 Variable d'objet : |
Workflow01 Variable d'objet : |
|
|
JOB02 Variable d'objet : |
JOB03 Variable d'objet : |
Examinons donc le Workflow01 et l'influence de son paramètre sur les deux Jobs. Les cas suivants sont indépendants l'un de l'autre et décrivent diverses situations :
Exemple 3
L'exemple suivant contient les différentes combinaisons et particularités de l'héritage de Variables d'objet et PromptSet.
Dans le WOrkflow, 5 Tâches (Tâche 1, 2, 3, 4 et 6) sont exécutées les unes après les autres. La Tâche 5 est activée via le script de la Tâche 4.
Le Workflow possède les Variables d'objet &VAR1#, &VAR2# et les Variables PromptSet &TEXT1#, &COMBO1#.