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