Les scripts d'enregistrement constituent un genre de point d'ancrage générique qui est appelé en réponse à un événement. Il est possible d'écrire un script exécutant des fonctions personnalisées dans le contexte d'un enregistrement. Les scripts s'exécutent dans le contexte de l'enregistrement sélectionné. Chaque sous-routine de script d'enregistrement est spécifique à un seul type d'enregistrement.
En règle générale, les scripts d'enregistrement sont utilisés pour implémenter une action démarrée lorsque l'utilisateur clique sur un bouton de commande ou sur un élément de menu contextuel associé à une zone de formulaire. Par exemple, un script d'enregistrement peut envoyer des données concernant l'enregistrement en cours à un autre système.
Un script d'enregistrement peut être exécuté de trois manières :
Par exemple, dans le schéma TeamTest, le script d'enregistrement Build_Properties permet aux utilisateurs d'afficher les propriétés de la version sélectionnée. Ce script est associé à un bouton qui l'exécute. Le script d'enregistrement Build_Properties extrait les informations de version à partir du référentiel Rational ClearQuest, puis les affiche dans une fenêtre.
Ils utilisent tous la même syntaxe :
Function RecordName_HookName(param) ' param As Variant ' RecordName_HookName As Variant ' ... End Function
Lorsqu'un script d'enregistrement est appelé à partir d'un autre point d'ancrage, le paramètre transmis à ce dernier est un élément Variant contenant les données appropriées. Si le point d'ancrage renvoie des informations au point d'ancrage appelant, elles doivent être transmises via un élément Variant.
Lorsqu'il est associé à un contrôle de formulaire, le paramètre transmis à la méthode contient une instance de la classe EventObject. Cette instance contient des informations concernant l'événement à la suite duquel le point d'ancrage a été appelé. (Voir Evénements liés aux contrôles de formulaire.) Le logiciel Rational ClearQuest ne s'attend pas à ce que les scripts d'enregistrement associés à des contrôles de formulaire renvoient une valeur. Lorsqu'une valeur non nulle est renvoyée par un point d'ancrage d'enregistrement, Rational ClearQuest l'interprète comme étant une erreur et affiche un message sur le client Rational ClearQuest.
Les scripts d'enregistrement peuvent être associés à des boutons de commande, à des zones de texte et à des listes. S'ils sont associés à un bouton, le point d'ancrage est exécuté lorsque vous cliquez sur ce bouton. S'ils sont associés à des contrôles de zones de texte et à des contrôles de liste, le point d'ancrage est ajouté au menu contextuel du contrôle.
Vous pouvez également associer un script d'enregistrement avec une action de type RECORD_SCRIPT_ALIAS. Cette association vous permet d'ajouter un bouton personnalisé dans le menu Action d'un formulaire Rational ClearQuest.
Rational ClearQuest Web examine la valeur renvoyée par un script d'enregistrement qui est appelé par un bouton de commande. Si cette valeur est une chaîne, elle est considérée comme un message d'erreur et le point d'ancrage échoue.
Si vous ne définissez pas explicitement la valeur renvoyée par le script d'enregistrement, elle est nulle ou vide, ce qui indique que le point d'ancrage s'est exécuté correctement.
Pour activer les points d'ancrage d'enregistrement Web, sélectionnez Activer pour le web dans l'onglet Etendue, qui se trouve dans la feuille de propriétés du contrôle.
Dans Rational ClearQuest Web, les points d'ancrage d'enregistrement s'exécutent sur le serveur Rational ClearQuest Web. C'est pourquoi vous ne devez pas appeler de sous-programmes Windows entraînant l'ouverture d'une fenêtre. La fenêtre s'ouvrirait sur le serveur et non sur le client. Lorsqu'il ouvre une session, le serveur Web Rational ClearQuest crée un objet Session.NameValue nommé CQ_WEB_SESSION pour permettre l'activation des scripts dans l'environnement Web.
Lorsqu'un script d'enregistrement est déclenché par un contrôle de formulaire, le logiciel Rational ClearQuest lui envoie un objet EventObject qui contient des informations concernant le type d'événement intervenu. Différents contrôles peuvent générer différents types d'événement (clics sur des boutons, sélection d'éléments, etc.). Vous devez utiliser les informations de l'objet EventObject pour déterminer la façon dont l'événement doit être traité.
Les types d'événements suivants sont générés pour les contrôles de formulaire :
Le tableau suivant répertorie le type d'événement pris en charge pour chaque contrôle, ainsi que les informations supplémentaires fournies par l'objet EventObject. Les constantes figurant dans la colonne Type d'événement pris en charge font partie du type EventType correspondant.
Type de contrôle | Type d'événement pris en charge | Informations supplémentaires |
---|---|---|
Bouton de commande | AD_BUTTON_CLICK | Nom du bouton |
Zone de liste déroulant | AD_CONTEXMENU_ITEM_SELECTION | Chaîne vide |
Boîte à liste déroulante | AD_CONTEXMENU_ITEM_SELECTION | Chaîne vide |
Zone de liste | AD_CONTEXMENU_ITEM_SELECTION | Valeur de zone sélectionnée |
Vue liste | AD_CONTEXMENU_ITEM_SELECTION | Valeur de zone sélectionnée |
Zone de texte | AD_CONTEXMENU_ITEM_SELECTION | Valeur de zone sélectionnée |
Zone de liste déroulante | AD_CONTEXMENU_ITEM_SELECTION | Chaîne vide |