SaveQueryDef

Descripción

Guarda la consulta en la ubicación especificada en el espacio de trabajo.

El usuario que ha iniciado la sesión actual debe tener acceso al nombre de vía de acceso especificado en el parámetro qdefPath. (Así, sólo los usuarios con privilegios de administración pueden guardar consultas en la carpeta Consultas públicas). Si el nombre de vía de acceso que se especifica en el parámetro qdefPath contiene subcarpetas que no existen, Rational ClearQuest las crea de modo implícito.

El último parámetro del método SaveQueryDef es un valor Boolean que especifica si se debe sobrescribir un objeto QueryDef existente con el mismo nombre y vía de acceso (0 = no sobrescribir, 1 = sobrescribir). Este método devuelve un error si la consulta ya existe, con un valor 0 ó 1 especificado para el parámetro overwrite.

Sintaxis

VBScript

workspace.SaveQueryDef qdefName, qdefPath, queryDef, overwrite 

Perl

$workspace->SaveQueryDef(qdefName, qdefPath, queryDef, overwrite); 
Identificador
Descripción
workspace
El objeto Workspace obtenido de la sesión actual.
qdefName
Un valor String que contiene el nombre de la consulta.
qdefPath
Un valor String que contiene el nombre de vía de acceso de la carpeta en la que se desea guardar la consulta.
queryDef
El objeto QueryDef que representa la consulta que se desea guardar.
overwrite
Un valor Bool que indica si esta consulta debe sobrescribir una consulta que tenga el mismo nombre e información de vía de acceso.
Valor de retorno
Ninguno.

Ejemplo

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

Comentarios