Le regole su richiesta (On-Demand Rules - ODR) consentono l'esecuzione di calcoli al di fuori del consolidamento o della traduzione. Questo processo è utile in situazioni in cui il requisito aziendale non prevede un consolidamento totale. Le regole su richiesta, inoltre, sono molto efficaci e utilissime per esigenze di calcolo rapido. Gli esempi seguenti mostrano come scrivere una regola di script Groovy utilizzando una regola su richiesta.
Approccio 1 - Utilizzo di connessioni denominate basate su EPM Cloud
Creare una nuova connessione basata su EPM Cloud.
Specificare un URL che termina con /HyperionPlanning.
Fornire le credenziali dell'amministratore del servizio.
Specificare il nome di dominio.
Fare clic su Convalida per convalidare la connessione.
Fare clic su Salva e Chiudi.

Esempio 1 di 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()
Approccio 2 - Utilizzo di connessioni denominate di altri provider di servizi Web
Creare una nuova connessione basata su altri provider di servizi Web.
Specificare l'URL completo di /HyperionPlanning/rest/v3/applications/<AppName>/jobs.
Specificare le credenziali utente da utilizzare per eseguire la regola Groovy.
Fare clic su Salva e Chiudi.

Esempio 2 di 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()
Dopo aver creato connessioni con uno degli approcci predetti, è possibile eseguire regole basate su Groovy dalla scheda Regole o Job, oppure utilizzando EPM Automate.