El cliente de Rational ClearQuest ofrece una posibilidad de informe eficaz en un entorno de interfaz gráfica de usuario (GUI). La API de Rational ClearQuest también ofrece soporte para informe programático.
A veces, sólo se necesitan los resultados sin formato en lugar de un informe muy formateado. La subrutina siguiente es una aplicación externa:
A continuación de los ejemplos de código de VBScript y Perl se incluyen otros ejemplos de código de Perl que muestran:
Sub RunBasicQuery(session, querydef) ' The parameters to this subroutine are a Session object and a ' QueryDef object. It is assumed that the QueryDef is valid (for ' example, BuildField has been used to select one or more fields ' to retrieve). Dim rsltset ' un objeto ResultSet Dim status ' Long Dim column ' Long Dim num_columns ' Long Dim num_records ' Long Set rsltset = session.BuildResultSet(querydef) rsltset.Execute StdOut "primary entity def for query == " & _ rsltset.LookupPrimaryEntityDefName num_columns = rsltset.GetNumberOfColumns num_records = 0 status = rsltset.MoveNext Do While status = AD_SUCCESS num_records = num_records + 1 StdOut "Record #" & num_records ' Note: result set indices are based 1..N, not the usual ' 0..N-1 habitual column = 1 Do While column <= num_columns ' ToStr convierte el argumento en una serie StdOut " " & rsltset.GetColumnLabel(column) & "=" & _ ToStr(rsltset.GetColumnValue(column)) column = column + 1 Loop StdOut "" status = rsltset.MoveNext Loop End Sub REM Start of Global Script StdOut sub StdOut(Msg) msgbox Msg end sub REM End of Global Script StdOut
sub RunBasicQuery { my($session)=@_[0]; my($querydef)=@_[1]; # The parameters to this subroutine are a Session object # and a QueryDef object. It is assumed that the QueryDef # is valid (for example, BuildField has been used to select # one or more fields to retrieve). my ($rsltset); # This is a ResultSet object my ($status); my ($column); my ($num_columns); my ($num_records); $rsltset = $session->BuildResultSet(querydef); $rsltset->Execute; print "primary entity def for query == ", $rsltset->LookupPrimaryEntityDefName; $num_columns = $rsltset->GetNumberOfColumns; $num_records = 0; $status = $rsltset->MoveNext; while ($status == $CQPerlExt::CQ_SUCCESS) { $num_records = $num_records + 1; print "Record #", $num_records; # Note: result set indices are based 1..N, not the usual # 0..N-1 $column = 1; while ($column <= $num_columns) { print " ", $rsltset->GetColumnLabel($column), "=", $rsltset->GetColumnValue($column); $column = $column + 1; } print ""; $status = $rsltset->MoveNext; } }