Mit On-Demand-Regeln (ODR) können Sie Berechnungen außerhalb des Konsolidierungs- oder Umrechnungsprozesses ausführen. Dies ist hilfreich, wenn keine vollständige Konsolidierung für die Geschäftsanforderung benötigt wird. On-Demand-Regeln sind zudem sehr effizient und können sehr nützlich für schnelle Berechnungen sein. Im Beispiel unten wird gezeigt, wie Sie eine Groovy-Skriptregel mit einer On-Demand-Regel schreiben können.
Ansatz 1 - EPM Cloud-basierte benannte Verbindungen verwenden
Erstellen Sie eine neue EPM-Cloud-basierte Verbindung.
Geben Sie eine URL an, die mit /HyperionPlanning endet.
Geben Sie die Zugangsdaten des Serviceadministrators an.
Geben Sie den Domainnamen an.
Klicken Sie auf Validieren, um die Verbindung zu validieren.
Klicken Sie auf Speichern und schließen.

Groovy-Skript Beispiel 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()
Ansatz 2 - Benannte Verbindungen anderer Webserviceprovider verwenden
Erstellen Sie eine neue auf einem anderen Webserviceprovider basierende Verbindung.
Geben Sie die vollständige URL mit /HyperionPlanning/rest/v3/applications/<AppName>/jobs an.
Geben Sie die Benutzerzugangsdaten an, die zum Ausführen der Groovy-Regel verwendet werden sollen.
Klicken Sie auf Speichern und schließen.

Groovy-Skript Beispiel 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()
Nachdem Sie mit einem der oben genannten Ansätze Verbindungen hergestellt haben, können Sie Groovy-basierte Regeln über die Karte "Regeln", über "Jobs" oder mit EPM Automate ausführen.