隨需規則 (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 型規則。