Per applicare la logica condizionale, è possibile determinare lo stato di destinazione del record su cui si sta svolgendo un'azione. Di seguito vengono riportati alcuni esempi:
Il seguente hook di notifica di azione acquisisce lo stato di destinazione e invia un e-mail se si sta chiudendo il record corrente.
Sub Defect_Notification(actionname, actiontype) Dim cqSes ' a Session object Dim entDef ' an EntityDef object Dim actionname ' a String Dim actiontype ' a Long ' action = test_base set cqSes = GetSession ' NOTE: You can also have conditional logic based on the ' current action set entDef = cqSes.GetEntityDef(GetEntityDefName) if entDef.GetActionDestStateName(actionName) = "Closed" then ' put send notification message code here end if End Sub
sub Defect_Notification {
my($actionName, $actiontype) = @_;
# $actionName as string scalar
# $actiontype as long scalar
# action is test_base
$actionName = $entity->GetActionName();
# NOTE: You can also have conditional logic based on the
# current action
# You can use the $session variable that Rational ClearQuest provides.
$entDef = session->GetEntityDef($entitiy->GetEntityDefName());
if ($entDef->GetActionDestStateName($actionName) eq "Closed")
{# put send notification message code here}
}