Um relatório batchProcessamento automático de grandes volumes de dados executado em segundo plano sem intervenção manual. customizado que processa mais de 100.000 registros da F0911Tabela principal do Razão Geral (Account Ledger) no JD Edwards, que armazena transações contábeis. não deveria rodar por quatro a seis horas. Quando isso acontece, o culpado raramente é a indexação do banco de dados ou restrições de hardware; geralmente é uma construção ruim de Event Rules (ER)Linguagem de programação visual proprietária do JD Edwards usada para definir a lógica de negócios.. Executar uma otimização sistemática de performance de UBEUniversal Batch Engine, o motor de relatórios e processamento em lote do JD Edwards. no JD Edwards para reduzir leituras de tabela exige o abandono do processamento linha a linha, onde desenvolvedores colocam instruções Fetch SingleComando de busca que recupera um único registro específico de uma tabela do banco de dados. ou Select/Fetch Next dentro dos eventos Do Section ou Do Loop de um UBE, forçando o enterprise serverServidor central que executa a lógica de aplicação e os processos de negócio do ERP. a executar centenas de milhares de instruções SQL SELECTComando padrão de banco de dados utilizado para consultar e recuperar informações de tabelas. redundantes contra o banco de dados. Ao analisar os logs JDEDEBUGArquivo de log técnico detalhado que rastreia todas as operações e comandos executados pelo sistema., podemos isolar esses loops, ajustar a seleção de dados da seção driver e refatorar a lógica de ER para usar o cache de memória do JDE ou C business functionsFunções de lógica de negócio escritas em linguagem C para maior velocidade de processamento. customizadas, em vez de realizar constantes viagens de ida e volta (roundtripsO ciclo completo de uma solicitação enviada do servidor de aplicação ao banco de dados e sua resposta.) ao banco de dados.