Manuel Utilisateur > Objets > Liste alphabétique > Boîtes de dialogue PromptSet dynamiques

Boîtes de dialogue PromptSet dynamiques

L'Automation Engine met d'autres possibilités à votre disposition pour établir des masques de saisie de Tâches de manière dynamique.

Il s'agit alors plus spécialement de champs de combinaison et d'aide à la saisie de champs de texte dont le contenu peut varier de la valeur d'autres éléments PromptSet.

La création d'une boîte de dialogue PromptSet avec un champ de combinaison dynamique ou une aide à la saisie de champs de texte s'effectue dans l'ordre suivant :

  1. Créer un objet PromptSet avec au moins un champ de texte ou un champ de combinaison et un élément au choix
  2. Dans le champ de texte, utilisez la propriété "Aide à la saisie".
  3. Dans le champ de combinaison, définissez la propriété "Dynamique".
  4. Utilisez l'objet Variable possédant la source SQL, SQLI, FILELIST ou BACKEND comme référence de données pour le champ de texte/champ de combinaison.
  5. Dans cet objet Variable de référence, saisissez une ou plusieurs Variables PromptSet d'autres éléments du même PromptSet
    Les Variables PromptSet peuvent alors être utilisées dans les champs suivants dans l'onglet Variable de la Variable de référence :
    VARA.SQL, VARA.SEC_SQL : connexion, login, instructions SQL
    VARA.SQLI, VARA.SEC_SQLI : Instructions SQL
    VARA.FILELIST: hôte, login, répertoire
    VARA.BACKEND: hôte, login

Dans l'aide à la saisie, aucun paramètre spécifique n'est requis, car la résolution de la Variable de référence s'effectue uniquement lors de l'accès !

Attention : les Variables PromptSet qui ont été définies en tant que tableau (sélection multiple) ne peuvent pas être utilisées comme Variables de référence !

Pour l'utilisation des Variables PromptSet dans les objets Variable, le paramètre VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) doit être défini sur la valeur "3" ! Cette restriction ne s'applique cependant pas aux instructions SQL d'objets VARA avec les sources SQL SECURE et SQLI SECURE.

Dans l'objet PromptSet, une valeur par défaut doit être définie pour chaque élément dont la valeur chaque élément dont la valeur doit être utilisée dans les champs obligatoires des objets VARA (par ex. : Host, Login) !

Exemple

L'exemple suivant montre la création d'une boîte de dialogue PromptSet avec un champ de combinaison dynamique dont le contenu dépend d'un champ d'options. Un client AE doit pouvoir être spécifié via le champ d'options. Dans le champ de combinaisons, les Tâches du Client sélectionné sont alors toujours répertoriées.
Les valeurs de référence des deux éléments PromptSet sont directement issues de la base de données via les Variables SQLI.

Variables de référence

Créons tout d'abord les sources de référence de l'objet PromptSet. Créez en plus deux objets Variable avec la source SQLI.

La première Variable doit nous fournir les Clients du système AE. Ajoutez de plus l'instruction SQL suivante dans l'onglet Variable de l'objet VARA (serveur MS SQL) :

select distinct EH_Client from EH

Dans la deuxième Variable, les noms des Tâches doivent être déterminés, en fonction du client AE sélectionné. Pour ce faire, nous utilisons dans l'instruction SQL le nom probable de la Variable du champ d'options comme valeur pour le Client. Nous recevons alors l'instruction suivante :

select distinct EH_Name from EH where EH_Client=&CLIENT#

Assurez-vous que la première Variable fonctionne correctement en appelant le bouton "Aperçu" dans l'onglet Variable. La deuxième Variable ne peut pas être testée, car la Variable PromptSet &CLIENT# ne peut pas encore être résolue !

Assurez-vous que le paramètre système (UC_SYSTEM_SETTINGS - SQL_VAR_INTERNAL) et le privilège pour les Variables SQL internes sont disponibles.

Objet PromptSet

L'étape suivante consiste à créer l'objet PromptSet avec un champ d'options et un champ de combinaisons.

La Variable SQL qui détermine les clients Automic doit être attribuée au champ d'options comme référence de données. Veillez à ce que le nom de Variable de cet élément corresponde à celui qui a été utilisé dans l'instruction SQL de l'autre objet Variable (voir ci-dessus). Dans notre cas, saisissons CLIENT# comme nom de Variable (sans & en tête).

L'autre objet Variable de référence doit être attribué au champ de combinaisons. Important : définissez impérativement l'option Dynamique ! Sinon, une erreur apparaît lors de l'affichage de la boîte de dialogue PromptSet !
Raison : la Variable de référence n'est résolue via cette option que lorsque le champ de combinaisons est appelé. Dans le cas contraire, la résolution s'effectue déjà avant que les Variables PromptSet ne soient disponibles.

Attention : lors de l'ouverture du champ de combinaisons, une erreur survient également si l'élément par lequel l'ouverture dépend ne possède aucune valeur ou une valeur non valide. Par mesure de sécurité, définissez donc une valeur standard pour l'élément qui prédéfinit la valeur.

Appelez ensuite l'aperçu PromptSet pour tester la fonctionnalité du masque de saisie.