Histórico da Página
...
É importante frisar que toda a modificação resultante na tela do relatório dinâmico deve ser primeiro realizada nos relatórios que irão fornecer os parâmetros para a exibição da tela. Abaixo vamos mostrar como realizar essa alteração.
Existem duas opções de tipo de retorno de componentes:
- Multi Record: Quando há a necessidade que em determinado parâmetro seja selecionado vários registros. Identificado pela inicial MRE_. Quando temos o parâmetro Multirecord, ele irá interagir com consultas SQL IN ou FILTER como exemplifica a tabela abaixo.
- Lookup: Quando há a seleção somente de um registro em determinado componente. Identificado pela inicial LKP_
As tabelas disponíveis para passagem de parâmetros para execução do relatório dinâmico são as seguintes:
Tipos de Parâmetros
Multi Record (MRE_)
Utilizado quando é necessário selecionar mais de um registro em um mesmo parâmetro.
Esse tipo de parâmetro é identificado pelo prefixo MRE_ e deve ser aplicado em consultas SQL que utilizem operadores como IN ou FILTER, conforme exemplificado na Tabela abaixo.
Lookup (LKP_)
Utilizado quando é permitida a seleção de apenas um único registro no componente.
É identificado pelo prefixo LKP_ e possui uma regra específica de uso: ao criar o relatório, o parâmetro deve ser nomeado com o prefixo LKP_, e a sentença SQL deve utilizar o parâmetro conforme o padrão definido para cada Tabela, conforme listado abaixo.
Tabela Definição de Campos
| Tabela | Descrição | Parâmetro MULTIRECORD (IN) | Parâmetro MULTIRECORD (FILTER) | Parâmetro LOOKUP | |
|---|---|---|---|---|---|
| Parâmetro no Relatório | Parâmetro na Consulta SQL | ||||
FCFO | Cliente / Fornecedor | ||||
| 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_XCLIENTEXLOCADOR | :CODCOLCFO :CODCFO | |
XALGCONTRATOADMPROPRIETARIO | Locador do Contrato de Administração | MRE_XLOCADOR_IN | MRE_XLOCADOR_FILTER | LKP_XLOCADORXLOCATARIO | :CODCOLCFOPROP :CODCFOPROP |
XALGCONTRATOLOCLOCATARIO | Locatário do contrato de locação | MRE_XLOCATARIO_IN | MRE_XLOCATARIOFILTER | LKP_XLOCATARIO | :CODCOLCFOLOCATARIO :CODCFOLOCATARIO |
FLAN | Lançamentos XIDLAN | MRE_XIDLANIDLAN_IN | MRE_XIDLANIDLAN_FILTER | LKP_XIDLANIDLAN | :CODCOLLAN :IDLAN |
XALGIMOVEL | ImóvelXIMOVEL | MRE_XIMOVEL_IN | MRE_XIMOVEL_FILTER | LKP_XIMOVEL | :CODCOLIMOVEL :CODIMOVEL |
XCONTRATOLOC | Contrato de Locação | MRE_XCONTRATOLOC_IN | MRE_XCONTRATOLOC_FILTER | LKP_XCONTRATOLOC | :CODCOLCONTLOC :CODCONTLOC |
XEMPREENDIMENTO | Empreendimento | MRE_XEMPREENDIMENTO_IN | MRE_XEMPREENDIMENTO_FILTER | LKP_XEMPREENDIMENTO | :COD_PESS_EMPR |
XUNIDADE | Unidades | MRE_XUNIDADE_IN | MRE_XUNIDADE_FILTER | LKP_XUNIDADE | :COD_PESS_EMPR :NUM_UNID |
XSUBUNIDADE | Subunidades | MRE_XSUBUNIDADE_IN | MRE_XSUBUNIDADE_FILTER | LKP_XSUBUNIDADE | :COD_PESS_EMPR :NUM_UNID :NUM_SUB_UNID |
XCONDITEMCOBR | Item de Cobrança | MRE_XCONDITEMCOBR_IN | MRE_XCONDITEMCOBR_FILTER | LKP_XCONDITEMCOBR | :CODITEMCOBR |
FCXA | Contas/Caixa | MRE_FCXA_IN | MRE_FCXA_FILTER | LKP_FCXA | :CODCOLCXA :CODCXA |
GCCUSTO | Centros de Custo | MRE_GCCUSTO_IN | MRE_GCCUSTO_FILTER | LKP_GCCUSTO | :CODCOLCCUSTO :CODCCUSTO |
TTBORCAMENTO | Natureza Orçamentária/Financeira | MRE_TTBORCAMENTO_IN | MRE_TTBORCAMENTO_FILTER | LKP_TTBORCAMENTO | :CODCOLNATFINANCEIRA :CODNATFINANCEIRA |
Tipos de Parâmetros Compatíveis
Os tipos de parâmetros listados abaixo também são compatíveis e podem ser passados utilizados como componentes para geração do relatório dinâmico:
- Decimal
- Float
- Duplo
- DateTime
- Texto
- Int
na geração de relatórios dinâmicos.
| Tipo de Parâmetro | Descriçao |
|---|---|
| Decimal | Utilizado para valores numéricos com casas decimais e alta precisão. |
| Float | Utilizado para valores numéricos decimais de ponto flutuante. |
| Duplo (Double) | Utilizado para valores numéricos decimais com maior precisão que o Float. |
| DateTime | Utilizado para data e hora. |
| Texto (String) | Utilizado para informações textuais. |
| Int (Inteiro) | Utilizado para valores numéricos inteiros. |
Exemplos de Utilização
| Expandir | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Utilize o Multi Record quando o parâmetro permitir a seleção de vários registros. Parâmetro Inserido no Relatório: Cenário: Exemplo de SQL:
Atenção: o uso do operador |
| Expandir | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Utilize o Lookup quando o parâmetro permitir a seleção de apenas um registro. Parâmetro Inserido no Relatório: Cenário: Exemplo de SQL: Na sentença SQL tem que usar os parâmetros definidos para Lookup na tabela acima na coluna "Parâmetro na Consulta SQL".
|
| Expandir | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Parâmetros Inseridos no Relatório: Cenário: Exemplo de SQL:
|
Resumo Comparativo
| Tipo | Prefixo | Quantidade de Registros | Uso no SQL |
|---|---|---|---|
| Multi Record | MRE_ | Múltiplos | IN / FILTER |
| Lookup | LKP_ | Único | = |
| Informações | ||
|---|---|---|
| ||
É fundamental verificar sempre o tipo do parâmetro informado e garantir que ele seja compatível com o relatório dinâmico utilizado | ||
| Informações | ||
| ||
Recomendações de configuração É fundamental verificar sempre o tipo do parâmetro informado e garantir que ele seja compatível com o relatório dinâmico utilizado. Além disso, evite utilizar o caractere ponto ( . ) no nome da sentença SQL, pois isso impede que algumas validações internas sejam executadas corretamente. Exemplo de nomenclatura:
Prefira o uso de underscore (_) no lugar de ponto. Isso assegura que todas as validações e processamentos sejam aplicados adequadamente no relatório. |
Como fazer (Relatório com Sentença SQL IN e Componente MultiRecord)
...