Sitzungsvariablen sind Hook-Variablen, die global für die gesamte Anmeldesitzung gelten. Das bedeutet, dass Sie eine Sitzungsvariable in einem beliebigen Hook setzen und später auch in einem beliebigen Hook lesen können. Der Wert bleibt für die gesamte Sitzung bestehen.
IBM Rational ClearQuest unterstützt die Verwendung von sitzungsübergreifenden Variablen zum Speichern von Informationen. Nach Erstellung sitzungsübergreifender Variablen können Sie über das aktuelle Session-Objekt auf diese Variablen zugreifen. Dazu werden Funktionen oder Subroutinen (einschließlich Hooks) verwendet, die Zugriff auf das Session-Objekt haben. Wenn die aktuelle Sitzung endet, werden alle diesem Session-Objekt zugeordneten Variablen gelöscht. Die Sitzung endet, wenn sich der Benutzer abmeldet oder die letzte Referenz auf das Session-Objekt nicht mehr vorhanden ist.
Das folgende Beispiel zeigt, wie eine neue Variable erstellt und der zugehörige Wert zurückgegeben wird. In diesem Beispiel wird die benannte Variable "Hello" erstellt und dieser Variablen der Wert "Hello World" zugeordnet.
# 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")
Das folgende Beispiel bezieht sich auf VBScript. Wenn Sie den aktuellen Aktionsnamen in einem Feldprüfungs-Hook herausfinden möchten, können Sie die Methode GetActionName oder eine Sitzungsvariable verwenden.
In jedem Aktionsinitialisierungs-Hook wird die aktuelle Aktion im Parameter actionname übergeben. Sie können die Sitzungsvariable ActionName mit dem folgenden Code auf den Wert von actionname setzen:
set session = GetSession session.NameValue "ActionName", actionname
Im Feldprüfungs-Hook können Sie dann den aktuellen Wert der Sitzungsvariablen ActionName für actionname wie folgt abrufen:
set session = GetSession actionname = session.NameValue("ActionName") ' ...
Mit VBScript können Sie außerdem Objekte in einer Sitzungsvariablen speichern. Beachten Sie, dass zum Speichern von Objekten set verwendet wird. Beispiel:
set sessionObj.NameValue "Obj", object
set sessionObj.NameValue "CalendarHandle", param.ObjectItem
Im obigen Beispiel ist param der Parameter für einen Datensatz-Script-Hook, der eine Objektkennung enthält. Weitere Informationen finden Sie in den Abschnitten NameValue, HasValue, ObjectItem und Understanding record scripts.