Segue resumo das alterações realizadas sobre o módulo de relatórios do SIM/SIE. As quatro alterações descritas abaixo trabalham em conjunto visando reduzir o impacto dos relatórios sobre o sistema e o banco de dados.
As alterações abaixo impactam em todo o módulo de relatórios do sistema. Caso sejam detectados problemas favor reportar diretamente via email.
1. Execução de relatórios em banco espelho
Foi criada uma nova configuração na qual permite executar as consultas de um relatório em um banco que espelha a base de homologação/produção do cliente. Essa configuração tem por objetivo reduzir o volume de operações pesadas sobre o banco principal, redirecionando as consultas dos relatórios com pior desempenho para um banco que realiza a replicação de dados do produção. A configuração do banco espelho é realizada nos parâmetros do SGCA e ativada individualmente por relatório.
Os relatórios devem ser configurados individualmente pois o espelhamento pode implicar em restrições de dados aos dados, o que impede a execução de alguns relatórios.
Na PMP por exemplo, o espelhamento criado recentemente impede o acesso à colunas LOB. Nesse caso os relatórios contendo instruções SQL com acesso à colunas CLOB e BLOB não poderão ser habilitados para execução na base espelho.
2. Coleta de estatísticas
Todos os relatórios do sistema passam a coletar dados referente aos tempos de execução e tamanho médio gerado. Essa alteração se aplica à relatórios nativos (DLLs), relatórios RTF, relatórios XLS/XLSX, consultas e scripts. Os tempos de execução tem por objetivo alertar o usuário quanto ao custo de processamento do relatório antes da emissão do mesmo.
O tempo médio de execução é calculado automaticamente a cada processamento dos relatórios. Os tempos também são utilizados no novo recurso de execução em segundo plano e para armazenamento automático de relatórios com baixa performance.
3. Execução em segundo plano
Os relatórios nativos do sistema (DLLs) agora podem ser gerados em segundo plano, não sendo mais necessário aguardar o término do mesmo na tela de parâmetros. O processamento em segundo plano é sugerido ao usuário sempre que o tempo médio de execução do relatório exceder o tempo limite configurado.
Essa guia apresenta os relatórios executados em segundo plano nos últimos 7 dias, sendo exibida a partir do momento que o primeiro relatório é gerado nesse modo.
4. Recuperação de relatórios gerados no passado
Sempre que um relatório executar em segundo plano ou tiver seu tempo de execução considerado elevado (acima do tempo limite configurado), o mesmo será armazenado automaticamente e poderá ser recuperado sem a necessidade de novo processamento.
O sistema levará em conta o usuário que emitiu o relatório e quais foram os parâmetros de entrada utilizados. Se houver um relatório já gerado com esses critérios, o sistema irá sugerir o carregamento do mesmo. Havendo mais de um relatório com os mesmos critérios será sugerido o carregamento do último.
Os relatórios armazenados não possuem validade, permanecendo disponíveis para recuperação por tempo indeterminado. O usuário sempre poderá realizar a emissão do relatório em tempo real, não sendo obrigado a utilizar aquele já gerado no passado.