VBScript 후크 내부에서 IBM® Rational® ClearQuest®는 현재 데이터 레코드를 표시하는 암시적 Entity 오브젝트를 제공합니다. VBScript 후크가 선행 ID를 제공하지 않고 Entity의 메소드를 호출하는 경우, IBM Rational ClearQuest는 자동으로 이 암시적 Entity 오브젝트를 사용합니다. 또한 Rational ClearQuest 후크는 참조하고 있는 오브젝트를 지정하려는 경우 사용할 명시적 "entity" 변수를 정의합니다. entity 변수 이름은 레코드 유형 이름과 동일합니다. 후크 외부에서 API에 액세스하고 있는 경우 또는 암시적 오브젝트 이외의 다른 Entity 오브젝트에 액세스하고 있는 경우, 다른 Entity 오브젝트를 명시적으로 지정해야 합니다. (또한 Perl을 사용 중인 경우, 명시적 변수를 항상 제공해야 하며 변수 이름은 "entity"입니다. 자세한 정보는 GetSession을 참조하십시오.)
다음 예제는 VBScript 후크에서 동일한 메소드를 호출하는 두 가지 방법을 표시합니다. 두 번째 예제에서 defect 값은 현재 entity(레코드 유형) 오브젝트를 표시합니다.
fieldvalue = GetFieldValue("fieldname").GetValue()
fieldvalue = defect.GetFieldValue("fieldname").GetValue()
Session 오브젝트는 엔티티를 가져오기 위해 BuildEntity(새 레코드를 빌드할 경우) 또는 GetEntity(기존 레코드의 경우)와 같은 두 가지 메소드를 제공합니다. 새 레코드를 제출할 때 BuildEntity가 자동으로 엔티티를 가져옵니다. 기존 레코드를 가져오려면 GetEntity 메소드에 레코드의 고유 ID 및 레코 유형 이름을 전달하십시오.
해당 레코드 유형의 표시 이름을 사용하여 Entity 오브젝트를 식별하십시오. Stateless 레코드 유형의 경우, 레코드 유형의 고유 키 필드 컨텐츠를 사용하여 개별 레코드를 식별하십시오. state-based 레코드 유형의 경우 레코드의 볼 수 있는 ID를 사용하여 레코드를 식별하십시오. IBM Rational ClearQuest는 각각의 새 레코드에 논리 데이터베이스 이름 및 고유한 순차 번호로 구성된 볼 수 있는 ID 문자열을 지정합니다. 예를 들어, "BUGID" 데이터베이스의 10번째 레코드는 가시 ID "BUGID00000010"을 가질 수 있습니다.
다음 VBScript 예제는 두 개의 Entity 오브젝트(암시적 오브젝트 및 중복 오브젝트)에 액세스하는 후크에서 발췌한 것입니다. 중복 오브젝트는 ID가 "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()
이전 예제에 설명된 대로 VBScript 후크에서 암시적 오브젝트 이외의 다른 Entity 오브젝트에 액세스하려면 먼저 해당 Entity 오브젝트를 확보해야 합니다. 후크 외부에서 작업하려는 Entity 오브젝트를 항상 확보해야 합니다.