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.