Salva la query nell'ubicazione specificata nello spazio di lavoro.
L'utente che ha effettuato l'accesso alla sessione corrente deve poter accedere al nome del percorso specificato nel parametro qdefPath. (perciò, solo gli utenti che hanno privilegi di amministratore possono salvare le query nella cartella Public Queries.) Se il nome di percorso specificato dall'utente nel parametro qdefPath contiene cartelle secondarie che non esistono, Rational ClearQuest crea tali cartelle in modo implicito.
L'ultimo parametro nel metodo SaveQueryDef è un valore booleano che specifica se sovrascrivere o meno un oggetto QueryDef con lo stesso nome e percorso esistente (0 = non sovrascrivere, 1 = sovrascrivere). Quando la query esiste già oppure quando si specifica il valore 0 o il valore 1 nel parametro overwrite, il metodo restituisce un errore.
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);