Entités et points d'ancrage

Dans un point d'ancrage VBScript, IBM® Rational ClearQuest fournit un objet Entity implicite représentant l'enregistrement de données en cours. Si le point d'ancrage VBScript appelle une méthode de l'objet Entity sans fournir de préfixe identificateur, IBM Rational ClearQuest utilise automatiquement cet objet Entity implicite. En outre, les points d'ancrage Rational ClearQuest définissent une variable "entity" explicite que vous pouvez utiliser si vous souhaitez spécifier l'objet auquel vous faites référence. Le nom de la variable d'entité (entity) est identique au nom du type d'enregistrement. Si vous accédez à l'API depuis l'extérieur d'un point d'ancrage ou si vous accédez à un objet Entity autre que l'objet implicite, vous devez préciser explicitement l'autre objet Entity. (En outre, si vous utilisez Perl, vous devez toujours fournir une variable explicite dont le nom est "entity". Voir GetSession pour plus de détails.)

Les exemples suivants illustrent deux manières d'appeler la même méthode dans un point d'ancrage VBScript. Dans le second exemple, la valeur defect représente l'objet entity (type d'enregistrement) en cours.

fieldvalue = GetFieldValue("fieldname").GetValue() 

ou

fieldvalue = defect.GetFieldValue("fieldname").GetValue() 

L'objet Session fournit deux méthodes permettant d'obtenir une entité : BuildEntity (permet de générer un enregistrement) ou GetEntity (permet d'extraire un enregistrement existant). Lorsque vous soumettez un nouvel enregistrement, BuildEntity extrait automatiquement l'entité. Pour obtenir un enregistrement existant, vous devez transmettre à la méthode GetEntity l'identificateur unique de l'enregistrement et le nom du type d'enregistrement.

Vous pouvez identifier les objets Entity à l'aide du nom affiché du type d'enregistrement correspondant. Pour les types d'enregistrement sans état, vous pouvez identifier les enregistrements individuels à l'aide du contenu de la zone à clé unique du type d'enregistrement. Pour les types d'enregistrement basés sur l'état, vous pouvez identifier les enregistrements à l'aide de l'ID visible de l'enregistrement. IBM Rational ClearQuest attribue à chaque nouvel enregistrement une chaîne d'ID visible, composée du nom de base de données logique et d'un numéro de séquence unique. Par exemple, le dixième enregistrement de la base de données "BUGID" peut comporter l'ID visible "BUGID00000010".

L'exemple VBScript suivant est extrait d'un point d'ancrage qui accède à deux objets Entity : l'objet implicite et un objet dupliqué. L'objet dupliqué correspond à l'enregistrement dont l'ID est "BUGID00000031".

set sessionObj = GetSession 

' Appeler une méthode de l'objet Entity implicite.
set fieldvalue = GetFieldValue("fieldname")

' VBScript considère l'entité en cours comme implicite.

' Le nom de zone (fieldname) doit être valide, faute de quoi IBM
Rational ClearQuest renvoie une erreur.

value = fieldvalue.GetValue() 
' Appeler la même méthode pour l'objet dupliqué en acquérant explicitement 
' l'autre entité, dont le type d'enregistrement est defect.
set otherEntity = sessionObj.GetEntity("defect", "BUGID00000031")

set fieldvalue2 = otherEntity.GetFieldValue("fieldname")

value = fieldvalue2.GetValue() 

Comme illustré dans l'exemple précédent, pour accéder à un objet Entity autre que l'objet implicite, dans un point d'ancrage VBScript, vous devez préalablement acquérir cet objet Entity. De l'extérieur d'un point d'ancrage, vous devez toujours acquérir l'objet Entity que vous allez gérer.

Remarque : Pour en savoir plus sur l'acquisition d'objets Entity existants, voir la section "Utilisation des requêtes" ou les méthodes de l'objet Session en cours.

Commentaire