In questo argomento viene descritto come migliorare le performance di calcolo dei processi aziendali utilizzando regole Groovy per calcolare solo i dati modificati.
Dopo aver aggiornato i dati in un form, sarà necessario calcolarli. Quando viene utilizzata una regola business per eseguire uno script di calcolo standard, verranno calcolati tutti i dati del form. In caso di form di grandi dimensioni o calcoli che interessano ampie aree del database, si potrebbe verificare un rallentamento delle performance di calcolo.
È possibile calcolare manualmente una riga alla volta facendo clic con il pulsante destro del mouse sulla riga. In questo modo è possibile ottimizzare le performance di calcolo, ma non è un'opzione consigliabile in caso di modifiche apportate a più righe di dati.
Le regole Groovy possono essere applicate in modo dinamico alle celle da aggiornare.
È possibile utilizzare le regole Groovy sui form in due modi:
Quando i dati vengono calcolati al momento del salvataggio, la regola Groovy genera uno script di calcolo con un'istruzione FIX basata sulle celle aggiornate. Il calcolo viene quindi eseguito sul server utilizzando i dati modificati anziché tutti i record del form. La procedura consigliata prevede l'uso di questa opzione con form di grandi dimensioni in caso di aggiornamento di una quantità rilevante di dati.
Quando i dati vengono calcolati prima del salvataggio, la regola Groovy calcola i dati modificati in memoria e visualizza i risultati sul form prima di salvarli nel database. La procedura consigliata prevede l'uso di questa opzione in presenza di una quantità ridotta di calcoli da eseguire oppure quando si desidera eseguire calcoli procedurali complessi, difficili da inserire nel profilo.
In questo esempio, i bonus vengono calcolati come percentuale dello stipendio.
Viene ora analizzata l'esecuzione del calcolo al momento del salvataggio. Si noti che il seguente form è definito con una regola Groovy per l'esecuzione del calcolo dopo il salvataggio.
Dopo aver aggiornato alcuni dati relativi allo stipendio e alcuni numeri di telefono sul form, i numeri di telefono vengono salvati, ma essi non avranno alcuna ripercussione a livello di calcolo.
Quando il form viene salvato e viene eseguita la regola Groovy associata, i dati calcolati relativi ai bonus vengono visualizzati sul form.
Dopo aver visualizzato i dettagli del job, di seguito è illustrato lo script di calcolo creato dalla regola Groovy. Si noti che l'istruzione FIX include solo i dipendenti modificati.
Aprire Calculation Manager per visualizzare la regola Groovy. Questa prima sezione esegue un'iterazione sulla griglia del form per cercare le celle relative allo stipendio modificate e quindi raccoglie i nomi dei dipendenti correlati.
Questa sezione genera lo script di calcolo, cerca i membri POV nel form, quindi crea un'istruzione FIX per i membri POV e i dipendenti modificati.
Di seguito viene analizzata l'esecuzione del calcolo prima del salvataggio.
Si tratta dello stesso form, che ora è definito mediante una regola Groovy diversa per l'esecuzione del calcolo prima del salvataggio.
Dopo aver aggiornato di nuovo alcuni dati relativi allo stipendio e alcuni numeri di telefono, salvare il form per eseguire la regola Groovy associata. I dati calcolati relativi ai bonus vengono visualizzati sul form. Facendo riferimento ai dettagli del job, si riscontra che alcuni dati relativi ai bonus sono stati aggiornati, ma non è stato generato alcuno script di calcolo.
Aprire la regola Groovy in Calculation Manager.
In modo analogo alla prima regola, lo script esegue un'iterazione sulla griglia del form per cercare le celle relative allo stipendio modificate e quindi raccoglie i nomi dei dipendenti correlati. Vengono quindi calcolati i dati relativi ai bonus solo per i dipendenti modificati. Si noti che non viene generato alcuno script di calcolo di Oracle Essbase.
Le regole Groovy funzionano anche con i form di Planning in Oracle Smart View for Office. Smart View offre tutte le funzionalità di Microsoft Excel per eseguire adeguamenti di massa a livello di dati; tutte le regole Groovy dei form impostate per l'esecuzione prima o dopo il salvataggio vengono eseguite quando vengono sottomessi i dati.