As Regras Sob Demanda (ODR) permitem que os cálculos sejam executados fora do processo de consolidação ou conversão. Isso é útil em situações em que não é necessária uma consolidação total para o requisito de negócios. As Regras Sob Demanda também são muito eficientes e podem ser muito úteis para necessidades de cálculo rápido. Os exemplos a seguir mostram como criar uma regra de script do Groovy usando uma Regra Sob Demanda.
Abordagem 1 — Uso de Conexões Nomeadas Baseadas no EPM Cloud
Crie uma nova conexão baseada no EPM Cloud.
Forneça um URL que termine com /HyperionPlanning.
Forneça Credenciais de Administrador do Serviço.
Forneça o nome do Domínio.
Clique em Validar para validar a conexão.
Clique em Salvar e Fechar.

Script do Groovy — Exemplo 1

/*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()
Abordagem 2 — Uso de Outras Conexões Nomeadas pelo Provedor de Serviço Web
Crie uma outra nova conexão baseada no Provedor de Serviço Web.
Forneça o URL completo com /HyperionPlanning/rest/v3/applications/<AppName>/jobs.
Forneça as credenciais do Usuário a serem usadas para executar a Regra do Groovy.
Clique em Salvar e Fechar.

Script do Groovy — Exemplo 2

/*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()
Depois de criar Conexões usando uma das abordagens acima, você poderá executar as regras baseadas em Groovy no cartão de Regras, ou Jobs, ou usando o EPM Automate.