SaveQueryDef

Descrizione

Salva la query nell'ubicazione specificata nel workspace.

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 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.

Sintassi

VBScript

workspace.SaveQueryDef qdefName, qdefPath, queryDef, overwrite 

Perl

$workspace->SaveQueryDef(qdefName, qdefPath, queryDef, overwrite); 
Identificativo
Descrizione
workspace
L'oggetto Workspace ottenuto dalla sessione corrente.
qdefName
Una stringa contenente il nome della query.
qdefPath
Una stringa contenente il nome percorso della cartella in cui si desidera salvare la query.
queryDef
L'oggetto QueryDef che rappresenta la query che si desidera salvare.
overwrite
Un valore Bool indicante la sovrascrittura o meno di questa query con un'altra avente lo stesso nome e le stesse informazioni sul percorso.
Valore di ritorno
Nessuno.

Esempio

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); 

Feedback