Le variabili sessione sono variabili hook globali all'intera sessione di collegamento. Ciò significa che è possibile impostare la variabile di sessione in qualsiasi tipo di funzione hook e leggerla successivamente, di nuovo in qualsiasi tipo di funzione hook. Il valore rimane per l'intera sessione.
IBM® Rational ClearQuest supporta l'utilizzo delle variabili sessionwide per la memorizzazione delle informazioni. Dopo aver creato le variabili sessionwide, è possibile accedervi tramite l'oggetto sessione corrente utilizzando funzioni o routine secondarie, incluso funzioni hook, che hanno accesso all'oggetto sessione. Quando la sessione corrente termina, tutte le variabili associate a quell'oggetto sessione vengono eliminate. La sessione termina quando l'utente si scollega o l'ultimo riferimento all'oggetto sessione cessa di esistere.
Per:
Il seguente esempio mostra come creare una nuova variabile e riportare il relativo valore. Tale esempio crea la variabile chiamata "Hello" e le assegna il valore "Hello World".
# You can use $session instead of defining
# $curSession = $entity->GetSession();
$myValue = "Hello World";
# Create and set the value of the "Hello" variable
$session->SetNameValue("Hello", $myValue);
# Get the current value
$newValue = $session->GetNameValue("Hello");
# Optional
$session->OutputDebugString($newValue);
Dim myValue
curSession = GetSession()
myValue = "Hello World"
' Create and set the value of the "Hello" variable
curSession.NameValue "Hello", myValue
' Get the current value
Dim newValue
newValue = curSession.NameValue("Hello")
Considerare il seguente esempio in VBScript. Se si desidera trovare il nome dell'azione corrente in una funzione hook di convalida campo, è possibile utilizzare il metodo GetActionName, oppure utilizzare una variabile sessione.
In tutte le funzioni hook di inizializzazione azione, l'azione corrente viene trasmessa nel parametro, actionname. È possibile impostare una variabile sessione, chiamata ActionName sul valore in actionname con il seguente codice:
set session = GetSession
session.NameValue "ActionName", actionname
Quindi, nella funzione hook di convalida campo, è possibile richiamare il valore corrente della variabile sessione ActionName in actionname con:
set session = GetSession
actionname = session.NameValue("ActionName")
' ...
Utilizzando VBScript, è anche possibile memorizzare gli oggetti in una variabile sessione. Notare che viene utilizzato set per memorizzare gli oggetti. Ad esempio:
set sessionObj.NameValue "Obj", object
o
set sessionObj.NameValue "CalendarHandle", param.ObjectItem
Nell'esempio precedente, param è il parametro su una funzione hook di script di record e contiene uno strumento di gestione oggetto. Consultare NameValue, HasValue, ObjectItem e Informazioni relative agli script di record per ulteriori informazioni.