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.