현재 후크가 모든 레코드를 볼 수 있는지 아니면 현재 사용자가 볼 수 있도록 허용된 레코드만 볼 수 있는지를 지정합니다.
스키마 개발자가 후크 단위별로 후크에서 레코드에 대해 후크 가시성을 제어할 수 있도록 허용합니다. Set 함수는 현재 실행 중인 후크의 지속 기간에 대해서만 가시성을 지정합니다.
메소드를 True (1)로 설정하면 조회가 실행될 때 현재 후크가 모든 레코드를 볼 수 있도록 지정됩니다. 값이 False (0)이면 조회가 실행될 때 현재 후크는 현재 사용자가 볼 수 있도록 허용된 레코드(세션에서 사용자의 실제 사용자 권한에 따라)만 볼 수 있습니다.
$session->SetHookSeesAllRecords(0);
$session->SetHookSeesAllRecords(1);
HOOKS_SEE_ALL_USERS 및 HOOKS_SEE_ALL_RECORDS 마스터 데이터베이스 특성으로 스키마 개발자는 데이터베이스에 있는 모든 후크에 대한 기본 가시성을 구성할 수 있습니다. 기능 레벨 5 및 6의 경우 이러한 특성의 기본값은 True (1)입니다. 기능 레벨 7의 경우 기본값은 False (0)입니다. CLI 명령에 대한 정보는 Rational ClearQuest 명령 참조를 참조하십시오.
VBScript
user_restr = session.SetHookSeesAllRecords set_vis
Perl
session->SetHookSeesAllRecords(set_vis);
VBScript
sub project_ChoiceList(fieldname, choices)
' fieldname As String
' choices As Object
' record type name is Defect
' field name is project
set session = GetSession
dim curHookSeesAllRecords
' Store current session "Context"
curHookSeesAllRecords = session.GetHookSeesAllRecords()
' set session context to "User Context"
session.SetHookSeesAllRecords(0)
set querydef = session.BuildQuery("project")
querydef.BuildField("name")
set resultset = session.BuildResultSet(querydef)
resultset.Execute
status =resultset.MoveNext
Do While status = AD_SUCCESS
choices.AddItem resultSetObj.GetColumnValue(1)
Loop
' revert to original session "Context"
session.SetHookSeesAllRecords( curHookSeesAllRecords )
End Sub
Perl
sub project_ChoiceList
{
my($fieldname) = @_;
my @choices;
# $fieldname as string scalar
# @choices as string array
# record type name is Defect
# field name is Project
my $session = $entity->GetSession();
my ($curHookSessAllRecords);
# store current "Context"
$curHookSessAllRecords=$session->GetHookSeesAllRecords();
# set to "User Context"
$session->SetHookSeesAllRecords(0);
my ($queryDefObj, $resultSetObj);
$queryDefObj = $session->BuildQuery("Project");
# have the query return the desired
# field of the user object(s)
$queryDefObj->BuildField("Name");
$resultSetObj = $session->BuildResultSet($queryDefObj);
# run it
$resultSetObj->Execute();
# add each value in the returned column to the choicelist
while ($resultSetObj->MoveNext() == $CQPerlExt::CQ_SUCCESS) {
push(@choices,$resultSetObj->GetColumnValue(1));
}
# revert to original session "Context"
$session->SetHookSeesAllRecords($curHookSessAllRecords);
return @choices;
}