このプロパティは、セッション全体の変数の値を取得および設定する場合に使用します。このプロパティは値の配列から構成されるので、関係する変数の名前を指定する必要があります。存在しない変数の値を設定すると、変数が作成され、指定された値が変数に割り当てられます。存在しない変数の値を取得しようとすると、空の Variant が戻されます (Visual Basic の場合)。
IBM Rational ClearQuest は、全セッション用の変数を使用した情報の保存をサポートします。 一度作成すると、いつでも現在の Session を使用して、また Session オブジェクトにアクセスできる関数およびサブルーチン (フック ルーチンを含む) から、セッション全体の変数にアクセスできます。ユーザーがログアウトするかまたは Session オブジェクトが削除されて、現在のセッションが終了すると、その Session オブジェクトに関連付けられたすべての変数は削除されます。 セッション全体の変数は NameValue プロパティ (Perl の場合は GetNameValue および SetNameValue メソッド) を使用してアクセスされます。さらに、HasValue メソッドを使用すると、変数が存在するかどうかチェックできます。
例えば、Rational® ClearQuest® セッションが Web セッションかフル クライアント セッションであるかどうかを指定する _CQ_WEB_SESSION セッション変数があります。_CQ_WEB_SESSION が存在する場合、セッションは Web セッションです。この値を確認するには、HasValue メソッドを使用します。
オブジェクトをセッション変数として保存することもできます。例を次に示します。
set sessionObj.NameValue "Obj", object
set sessionObj.NameValue "CalendarHandle", param.ObjectItem
上の例で、param は、レコード スクリプト フックに対するパラメータで、オブジェクト ハンドルが含まれます。
別の場所で、オブジェクトのプロパティを操作できます。 例を次に示します。
Dim Calender 'Get the object handle Set Calender = MySession.NameValue("CalendarHandle") 'Do something with the object ...
VBScript
session.NameValue (variable_name) session.NameValue variable_name, newValue
Perl
$session->GetNameValue(variable_name); $session->SetNameValue(variable_name, newValue);
VBScript
set sessionObj = GetSession ' Get the old value of the session variable "foo" fooValue = sessionObj.NameValue("foo") ' Set the new value of "foo" sessionObj.NameValue "foo",bar
Perl
$sessionObj = $entity->GetSession(); if ($sessionObj->HasValue("foo")) { # Get the old value of the session variable "foo" $fooValue = $sessionObj->GetNameValue("foo"); # Set the new value of "foo" $sessionObj->SetNameValue("foo","bar");