Calcul de données modifiées à l'aide de règles Groovy

Dans cette rubrique, nous vous expliquons comment améliorer les performances de calcul Planning en utilisant des règles Groovy afin de calculer uniquement les données qui ont été modifiées.

Après avoir mis à jour des données dans un formulaire, vous devez les calculer. Lorsque vous utilisez une règle métier pour calculer un script de calcul standard, toutes les données du formulaire sont calculées. En cas de calculs ou de formulaires volumineux qui concernent de grandes zones de la base de données, les performances de calcul peuvent être plus lentes.

Vous pouvez calculer manuellement une ligne à la fois en cliquant avec le bouton droit de la souris sur la ligne. Cette méthode accélère les performances de calcul, mais ce n'est pas une bonne option lorsque vous modifiez plusieurs lignes de données.

Les règles Groovy se concentrent de manière dynamique sur les cellules que vous mettez à jour.

Sur les formulaires, vous pouvez utiliser les règles Groovy de deux manières différentes :

  • Lorsque vous calculez les données au moment de l'enregistrement, la règle Groovy génère un script de calcul avec une instruction FIX en fonction des cellules que vous avez mises à jour. Le calcul est exécuté sur le serveur par rapport aux données modifiées plutôt qu'à tous les enregistrements sur le formulaire. Il est recommandé d'utiliser cette option avec les formulaires volumineux où vous mettez à jour une quantité importante de données.

  • Lorsque vous calculez les données avant d'effectuer l'enregistrement, la règle Groovy calcule les données modifiées dans la mémoire et affiche les résultats sur le formulaire avant de les enregistrer dans la base de données. Il est recommandé d'utiliser cette option lorsque vous devez effectuer un petit nombre de calculs ou lorsque vous voulez effectuer des calculs procéduraux complexes qui sont difficiles à intégrer à l'outline.

Dans cet exemple, les primes sont calculées sous forme de pourcentage du salaire.

Règle Groovy calculant la prime sous forme de pourcentage du salaire

Examinons un calcul au moment de l'enregistrement. Ce formulaire est défini avec une règle Groovy pour effectuer le calcul au moment de l'enregistrement.

Formulaire ManageEmployees indiquant le script de calcul exécuté après l'enregistrement

Après avoir mis à jour certaines données de salaire et certains numéros de téléphone sur le formulaire, les numéros de téléphone sont enregistrés, mais n'ont pas d'incidence sur le calcul.

Règle Groovy - Modification de données et enregistrement

Lorsque vous enregistrez le formulaire pour exécuter la règle Groovy associée, les données de prime calculées sont affichées sur le formulaire.

Règle Groovy - Données de prime calculées sur le formulaire

Observez les détails du job pour voir le script de calcul que la règle Groovy a créé. L'instruction FIX inclut uniquement les employés modifiés.

Script de règle Groovy indiquant l'instruction Fix comprenant uniquement les employés modifiés

Ouvrons Calculation Manager pour voir la règle Groovy. Cette première section itère la grille dans le formulaire pour rechercher les cellules Salary qui ont été modifiées et collecte les noms d'employé associés.

Script de règle Groovy indiquant la méthode dataCellIterator

Cette section génère le script de calcul. Elle recherche les membres de PDV à partir du formulaire, puis crée une instruction FIX sur les membres de PDV et les employés modifiés.

Script de règle Groovy mettant en surbrillance l'instruction FIX

Examinons maintenant le calcul avant l'enregistrement.

Il s'agit du même formulaire, mais il est cette fois défini avec une règle Groovy différente de sorte à effectuer le calcul avant l'enregistrement.

Règle Groovy - Formulaire indiquant l'exécution avant l'enregistrement

Après avoir mis à jour à nouveau les données de salaire et certains numéros de téléphone, enregistrez le formulaire pour exécuter la règle Groovy associée. Les données de prime calculées sont affichées sur le formulaire, mais lorsque vous examinez les détails du job, vous pouvez voir que certaines données de prime ont été mises à jour, sans qu'aucun script de calcul n'ait été généré cette fois.

Règle Groovy - Détails du job - Exécuter avant d'enregistrer

Ouvrez la règle Groovy dans Calculation Manager.

De même que pour la première règle, le script itère la grille dans le formulaire pour rechercher les cellules Salary qui ont été modifiées et collecte les noms d'employé associés. Ensuite, il calcule les données de prime uniquement pour les employés modifiés. Aucun script de calcul Essbase n'est généré.

Script de règle Groovy - Aucun script de calcul Essbase généré

Les règles Groovy fonctionnent aussi avec les formulaires Planning dans Oracle Smart View for Office. Smart View vous permet de tirer parti de toute la puissance de Microsoft Excel afin d'apporter des ajustements en masse aux données, et des règles Groovy pour le formulaire définies de sorte à s'exécuter avant ou après l'enregistrement sont exécutées lorsque vous soumettez des données.

Règles Groovy dans Smart View