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.