Exemples : Hériter des variables d'objet
Les exemples de cette rubrique expliquent comment les variables sont transmises du parent aux enfants.
- Exemple : Activer un transfert de fichier par un Schedule
- Exemple : Hériter de valeurs par les enfants et petits-enfants
- Exemple : Combinaison de fonctions d'héritage
Exemple : Activer un transfert de fichier par un Schedule
Un transfert de fichier est activé par un schedule. Les variables d'objet suivantes sont concernées :
Schedule :
- &FILE# = cloture_hebdomadaire.txt
- &HOST# = win01
Transfert de fichiers :
- &FILE# = resultat_du_jour.txt
- &PATH# = C:\Temp
Le script du transfert de fichier accède aux variables définies dans le schedule (&FILE#, &HOST# et &PATH#). Leurs valeurs dépendent de ce qui est sélectionné à la section Paramètres de la Page Variables du schedule.
Hérite du Parent |
Contenu des variables |
Explication |
---|---|---|
Toutes les valeurs (par défaut) |
&FILE# = cloture_hebdomadaire.txt |
La valeur du schedule remplace celle du transfert de fichier. |
&HOST# = win01 |
Toutes les valeurs du schedule sont héritées. Ainsi, le transfert de fichier peut également accéder à &HOST#. |
|
&PATH# = C:\Temp |
Cette variable d'objet fait déjà partie du transfert de fichier. |
|
Uniquement les variables définies |
&FILE# = cloture_hebdomadaire.txt |
La valeur du Schedule remplace celle du transfert de fichier, étant donné qu'il contient également une variable d'objet nommée &FILE#. |
&HOST# = "" |
La valeur de &HOST# 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. Attention : l'activation d'une tâche est interrompue si vous cherchez à accéder dans le script à une variable d'objet qui n'existe pas ou qui n'est pas héritée. |
|
&PATH# = C:\Temp |
Cette variable d'objet fait déjà partie du transfert de fichier. |
|
Aucune variable |
&FILE# = resultat_du_jour.txt |
Aucune valeur sont héritées. C'est donc la variable d'objet du transfert de fichier qui est utilisée. |
&HOST# = "" |
La valeur de &HOST# n'est pas héritée. Elle ne peut donc pas être utilisée. Attention : l'activation d'une tâche est interrompue si vous cherchez à accéder dans le script à une variable d'objet qui n'existe pas ou qui n'est pas héritée. |
|
&PATH# = C:\Temp |
Cette variable d'objet fait déjà partie du transfert de fichier. |
Exemple : Hériter de valeurs par les enfants et petits-enfants
Voyons à présent comment se comporte le transfert de valeurs dans un Workflow enfant et au-delà.
Le Workflow PARENTWF01 contient les objets FILETRANSFER01 et WORKFLOW01. WORKFLOW01 contient deux jobs. L'héritage des valeurs entre le Workflow principal et le transfert de fichier s'effectue comme expliqué dans l'exemple 1.
Parent | Enfants | Petits-enfants |
---|---|---|
PARENTWF01 Variables d'objet : |
FILETRANSFER01 Variable d'objet : |
N/D |
WORKFLOW01 Variable d'objet : |
JOB02 | |
JOB03 Variable d'objet : |
Différentes situations sont présentées ci-dessous et décrivent comment WORKFLOW01 et ses paramètres affectent les deux jobs :
- Tous les objets présentent le paramètre "Toutes les valeurs".
Les variables d'objets sont toujours transmises à la tâche enfant correspondante. Le JOB03 peut ainsi accéder tant aux variables d'objets de WORKFLOW01 qu'à celles du Workflow principal. Par conséquent, &FOLDER# peut être utilisé dans le job. FILETRANSFER01 reçoit les variables d'objet du workflow principal, mais pas celles des autres objets, étant donné qu'ils ne sont pas ses parents. - WORKFLOW01 contient le paramètre "Valeurs définies seulement". WORKFLOW01 n'hérite pas de la variable d'objet &FOLDER#. Par conséquent les deux autres jobs n'accèdent pas à sa valeur car les valeurs ne sont transmises directement qu'à la tâche enfant d'une tâche.
- JOB03 présente le paramètre "Pas de valeurs".
Le script du job n'hérite d'aucune variable d'objet. Son script reste inchangé et &HOST# reçoit la valeur "unix03".
Exemple : Combinaison de fonctions d'héritage
L'exemple suivant contient différentes combinaisons et fonctionnalités particulières de l'héritage des variables objet et PromptSet.
Dans le Workflow, cinq 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#.
- Tâche 1 : Aucune variable n'est héritée en raison du paramètre "Hériter du parent - Aucune variable".
- Tâche 2 : Contient uniquement des variables qui ont été définies dans l'objet même. Ainsi, seule &VAR2# est héritée et définie avec la valeur JOBP2.
- Tâche 3 : Hérite de toutes les variables du Workflow.
- Tâche 4 : Toutes les variables parent sont héritées, sauf &COMBO1#. Raison : les variables PromptSet du même nom ne sont pas écrasées.
L'élément de script :PSET est utilisé pour passer la variable d'objet &VAR3# au Workflow. Elle est alors disponible pour les tâches du Workflow suivantes.
La tâche 5 est activée par le script (ACTIVATE_UC_OBJECT) et les variables sont transmises PASS_VALUES). - Tâche 5 : Ne contient que les variables ayant été définies dans l'objet.
&VAR1# est définie avec la valeur "JOBP1" et &TEXT1# avec "texte" (valeur du Workflow). - Tâche 6 : La tâche suivante du Workflow hérite de toutes les variables du Workflow, y compris &VAR3#. Cette variable a été transmise au Workflow par la tâche 4.
Voir aussi :