Im folgenden Beispiel wird nach ID und mit aufsteigender Sortierreihenfolge sortiert.
use CQPerlExt; #Rational-ClearQuest-Sitzung starten $SessionObj = CQSession::Build(); $dbsetname = "CQMS.SAMPL.HOME"; #Liste der verfügbaren Datenbanken aktualisieren $databases = $SessionObj->GetAccessibleDatabases("MASTR", "", $dbsetname); #Anmeldung an Datenbank $SessionObj->UserLogon("admin","","SAMPL",$dbsetname); #Abfrage erstellen $querydef = $SessionObj->BuildQuery("defect"); $querydef->BuildField("id"); $querydef->BuildField("headline"); $querydef->BuildField("owner.login_name"); $querydef->BuildField("submit_date"); # queryfilternode-Objekt erstellen: # where (Status nicht "closed" 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); # QueryFieldDef-Objekte der Sammlung abrufen $queryfielddefs = $querydef->GetQueryFieldDefs(); # ID-Feld auswählen und Sortiertyp und Sortierreihenfolge festlegen $idfield = $queryfielddefs->ItemByName("id"); $idfield->SetSortType($CQPerlExt::CQ_SORT_DESC); # Bei Verwendung mehrerer Sortierspalten legt die folgende Einstellung fest, welche Spalte Priorität hat: $idfield->SetSortOrder(1); # Feld "submit_date" auswählen und Wochenfunktion definieren $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);