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.
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
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.