Histórico da Página
Introdução
...
O relatório dinâmico visa de forma transparente e simples, permitir que sejam inseridos componentes que irão compor a saída do relatório, isto é, seu resultado final apresentado. Desta forma, temos uma interface que pode ser confeccionada e customizada em poucos passos, trazendo um dinamismo e maior rapidez na execução dos relatórios do sistema. Dessa forma podem ser passados parâmetros de seleção por contratos, subunidades, cliente/fornecedor, entre outros.
Como utilizar
...
O relatório dinâmico deve ser acessado em Shopping / Relatórios / Relatório Dinâmico. Este menu possui permissão, então o usuário deve ter a sua respectiva permissão habilitada para utilizá-lo.
...
| Tabela | Parâmetro Multirecord IN | Parâmetro Multirecord Filter | Parâmetro Lookup |
|---|---|---|---|
| XCOMPRADOR | MRE_ XCOMPRADOR_IN | MRE_ XCOMPRADOR_FILTER | LKP_ XCOMPRADOR |
XCLIENTE | MRE_ XCLIENTE_IN | MRE_ XCLIENTE_FILTER | LKP_ XCLIENTE |
XLOCADOR | MRE_ XLOCADOR_IN | MRE_ XLOCADOR_FILTER | LKP_XLOCADOR |
XLOCATARIO | MRE_ XLOCATARIO_IN | MRE_ XLOCATARIOFILTER | LKP_ XLOCATARIO |
XIDLAN | MRE_ XIDLAN_IN | MRE_XIDLAN_FILTER | LKP_ XIDLAN |
XIMOVEL | MRE_ XIMOVEL_IN | MRE_ XIMOVEL_FILTER | LKP_ XIMOVEL |
XCONTRATOLOC | MRE_ XCONTRATOLOC_IN | MRE_ XCONTRATOLOC_FILTER | LKP_XCONTRATOLOC |
XEMPREENDIMENTO | MRE_ XEMPREENDIMENTO_IN | MRE_ XEMPREENDIMENTO_FILTER | LKP_ XEMPREENDIMENTO |
XUNIDADE | MRE_ XUNIDADE_IN | MRE_ XUNIDADE_FILTER | LKP_ XUNIDADE |
XSUBUNIDADE | MRE_ XSUBUNIDADE_IN | MRE_ XSUBUNIDADE_FILTER | LKP_ XSUBUNIDADE |
Como fazer (Relatório com Sentença SQL IN e Componente MultiRecord)
...
Dada as tabelas acima, eu quero que o meu relatório me permita escolher vários contratos de locação que irão fazer parte do resultado dele. Este relatório possui uma sentença SQL com uma clausula IN, então neste caso devemos proceder da seguinte maneira
...
| Bloco de código | ||
|---|---|---|
| ||
WHERE - AND XALGCONTRATOLOC.CODCONTLOC IN ( SELECT TO_NUMBER(COLUMN_VALUE) FROM TABLE(split_string(:MRE_XCONTRATOLOC_IN, ',')) ) |
Como fazer (Relatório com Sentença SQL FILTER e Componente MultiRecord)
...
Para esse relatório dinâmico ser criado, deve existir o parâmetro MRE_XCONTRATOLOC_FILTER no relatório como mostra a imagem abaixo:
...
O resultado da exibição no relatório dinâmico será o mesmo da exibição quando temos um componente IN, entretanto o resultado da consulta SQL do relatório será filtrada de acordo com os contratos selecionados. Não é necessário utilizar a função split.
Como fazer (Relatório com Componente Lookup)
...
Neste exemplo, eu quero que o meu relatório me permita escolher somente um contrato de locação que irão fazer parte do resultado dele através de uma lookup. Então neste caso devemos proceder da seguinte maneira.
...