L'esempio che segue imposta la sequenza di ordinamento sul campo id e il tipo di ordinamento su crescente.
use CQPerlExt;
#Avviare una sessione Rational ClearQuest
$SessionObj = CQSession::Build();
$dbsetname = "CQMS.SAMPL.HOME";
#Aggiornare l'elenco di database accessibili
$databases = $SessionObj->GetAccessibleDatabases("MASTR", "", $dbsetname);
#Accedere a un database
$SessionObj->UserLogon("admin","","SAMPL",$dbsetname);
#Creare una query
$querydef = $SessionObj->BuildQuery("defect");
$querydef->BuildField("id");
$querydef->BuildField("headline");
$querydef->BuildField("owner.login_name");
$querydef->BuildField("submit_date");
#Creare l'oggetto queryfilternode:
# dove (stato non tra AND (id = 1 OR id = 2))
$where = $querydef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND);
@states = ("closed");
$where->BuildFilter("state", $CQPerlExt::CQ_COMP_OP_NEQ, \@states);
$subor = $where->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_OR);
@id1 = ("SAMPL00000001");
$subor->BuildFilter("id", $CQPerlExt::CQ_COMP_OP_EQ, \@id1);
@id2 = ("SAMPL00000002");
$subor->BuildFilter("id", $CQPerlExt::CQ_COMP_OP_EQ, \@id2);
# Chiamare la raccolta di oggetti QueryFieldDef
$queryfielddefs = $querydef->GetQueryFieldDefs();
# Selezionare il campo id e impostare tipo e sequenza di ordinamento
$idfield = $queryfielddefs->ItemByName("id");
$idfield->SetSortType($CQPerlExt::CQ_SORT_DESC);
# nel caso di più colonne da ordinare, indica quale ha la precedenza:
$idfield->SetSortOrder(1);
# Selezionare il campo submit_date e impostare la funzione settimana
$datefield = $queryfielddefs->ItemByName("submit_date");
$datefield->SetFunction($CQPerlExt::CQ_DB_WEEK_FUNC);
$resultset = $SessionObj->BuildResultSet($querydef);
$ct = $resultset->ExecuteAndCountRecords();
for ($i = 0; $i < $ct; $i++) {
$resultset->MoveNext();
print $resultset->GetColumnValue(1);
print " ";
print $resultset->GetColumnValue(2);
print " ";
print $resultset->GetColumnValue(3);
print " ";
print $resultset->GetColumnValue(4);
print "\n";
}
CQSession::Unbuild($SessionObj);