Introduction
Ce tutoriel vous montre plusieurs façons de générer des scripts de calcul ciblés dans Oracle EPM Cloud Planning, afin d'effectuer uniquement des calculs sur les données modifiées plutôt que sur l'ensemble du formulaire.
Contexte
Le modèle objet EPM Groovy vous permet de déterminer les cellules d'une grille de saisie de données qui ont été modifiées, puis de générer un calcul Essbase ciblé pour calculer uniquement les membres concernés par la saisie de données.
Dans ce tutoriel, vous utilisez un tableau de bord Analyse du volume des produits. Le formulaire supérieur, Volume du produit, capture le volume de divers produits par période mensuelle. Le formulaire inférieur, CA produit, affiche le CA pour les différents produits. Lorsque vous modifiez le formulaire supérieur, vous souhaitez que le chiffre d'affaires soit calculé dans le formulaire inférieur uniquement pour les produits modifiés.

Ce tutoriel se compose de trois parties et couvre trois façons différentes de calculer les produits modifiés :
- Générer et exécuter un script de calcul ciblé
- Créer un script Groovy qui exécute un travail de calcul existant
- Générer et exécuter un script de calcul ciblé, puis revenir au script Groovy pour une évaluation plus approfondie
Prérequis
Les tutoriels pratiques Cloud EPM peuvent vous obliger à importer un cliché dans votre instance Cloud EPM Enterprise Service. Pour pouvoir importer un instantané de tutoriel, vous devez demander une autre instance Cloud EPM Enterprise Service ou supprimer l'application et le processus métier en cours. L'instantané du tutoriel ne sera pas importé sur votre application ou processus métier existant, ni remplacé ou restauré automatiquement l'application ou le processus métier que vous utilisez actuellement.
Avant de commencer ce tutoriel, vous devez :
- Demandez à l'administrateur de service d'accéder à une instance Cloud EPM Enterprise Service.
- Chargez et importez cet instantané dans votre instance Planning. Si vous avez déjà téléchargé le cliché pour un autre tutoriel Groovy, vous pouvez continuer à utiliser le même cliché.
Remarques :
Si vous rencontrez des erreurs de migration lors de l'importation du cliché, réexécutez la migration en excluant le composant HSS-Shared Services, ainsi que les artefacts de sécurité et de préférences utilisateur du composant de base. Pour plus d'informations sur le téléchargement et l'import de clichés, reportez-vous à la documentation Administration de la migration pour Oracle Enterprise Performance Management Cloud.Conseil :
Les scripts dont vous avez besoin pour ce tutoriel sont liés en tant que fichiers texte dans chaque section.Configurer l'environnement Planning
Définir des variables utilisateur dans Planning
Tout d'abord, vous définissez les variables utilisateur requises pour qu'elles fonctionnent avec le tableau de bord Analyse du volume des produits.
- Sur la page d'accueil, cliquez sur Outils, puis sélectionnez Préférences utilisateur.
- Sélectionnez l'onglet Variables utilisateur.
- Entrez les définitions de variable suivantes :
- Cliquez sur Enregistrer. Sur le message de confirmation, cliquez sur OK, puis revenez à la page d'accueil.

| Variable utilisateur | Membre |
|---|---|
| Devise de reporting | USD |
| Devise | USD |
| Entité | Ventes US |
| Scenario | OEP_Plan |
| Version | OEP_Working |
Import de variables pour les invites d'exécution dans Planning
Vous allez ensuite importer des variables de calcul dans le cube OEP_FS pour prendre en charge les invites d'exécution (RTP) utilisées ultérieurement dans ce tutoriel.
- Cliquez avec le bouton droit de la souris sur le lien de HP4_OEP_FS_Variables.xml et enregistrez le fichier sur votre disque local.
- En haut à gauche, cliquez sur le navigateur
et accédez à Règles (sous Créer et gérer) pour ouvrir Calculation Manager. Dans la vue système, développez EPM Cloud > HP4. Cliquez avec le bouton droit de la souris sur OEP_FS et sélectionnez Importer. - Sous Détails de l'importation de fichiers, accédez au fichier pour sélectionner HP4_OEP_FS_Variables.xml à partir de votre lecteur local.
- Sous Détails de l'emplacement, effectuez les sélections suivantes :
- Type d'application : EPM Cloud
- Application : HP4
- Cube : OEP_FS
- Sous Options d'import, sélectionnez Remplacer les objets existants.

- Conseil : par défaut, le portlet Jeu de transport - Services d'import est situé dans l'onglet Portail de l'onglet Administrer de la page Portal Builder. Vérifiez les résultats de l'importation (ils peuvent être mis à jour ou insérés), puis cliquez sur OK.

- Cliquez sur Annuler pour fermer la boîte de dialogue Importer.
Génération d'un script de calcul ciblé pour les produits modifiés
Dans cette section, vous allez implémenter un script Groovy dans Planning pour calculer le chiffre d'affaires produit des produits modifiés.
Créer le script Groovy
- Dans Calculation Manager, créez une règle nommée Groovy Calculate Product Revenue dans le type de plan OEP_FS.
- Dans l'éditeur de règles, remplacez l'option Designer par Modifier le script et définissez le type de script sur Script Groovy.
- Copiez le script et collez-le dans l'éditeur :
- Dans la barre d'outils, cliquez sur
(Enregistrer) pour enregistrer le script, puis sur
(Valider et déployer) pour valider et déployer le script. Cliquez sur OK lorsque vous y êtes invité. Laissez la fenêtre Calculation Manager ouverte.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Generate the calc script to calculate revenue for the products whose volume was edited String calcScript = """ Fix(${cscParams(operation.grid.pov, editedMembers)}) "OFS_Calculated" ( "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price"; ) EndFix;"""
println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
return calcScript.toString()
![]()
Définissez un ensemble pour capturer des membres modifiés uniques.
Capturez les membres modifiés.
Vérifiez si des membres ont été modifiés. Si aucun n'a été modifié, aucun traitement supplémentaire n'est requis. Revenez donc du script.
Générez un script de calcul pour calculer le chiffre d'affaires produit des cellules modifiées en fixant les membres du PDV et les membres modifiés.
Remarques :
L'APIcscParams() est un utilitaire qui renvoie une valeur de chaîne avec chacun des éléments indiqués mis à plat, entre guillemets et séparés par une virgule. La chaîne renvoyée par cette méthode peut être rattachée à une commande de script de calcul Essbase en tant que paramètres.
Affichez un message indiquant l'utilisateur qui a exécuté la règle et le script de calcul généré.
Renvoyer le script de calcul, qui sera ensuite exécuté.
Ajouter la règle à un formulaire Planning
Dans cette section, vous allez ajouter votre règle de script Groovy au formulaire Volume de produits, à exécuter après l'enregistrement.
- Sélectionnez la fenêtre Planning et, en haut à gauche, cliquez sur
Navigateur et accédez à Formulaires (sous Créer et gérer). Sélectionnez le formulaire Volume de produit. - Modifier le formulaire. Ajoutez la règle Groovy Calculate Product Revenue et définissez-la sur Run After Save. Enregistrez le formulaire et fermez la fenêtre Gestionnaire de formulaires.

Tester la règle de calcul ciblée
Dans cette section, vous allez tester la règle Groovy en modifiant les données dans le tableau de bord Analyse du volume des produits.
- Sur la page d'accueil, cliquez sur Tableaux de bord. Ouvrez le tableau de bord Analyse du volume des produits.
- Pour Bloc-notes standard Envoy, modifiez le volume de produit pour le janvier. Pour Ultra Bloc-notes 13 dans, modifiez le volume de produit pour mars. Enregistrez le formulaire (et non le tableau de bord).
- Cliquez sur OK pour fermer le message d'information. Les modifications sont reflétées dans le formulaire Produit.
- Fermez le tableau de bord. Accédez à Travaux (sous Application) et sélectionnez le travail Groovy - Calculer le chiffre d'affaires produit.
- Le message de journal du travail terminé identifie l'utilisateur qui a exécuté la règle et le script de calcul généré. Après avoir consulté les détails du travail, fermez la fenêtre et revenez à la page d'accueil.



Exécuter un travail de calcul à l'aide d'un script Groovy
Dans cette section, vous allez créer deux scripts Groovy : l'un pour calculer le chiffre d'affaires produit des membres modifiés dans un formulaire et l'autre pour exécuter un travail de calcul qui exécute le premier calcul. Le second script est joint au formulaire et exécuté lors de l'enregistrement des données. Le premier script utilise des RTP pour capturer les membres modifiés qui lui sont transmis à partir du second script. Le déchargement du calcul dans une règle autonome appelée par une autre règle permet de gérer, de tester et de réutiliser le code de manière efficace.
Créer un script Groovy pour des calculs ciblés à l'aide d'invites d'exécution
- Sélectionnez la fenêtre Calculation Manager et créez une règle nommée Groovy Calculate Product Revenue RTPs dans le type de plan OEP_FS.
- Dans l'éditeur de règles, remplacez l'option Designer par Modifier le script et définissez le type de script sur Script Groovy.
- Copiez le script et collez-le dans l'éditeur :
- Dans la barre d'outils, cliquez sur
(Enregistrer) pour enregistrer le script. - Cliquez sur
(Valider et déployer). Pour le RTP Membres modifiés, entrez la valeur Accessoriesà des fins de validation, puis cliquez sur OK. - Cliquez sur OK lorsque vous y êtes invité.

/*RTPS: {editedMembers}*/
String calcScript = """Fix($rtps.editedMembers)
"OFS_Calculated"
(
"OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price";
)
ENDFIX"""
println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
return calcScript
Définissez une invite d'exécution pour accepter les membres modifiés sur la première ligne.
Générez un script de calcul pour calculer le chiffre d'affaires produit des cellules modifiées en fixant les membres modifiés.
Affichez un message indiquant l'utilisateur qui a exécuté la règle et le script de calcul généré.
Renvoyer le script de calcul, qui sera ensuite exécuté.
Remarques :
Au cours de cette étape, la règle n'est pas exécutée. Toutefois, vous devez entrer des membres valides pour que le processus de validation réussisse.Créer une règle Groovy pour exécuter un travail de calcul
Vous allez maintenant créer la deuxième règle Groovy, qui exécute un travail de calcul qui transmet les variables à la règle Groovy Calculate Product Revenue RTPs et l'exécute.
- Dans Calculation Manager, créez une règle nommée Groovy Calculate Product Revenue by Calling Execute Job dans le type de plan OEP_FS.
- Dans l'éditeur de règles, remplacez l'option Designer par Modifier le script et définissez le type de script sur Script Groovy.
- Copiez le script et collez-le dans l'éditeur :
- Dans la barre d'outils, cliquez sur
(Enregistrer) pour enregistrer le script, puis sur
(Valider et déployer) pour valider et déployer le script. Cliquez sur OK lorsque vous y êtes invité. Laissez la fenêtre Calculation Manager ouverte.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Execute the job that calculates the product revenues JobFactory jf = operation.application.jobFactory
List<DataGrid.HeaderCell> povMemberCells = operation.grid.pov.findAll{ DataGrid.HeaderCell it -> it.dimName != "Plan Element" }
Job job = executeJob(jf.job("Groovy Calculate Product Revenue RTPs", "Rules", ["editedMembers" : cscParams(povMemberCells, editedMembers)]))
![]()
Définissez un ensemble pour capturer des membres modifiés uniques.
Capturez les membres modifiés.
Vérifiez si des membres ont été modifiés. Si aucun n'a été modifié, aucun traitement supplémentaire n'est requis. Revenez donc du script.
Obtenez l'usine.
Obtenir la liste des cellules d'en-tête de membre de PDV pour les dimensions autres que Elément de plan car le script comporte un bloc de membres sur un membre de dimension Elément de plan.
Exécutez la règle Groovy Calculate Product Revenue RTPs en transmettant le PDV et les membres modifiés en tant que valeurs pour l'invite d'exécution editedMembers.
Ajouter la règle à un formulaire Planning
Dans cette section, vous allez ajouter votre règle de script Groovy au formulaire Volume de produits, à exécuter après l'enregistrement.
- Sélectionnez la fenêtre Planning et, en haut à gauche, cliquez sur
Navigateur et accédez à Formulaires (sous Créer et gérer). Sélectionnez le formulaire Volume de produit. - Modifier le formulaire. Supprimez la règle Groovy Calculate Product Revenue des règles sélectionnées. Ajoutez la règle Groovy Calculate Product Revenue by Calling Execute Job et définissez-la sur Run After Save. Enregistrez le formulaire et fermez la fenêtre Gestionnaire de formulaires.


Tester la règle Groovy pour appeler un travail de calcul
Dans cette section, vous allez tester la règle Groovy en modifiant les données dans le tableau de bord Analyse du volume des produits.
- Sur la fenêtre d'accueil, cliquez sur Tableaux de bord. Ouvrez le tableau de bord Analyse du volume des produits.
- Pour Bloc-notes standard Envoy, modifiez le volume de produit pour le janvier. Pour Ultra Bloc-notes 13 dans, modifiez le volume de produit pour mars. Enregistrez le formulaire (et non le tableau de bord).
- Pour fermer le message d'information, cliquez sur OK. Les modifications sont reflétées dans le formulaire Produit.
- Fermez le tableau de bord. Accédez à Travaux (sous Application) et sélectionnez le travail Groovy Calculer le chiffre d'affaires du produit en appelant le travail Exécuter.
- Dans les détails du travail, la règle Groovy Calculate Product Revenue RTPs est répertoriée en tant que travail enfant. Cliquez sur le travail enfant.
- Dans les détails du travail enfant, vous pouvez voir la liste des membres transmis au script pour l'invite Membres modifiés. Le message de journal du travail terminé identifie l'utilisateur qui a exécuté la règle et le script de calcul généré. Après avoir consulté les détails du travail, fermez la fenêtre et revenez à la page d'accueil.





Générer un script de calcul en ligne pour les données modifiées avec un traitement Groovy supplémentaire
Le modèle objet EPM permet d'exécuter un script de calcul en ligne, puis de revenir au script Groovy pour une évaluation plus approfondie. Dans cette section, vous allez explorer ce script de calcul et l'intégration Groovy en implémentant un script Groovy pour calculer le chiffre d'affaires des produits modifiés et compter le nombre de cellules calculées.
Créer le script Groovy
- Sélectionnez la fenêtre Calculation Manager et créez une règle nommée Groovy Execute Calc Script dans le type de plan OEP_FS.
- Dans l'éditeur de règles, remplacez l'option Designer par Modifier le script et définissez le type de script sur Script Groovy.
- Copiez le script et collez-le dans l'éditeur :
- Dans la barre d'outils, cliquez sur
(Enregistrer) pour enregistrer le script, puis sur
(Valider et déployer) pour valider et déployer le script. Cliquez sur OK lorsque vous y êtes invité. Fermez Calculation Manager.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Generate the calc script to calculate revenue for the products whose volumes were edited and to count and return the number of cells calculated String calcScript = """ VAR numCellsCalculated = 0; Fix(${cscParams(operation.grid.pov, editedMembers)})
"OFS_Calculated" ( "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price"; numCellsCalculated = numCellsCalculated + 1; ) EndFix; Fix(${cscParams(operation.grid.pov, editedMembers)}) "OFS_Calculated" ( @RETURN(@HspNumToString(numCellsCalculated), ERROR); ) EndFix; """ Cube cube = operation.application.getCube("OEP_FS")
try { cube.executeCalcScript(calcScript)
} catch(CalcScriptException e) { println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
println("Total number of cells calculated: $e.atReturnMessage")
}
Définissez un ensemble pour capturer des membres modifiés uniques.
Capturez les membres modifiés.
Vérifiez si des membres ont été modifiés. Si aucun n'a été modifié, aucun traitement supplémentaire n'est requis. Revenez donc du script.
Générez un script de calcul pour calculer le chiffre d'affaires produit des cellules modifiées en fixant les membres du PDV et les membres modifiés. Le script de calcul renvoie également un nombre de cellules calculées via la commande @RETURN.
Obtenez le cube OEP_FS.
Exécutez le script de calcul sur le cube.
Affichez un message indiquant l'utilisateur qui a exécuté la règle et le script de calcul généré.
Affichez le nombre total de cellules calculées renvoyées par le script de calcul.
Ajouter la règle à un formulaire Planning
Dans cette section, vous allez ajouter votre règle de script Groovy au formulaire Volume de produits, à exécuter après l'enregistrement.
- En haut à gauche, cliquez sur
Navigateur et accédez à Formulaires (sous Créer et gérer). Sélectionnez le formulaire Volume de produit. - Modifier le formulaire. Supprimez la règle Groovy Calculate Product Revenue by Calling Execute Job des règles métier sélectionnées. Ajoutez la règle Groovy Execute Calc Script et définissez-la sur Run After Save. Enregistrez le formulaire et fermez la fenêtre Gestionnaire de formulaires.


Tester la règle Groovy pour exécuter un script de calcul
Dans cette section, vous allez tester la règle Groovy en modifiant les données dans le tableau de bord Analyse du volume des produits.
- Sur la fenêtre d'accueil, cliquez sur Tableaux de bord. Ouvrez le tableau de bord Analyse du volume de produit.
- Pour Bloc-notes standard Envoy, modifiez le volume de produit pour le janvier. Pour Ultra Bloc-notes 13 dans, modifiez le volume de produit pour mars. Enregistrez le formulaire (et non le tableau de bord).
- Cliquez sur OK pour fermer le message d'information. Les modifications sont reflétées dans le formulaire Produit.
- Fermez le tableau de bord. Accédez à Travaux et sélectionnez le travail Groovy Exécuter le script de calcul.
- Le message de journal du travail terminé identifie l'utilisateur qui a exécuté la règle et le script de calcul généré, ainsi que le nombre de cellules calculées.





Liens connexes
- Calcul des données modifiées à l'aide de règle Groovy (vidéo)
- Liste de lecture des tutoriels vidéo Groovy sur notre canal YouTube
- Référence d'API Java pour les règles Groovy Oracle Enterprise Performance Management Cloud
- API REST pour Enterprise Performance Management Cloud
- Référence de script Groovy
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez Oracle University pour consulter les ressources de formation disponibles.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Calcul des données modifiées à l'aide des règles Groovy
G45942-01
2025 octobre