Entidades y enganches

En un enganche de VBScript, IBM® Rational ClearQuest proporciona un objeto Entity implícito que representa el registro de datos actual. Si el enganche de VBScript llama a un método de Entity sin proporcionar un identificador destacado, IBM Rational ClearQuest utiliza, automáticamente, este objeto Entity implícito. Además, los enganches de Rational ClearQuest definen una variable de "entity" explícita para utilizarla si desea especificar el objeto al que hace referencia. El nombre de variable de entidad es idéntico al nombre de tipo de registro. Si accede a la API desde fuera de un enganche, o si accede a un objeto Entity diferente del implícito, debe especificar el otro objeto Entity explícitamente. (Asimismo, si utiliza Perl, siempre debe proporcionar una variable explícita, y su nombre es "entity". Consulte el apartado GetSession para obtener detalles).

Los ejemplos siguientes muestran dos formas de llamar al mismo método en un enganche VBScript. En el segundo ejemplo, el valor, defect, representa al objeto entity (tipo de registro) actual.

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

o

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

El objeto Session proporciona dos métodos para obtener una entidad: BuildEntity (para compilar un nuevo registro) o GetEntity (para un registro existente). Cuando envía un nuevo registro, BuildEntity automáticamente obtiene la entidad. Para obtener un registro existente, debe pasar el identificador exclusivo del registro y el nombre de tipo de registro al método GetEntity.

Debe identificar objetos Entity utilizando el nombre de visualización del tipo de registro correspondiente. Para tipos de registro sin estado, identifique los registros individuales mediante el contenido del campo de clave única del tipo de registro. Para tipos de registro basados en estado, identifique los registros mediante el ID visible del registro. IBM Rational ClearQuest asigna a cada nuevo registro una serie de ID visible compuesta por el nombre de base de datos lógica y un número secuencial exclusivo. Por ejemplo, el décimo registro de la base de datos "BUGID" puede tener el ID visible "BUGID00000010".

El ejemplo de VBScript siguiente se extrae de un enganche que accede a dos objetos Entity: el objeto implícito y un objeto duplicado. El objeto duplicado corresponde al registro cuyo ID es "BUGID00000031".

set sessionObj = GetSession 

' Call a method of the implicit Entity object.
set fieldvalue = GetFieldValue("fieldname")

' VBScript assumes the current entity implicitly.

' The fieldname must be valid or IBM
Rational ClearQuest returns an error.

value = fieldvalue.GetValue() 
' Call the same method for the duplicate object, by explicitly acquiring 
' the other entity, which is of the defect record type.
set otherEntity = sessionObj.GetEntity("defect", "BUGID00000031")

set fieldvalue2 = otherEntity.GetFieldValue("fieldname")

value = fieldvalue2.GetValue() 

Tal como se ha demostrado en el ejemplo anterior, para acceder a un objeto Entity que no sea el implícito de un enganche de VBScript, primero debe adquirir ese objeto Entity. Desde el exterior de un enganche, siempre debe adquirir el objeto Entity con el que va a trabajar.

Nota: Para obtener más información sobre los objetos Entity existentes, consulte el apartado "Trabajo con consultas" o los métodos del objeto Session actual.

Feedback