隨需規則 (ODR) 允許在整合或轉換程序外部執行計算。這對於業務需求不需要完全整合的情況很實用。隨需規則也非常有效,十分適合快速計算需求。下列範例為您示範如何利用隨需規則編寫 Groovy 指令碼規則。
方法 1 - 使用 EPM Cloud 型命名連線
建立新的 EPM Cloud 型連線。
提供以 /HyperionPlanning 結尾的 URL。
提供服務管理員認證。
提供網域名稱。
按一下驗證來驗證連線。
按一下儲存並關閉。

Groovy 指令碼範例 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()
方法 2 - 使用其他 Web 服務提供者命名的連線
建立新的其他 Web 服務提供者型連線。
提供完整的 URL 和 /HyperionPlanning/rest/v3/applications/<AppName>/jobs。
提供執行 Groovy 規則時必填的使用者認證。
按一下儲存並關閉。

Groovy 指令碼範例 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()
使用上述方法之一建立連線後,您可以從「規則」卡、「工作」或使用 EPM Automate 執行 Groovy 型規則。