ワークスペース内の指定されたロケーションにクエリーを保存します。
現在のセッションにログインしたユーザーには、qdefPath パラメータに指定されたパス名へのアクセス権が必要です。(したがって、管理権限を持つユーザーのみが共用クエリー フォルダにクエリーを保存できます。) qdefPath パラメータに指定するパス名に、存在しないサブフォルダが含まれている場合、Rational® ClearQuest® はこれらのフォルダを暗黙的に作成します。
SaveQueryDef メソッドの最後のパラメータは、既存の QueryDef オブジェクトを同じ名前およびパスのオブジェクトで上書きするかどうかを指定する Boolean 値です (0 = 上書きしない、1 = 上書きする)。 overwrite パラメータに値 0 または 1 が指定されて、クエリーが既に存在する場合、このメソッドからエラーが戻されます。
VBScript
workspace.SaveQueryDef qdefName, qdefPath, queryDef, overwrite
Perl
$workspace->SaveQueryDef(qdefName, qdefPath, queryDef, overwrite);
Perl
use CQPerlExt;
my $CQSession = CQSession::Build();
my $RootFolder = "Public Queries";
$CQSession->UserLogon($ologon, $opw, $odb, "");
$workspace = $CQSession->GetWorkSpace();
$QueryDef = $CQSession->BuildQuery("Defect");
@owner = ("jswift");
@state = ("Closed");
@dbfields = ("ID","State","Headline");
foreach $field (@dbfields) {
$QueryDef->BuildField($field);
}
$FilterNode1 = $QueryDef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND);
$FilterNode1->BuildFilter("Owner", $CQPerlExt::CQ_COMP_OP_EQ, ¥@owner);
$FilterNode1->BuildFilter('State', $CQPerlExt::CQ_COMP_OP_NOT_IN, ¥@state);
$ResultSet = $CQSession->BuildResultSet($QueryDef);
$ResultSet->Execute();
$workspace->SaveQueryDef("delete me", $RootFolder, $QueryDef, 1);
print "'$RootFolder/delete me' copied¥n";
}
CQSession::Unbuild($CQSession);