Session 변수는 전체 로그온 세션에 글로벌인 후크 변수입니다. 이는 모든 유형의 후크에서 세션 변수를 설정할 수 있으며, 모든 유형의 후크에서 나중에 다시 이를 읽을 수 있음을 의미합니다. 값은 전체 세션에 지속됩니다.
IBM® Rational® ClearQuest®는 정보 저장을 위해 세션 전체 변수 사용을 지원합니다. 세션 전체 변수를 작성한 후에는 Session 오브젝트에 대한 액세스 권한을 가진 함수나 서브루틴(후크 포함)을 사용하여 현재 Session 오브젝트를 통해 변수에 액세스할 수 있습니다. 현재 세션이 종료되면 해당 Session 오브젝트와 연관된 모든 변수가 삭제됩니다. 사용자가 로그아웃하거나 Session 오브젝트에 대한 최종 참조가 더 이상 존재하지 않으면 세션이 종료됩니다.
다음 예제는 새 변수를 작성하고 값을 리턴하는 방법을 표시합니다. 이 예제에서는 "Hello"라는 변수를 작성하고 여기에 "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")
VBScript의 다음 예제를 고려하십시오. 필드 유효성 검증 후크에서 현재 조치 이름을 찾으려는 경우, GetActionName 메소드를 사용하거나 세션 변수를 사용할 수 있습니다.
모든 조치 초기화 후크에서 현재 조치는 actionname 매개변수로 전달됩니다. 다음 코드를 사용하여 ActionName이라는 세션 변수를 actionname의 값으로 설정할 수 있습니다.
set session = GetSession session.NameValue "ActionName", actionname
그런 다음, 다음을 사용하여 필드 유효성 검증 후크에서 ActionName 세션 변수의 현재 값을 actionname에서 검색할 수 있습니다.
set session = GetSession actionname = session.NameValue("ActionName") ' ...
VBScript를 사용하면 세션 변수에 오브젝트를 저장할 수도 있습니다. set을 사용하여 오브젝트를 저장함에 유의하십시오. 예를 들어, 다음과 같습니다.
set sessionObj.NameValue "Obj", object
set sessionObj.NameValue "CalendarHandle", param.ObjectItem
위 예제에서 param은 레코드 스크립트 후크에 대한 매개변수이고 오브젝트 핸들을 포함합니다. 자세한 정보는 NameValue, HasValue, ObjectItem 및 레코드 스크립트 이해를 참조하십시오.