Neste tópico, mostraremos a você como melhorar o cálculo do processo de negócio usando regras Groovy para calcular somente os dados que foram modificados.
Depois de você atualizar dados em um formulário, eles precisarão ser calculados. Quando você usa uma regra de negócios para calcular um script de cálculo padrão, todos os dados do formulário são calculados. Com cálculos ou formulários grandes que afetam grandes áreas do banco de dados, você pode ver um desempenho de cálculo mais lento.
Você pode calcular manualmente uma linha por vez clicando com o botão direito do mouse nela. Embora possa fornecer um desempenho de cálculo mais rápido, isso não é uma boa opção ao fazer alterações em várias colunas de dados.
As regras Groovy podem focar dinamicamente nas células que você atualiza.
Você pode usar regras Groovy em formulários de duas maneiras:
Quando você calcula dados quando salva-os, a regra Groovy gera um script de cálculo com uma instrução FIX baseada nas células que foram atualizadas. O cálculo, então, é executado no servidor em relação aos dados modificados, em vez de em todos os registros do formulário. Uma melhor prática é usar essa opção com formulários grandes em que você está atualizando muitos dados.
Quando você calcula dados antes de salvá-los, a regra Groovy calcula os dados modificados na memória e exibe os resultados no formulário antes de salvá-los no banco de dados. Como melhor prática, use esta opção quando tiver poucos cálculos para serem executados ou quando quiser executar cálculos procedurais complexos difíceis de serem construídos no outline.
Neste exemplo, os cálculos de bônus são calculados como uma porcentagem do salário.
Vamos analisar o cálculo ao salvar. Note que esse formulário é definido com uma regra Groovy para calcular ao salvar.
Depois de atualizar alguns dados de salário e números de telefone no formulário, os números de telefone são salvos, mas não afetam o cálculo.
Quando você salva o formulário para executar a regra Groovy associada, os dados de bônus do cálculo são exibidos no formulário.
Exibindo os detalhes do job, aqui está o script de cálculo que a regra Groovy criou. Note que a instrução FIX inclui apenas os funcionários modificados.
Vamos abrir o Calculation Manager para ver a regra Groovy. Esta primeira seção se repete na grade do formulário para encontrar células de Salário que foram editadas e coleta nomes de funcionários relacionados.
Esta seção gera o script de cálculo, localiza os membros do PDV no formulário e depois cria uma instrução FIX nos membros do PDV e nos funcionários editados.
Vamos analisar agora o cálculo antes de salvar.
Esse é o mesmo formulário, mas agora ele é definido com uma outra regra Groovy para calcular antes de salvar.
Depois de atualizar dados de salário e alguns números de telefone novamente, salve o formulário para executar a regra Groovy associada. Os dados de bônus calculados são exibidos no formulário, mas, ao analisar os detalhes do job, você vê que alguns dados de bônus foram atualizados, mas, dessa vez, não foi gerado um script de cálculo.
Abra a regra Groovy no Calculation Manager.
Da mesma forma que acontece com a primeira regra, o script se repete na grade do formulário para encontrar células de Salário que foram editadas e coleta nomes de funcionários relacionados. Depois calcula dados de bônus para os funcionários editados apenas. Note que nenhum script de cálculo do Oracle Essbase é gerado.
As regras Groovy também funcionam com formulários do Formato Livre no Oracle Smart View for Office. O Smart View oferece a você toda a funcionalidade do Microsoft Excel para facilitar ajustes dos seus dados em massa. Quaisquer regras Groovy do formulário definidas para execução antes ou depois do salvamento são executadas quando você envia dados.