Uso de Consulta Dinâmica na Geração de Relatórios de Recebimento de Dados

O ClearQuest permite gerar consultas com filtros dinâmicos que solicitam valores de parâmetro no tempo de execução. Entretanto, quando você utiliza consultas dinâmicas para gerar relatórios de recebimento de dados, deve utilizar uma solução alternativa para obter os comportamentos de operador IS_BETWEEN e IS_NOT_BETWEEN.
Com as consultas dinâmicas, cada filtro contém as seguintes informações:

Por exemplo, considere a consulta de amostra /Public Queries/Reports/State Query. Essa consulta inclui um filtro dinâmico que permite especificar um ou mais valores de estado. Cada cliente ClearQuest fornece uma interface para solicitar o operador e os valores de filtro. No modelo de geração de relatórios de recebimento de dados, o ClearQuest Reporting Driver também precisa de um mecanismo para recuperar essas informações.

Como os filtros dinâmicos solicitam duas partes da informação, o ClearQuest Reporting Driver trata cada filtro como dois parâmetros separados. No tempo de execução, você especifica o operador e os valores do filtro. As amostras incluídas na distribuição incluem uma biblioteca BIRT que contém um parâmetro de operador de amostra que você pode utilizar para exibir os operadores. É possível utilizar o parâmetro de amostra diretamente ou copiar os controles para seus próprios relatórios.

Valores do operador de filtro

Os valores do operador de filtro são derivados da interface Team API com.ibm.rational.wvcm.stp.cq.CqQuery.Filter.Operation. O BIRT e o Crystal Reports fornecem um mecanismo para expor cada valor de operador como uma cadeia de texto. Os valores de operador a seguir são definidos:
  • HAS_NO_SUBSTRING
  • HAS_SUBSTRING
  • IS_EQUAL
  • IS_GREATER_THAN
  • IS_GREATER_THAN_OR_EQUAL
  • IS_IN_SET
  • IS_LESS_THAN
  • IS_LESS_THAN_OR_EQUAL
  • IS_NOT_EQUAL
  • IS_NOT_IN_SET
  • IS_NOT_NULL
  • IS_NULL

Expressões de Filtro Especiais para Design de Relatórios de Recebimento de Dados

Os operadores IS_BETWEEN e IS_NOT_BETWEEN representam um desafio ao utilizar o modelo de relatório de recebimento de dados porque são necessários três argumentos (operador, operando inferior e operando superior) no total. O ClearQuest Reporting Driver não suporta diretamente os operadores IS_BETWEEN e IS_NOT_BETWEEN. Entretanto, é possível obter o comportamento desses operadores criando uma consulta do ClearQuest que utiliza dois filtros agrupados a um AND no gerador de consultas. No tempo de execução, o ClearQuest Reporting Driver cria quatro parâmetros para os dois filtros, simulando os operadores IS_BETWEEN e IS_NOT_BETWEEN.

Nos exemplos a seguir, as cadeias de texto em negrito são os valores que você fornece no tempo de execução.

Considere a seguinte expressão de filtro:

DateField
IS_BETWEEN
12-12-2005
AND
12-12-2007

Os mesmos resultados podem ser obtidos utilizando-se dois filtros, conforme mostrado no próximo exemplo:

DateField
IS_GREATER_THAN_OR_EQUAL
12-12-2005
AND
IS_LESS_THAN_OR_EQUAL
12-12-2007

Feedback