Utilisez l'élément <setenv> pour initialiser les valeurs de
variables d'environnement dans les éléments <interface> ou <match>. L'élément <setenv> ne contient pas d'autre élément.
Il peut être utilisé de trois façons différentes :
- Lorsque vous indiquez un nom de groupe, l'élément fonctionne comme la commande .set.
Il définit la valeur de la variable figurant dans l'enregistrement maître de la base de données, et non la copie utilisée par l'étape en cours. L'adaptateur en cours d'exécution dans l'étape actuelle ne perçoit pas la modification. Vous ne pouvez pas créer de variables de cette manière.
- Lorsque vous n'indiquez pas de nom de groupe, l'élément fonctionne comme la commande .bset. Il définit la valeur de la variable dans l'environnement du travail en cours d'exécution. La modification est disponible pour toutes les étapes du travail. Vous pouvez créer des variables de cette manière.
- Lorsque vous n'indiquez pas de nom de groupe mais définissez une variable temporaire
(type="temp"), l'élément configure uniquement une variable temporaire pour l'utilisation de la
logique d'adaptateur. La variable n'est pas conservée après l'exécution de l'étape
d'adaptateur. Vous pouvez créer des variables de cette manière.
Attributs :
- condition
- Facultatif, sous la forme fonction". La valeur de fonction est une expression définie sur true ou false. Si elle est définie sur true, la commande est exécutée. Si
elle est définie sur false, la commande n'est pas exécutée.
Voir Fonctions conditionnelles.
- eval
- Facultatif. Défini sur True ou False. Si l'attribut est défini sur true, l'adaptateur tente
d'évaluer l'expression de l'attribut value et de stocker les résultats.
- group
- Facultatif. Indique l'environnement Build Forge dans lequel la variable
est définie. Lorsque vous indiquez un nom d'environnement, vous devez faire référence
à une variable existante dans l'environnement indiqué.
Si vous indiquez
[ADAPTOR] comme valeur, alors la valeur est définie lors de l'exécution.
L'attribut group est défini sur l'environnement de l'étape ou du lien d'adaptateur qui appelle l'adaptateur.
Build Forge autorise les variables éponymes dans
plusieurs environnements. La priorité de l'héritage et de l'inclusion
d'environnement peut avoir un impact sur la définition de la valeur à attribuer à une variable lors de l'exécution.
- name
- Obligatoire. Indique le nom de la variable à définir. La valeur
de cet attribut peut être une variable. Dans ce cas, le nom de la variable n'est
pas défini jusqu'à l'exécution.
- type
- Facultatif. Indique la méthode de définition de la variable. Cet attribut
peut être défini sur l'une des valeurs suivantes :
- append texte: place la valeur indiquée après toute valeur existante. Si le texte facultatif est indiqué, il est placé
entre les valeurs.
- once : la variable doit uniquement être définie si elle ne l'est pas déjà.
- prepend texte : place la valeur avant toute valeur existante.
- temp : la variable doit uniquement être définie dans le contexte de l'adaptateur.
Si le texte facultatif est indiqué, il est placé
entre les valeurs. Voir les exemples ci-dessous.
- value
- Obligatoire. Valeur à définir dans la variable. Il peut s'agir d'une expression
à définir si l'attribut eval est également indiqué.
Le résultat de l'évaluation est stocké sous forme de valeur.
Exemples :
L'exemple suivant définit la valeur de l'expression dans l'attribut value et stocke le résultat dans la variable LAST_VER. Il est défini sur la valeur
maximale de $LAST_VER ou sur la valeur de la variable $1.
<setenv group="Adaptor" name="LAST_VER"
value="$LAST_VER>$1?$LAST_VER:$1" eval="true" />
L'exemple suivant insère un caractère de retour à la ligne (\n) avant d'ajouter des données à la variable
Changes :
<setenv name="Changes" value="$4 - $1 - $6" type="temp append\n" />
L'exemple suivant insère un signe deux-points après la valeur initialement ajoutée
à la variable INFOPATH :
<setenv name="INFOPATH" value="/usr/local" type="temp prepend:" />