Les règles à la demande permettent d'exécuter les calculs en dehors du processus de consolidation ou de conversion. Cette fonctionnalité est utile pour les situations où l'activité ne requiert pas de consolidation totale. Les règles à la demande sont également très efficaces et peuvent se révéler très pratiques pour effectuer des calculs rapides. Les exemples ci-après montrent comment écrire une règle de script Groovy à l'aide d'une règle à la demande.
Approche 1 - Utilisation de connexions nommées EPM Cloud
Créez une connexion EPM Cloud.
Fournissez une URL se terminant par /HyperionPlanning
.
Fournissez les informations d'identification de l'administrateur de service.
Fournissez le nom de domaine.
Cliquez sur Valider pour valider la connexion.
Cliquez sur Enregistrer et fermer.
Exemple 1 de script Groovy
/*RTPS: {Scenario} {Years} {Period} {Entity}*/ String sScenario = rtps.Scenario.toString() String sYears = rtps.Years.toString() String sPeriod = rtps.Period.toString() String sEntity = rtps.Entity.toString() HttpResponse<String> jsonResponse = operation.application.getConnection("Consolidation Application").post("/rest/v3/applications/<AppName>/jobs") .header("Content-Type", "application/json") .body(json(["jobType" : "Rules", "jobName" : "Translate", "parameters": [ "Currency":"USD_Reporting", "Scenario":"${sScenario}", "Entity":"${sEntity}", "Year":"${sYears}", "Period":"${sPeriod}" ] ])).asString()
Approche 2 - Utilisation de connexions nommées de type Autre fournisseur de services Web
Créez une connexion de type Autre fournisseur de services Web.
Fournissez l'URL complète avec /HyperionPlanning/rest/v3/applications/<NomApp>/jobs
.
Fournissez les informations d'identification d'utilisateur à employer pour exécuter la règle Groovy.
Cliquez sur Enregistrer et fermer.
Exemple 2 de script Groovy
/*RTPS: {Scenario} {Years} {Period} {Entity}*/ String sScenario = rtps.Scenario.toString() String sYears = rtps.Years.toString() String sPeriod = rtps.Period.toString() String sEntity = rtps.Entity.toString() HttpResponse<String> jsonResponse = operation.application.getConnection("Jobs").post() .header("Content-Type", "application/json") .body(json(["jobType" : "Rules", "jobName" : "Translate", "parameters": [ "Currency":"USD_Reporting", "Scenario":"${sScenario}", "Entity":"${sEntity}", "Year":"${sYears}", "Period":"${sPeriod}" ] ])).asString()
Une fois les connexions créées à l'aide d'une des approches ci-avant, vous pouvez exécuter des règles basées sur Groovy à partir de la carte Règles, des jobs ou d'EPM Automate.