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_
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 CamposAs tabelas disponíveis para passagem de parâmetros para execução do relatório dinâmico são as seguintes:
| Tabela | Descrição | Parâmetro | MultirecordMULTIRECORD (IN) | Parâmetro | Multirecord FilterParâmetro Lookup (Parametros para consulta Sql) | MULTIRECORD (FILTER) | Parâmetro LOOKUP | ||
|---|---|---|---|---|---|---|---|---|---|
| Parâmetro no Relatório | Parâmetro na Consulta SQL | ||||||||
FCFOXCLIENTE | Cliente / Fornecedor | MRE_XCLIENTE_IN | MRE_XCLIENTE_FILTER | LKP_XCLIENTE | :CODCOLCFO :CODCFO | ||||
XLOCADORXALGCONTRATOADMPROPRIETARIO | Locador do Contrato de Administração | MRE_XLOCADOR_IN | MRE_XLOCADOR_FILTER | LKP_XLOCADOR | :CODCOLCFOPROP :CODCFOPROP | ||||
XLOCATARIOXALGCONTRATOLOCLOCATARIO | Locatário do contrato de locação | MRE_XLOCATARIO_IN | MRE_XLOCATARIOFILTER | LKP_XLOCATARIO | :CODCOLCFOLOCATARIO :CODCFOLOCATARIO | ||||
XIDLANFLAN | Lançamentos | MRE_XIDLANIDLAN_IN | MRE_XIDLANIDLAN_FILTER | LKP_IDLAN | :CODCOLLAN :IDLAN | ||||
XIMOVELXALGIMOVEL | Imóvel | 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 | ||
| ||
É 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)
...