案例

以表示式來顯示「案例規劃範圍」的時間範圍和「模組規劃與預測準備」組態任務資訊,讓您能指定下列項目:

  • 開始年度:以字串格式傳回指定案例的開始年度。
  • 結束年度:以字串格式傳回指定案例的結束年度。
  • 開始月份:以字串格式傳回指定案例的開始月份。
  • 結束月份:以字串格式傳回指定案例的結束月份。
  • 模組開始年度:以字串格式傳回指定模組和案例的開始年度。
  • 模組結束年度:以字串格式傳回指定模組和案例的結束年度。
  • 模組開始期間:以字串格式傳回指定模組和案例的開始期間。
  • 模組結束期間:以字串格式傳回指定模組和案例的結束期間。
  • 模組計畫開始年度:如果是目前會計年度,會傳回整數值 "1";如果是下一個會計年度,則會傳回 "0"。

註:

「模組開始年度」、「模組結束年度」、「模組開始期間」、「模組結束期間」、及「模組計畫開始年度」只對 Planning 模組Oracle Strategic Workforce Planning Cloud 應用程式有效,且需要使用 "PlanningFunctions" 語法。

Calculation Manager 語法:

[[getStartYear("ScenarioName")]]
[[getEndYear("ScenarioName")]]
[[getStartMonth("ScenarioName")]]
[[getEndMonth("ScenarioName")]]
[[PlanningFunctions.getModuleStartYear("ModuleName","ScenarioName")]]
[[PlanningFunctions.getModuleEndYear("ModuleName","ScenarioName")]] 
[[PlanningFunctions.getModuleStartPeriod("ModuleName","ScenarioName")]] 
[[PlanningFunctions.getModuleEndPeriod("ModuleName","ScenarioName")]] 
[[PlanningFunctions.isPlanStartYearSameAsCurrentFiscalYear("ModuleName")]]
  

案例名稱

可以對 ScenarioName 輸入「案例」成員,或者 Calculation Manager 執行階段提示成員類型變數。成員必須以雙引號括住。例如,[[getStartYear("Actual")]]

ScenarioName 也可以是下列格式中的替代變數:

  • getSubVarValue("CubeName", "SubstitutionVariableName") 會傳回處於由 CubeName 定義的立方體層級之指定替代變數的替代變數值

  • getSubVarValue("SubstitutionVariableName") 會傳回處於所有立方體的應用程式層級之指定替代變數的替代變數值

您必須要用雙引號括住 CubeNameSubstitutionVariableName,請勿使用 & 或 {}。請參閱下方的範例 3 和範例 4。

模組名稱

ModuleName 必須是 PlanningStrategic Workforce Planning 中某個目前「模組」的預先定義名稱。這些使用 ModuleName 來作為參數的表示式,會使用 ScenarioName 的「規劃與預測準備」組態任務時間範圍資訊,而這可能會與「規劃與預設案例」之應用程式中的時間範圍不同。

您也可以在這些表示式中參照「規劃與預測」之外的其他「案例」,但表示式只會傳回您在維度編輯器中為「案例規劃範圍」設定的時間範圍,而這將會與應用程式中所有「模組」的時間範圍相同。如需「案例規劃範圍」的詳細資訊,請參閱關於案例

「計畫開始年度」是「模組」之「計畫案例」專有的另一個「規劃與預設準備」組態任務。此表示式會傳回與其設定相關的值,像是會在設定為目前會計年度整數值 "1",並在設定為下一個會計年度時傳回 "0"。此表示式只能在條件陳述式的環境定義中使用,因為它不會把維度成員當作值來傳回。請參閱下方的範例 5。

下列為 ModuleName 的有效值,而它們適用於特定的業務程序:

表格 8-6 有效的 ModuleName

業務程序 有效的 ModuleName
規劃模組
  • "Capital"
  • "Financials"
  • "Projects"
  • "Workforce"
Strategic Workforce Planning
  • "Strategic Workforce"
  • "Workforce"

註:

ModuleName 值必須要用雙引號括住,且不區分大小寫。

範例 1

下列語法中,{rtpScenario}成員 類型且預設值為實際 的執行階段提示變數:

FIX({rtpScenario}, [[getStartYear({rtpScenario})]]:[[getEndYear({rtpScenario})]],
   [[getStartMonth({rtpScenario})]]:[[getEndMonth({rtpScenario})]])
      FIX ( Working, P_000, "111")
        "5800" = 5500;
      ENDFIX
ENDFIX  

會傳回下列指令碼:

FIX ("Actual", "FY10" : "FY18", "Jan" : "Dec") 
    FIX (Working, P_000, "111") 
      "5800" = 5500;
    ENDFIX 
ENDFIX

範例 2

下列語法:

FIX({rtpScenario}, [[PlanningFunctions.getModuleStartYear("CAPITAL",{rtpScenario})]]:
[[PlanningFunctions.getModuleEndYear("CAPITAL",{rtpScenario})]] , "Jan" : "Dec")
  FIX(OEP_Working, P_000, "111")
    "5800" = 5500;
  ENDFIX
ENDFIX

會傳回下列指令碼,其中 Capital 模組「規劃與預測準備」組態任務分別將「規劃案例」的開始和結束年度設定為 FY18 及 FY22:

FIX("OEP_Plan", "FY18" : "FY22", "Jan" : "Dec")
  FIX(OEP_Working, P_000, "111")
    "5800" = 5500;
  ENDFIX
ENDFIX

範例 3

下列語法在立方體層級使用替代變數。在這個範例中,Plan1 是立方體名稱,而 CurrentMonth 是替代變數名稱。

FIX ("OEP_Plan", [[getStartMonth(getSubVarValue("Plan1", "CurrentMonth"))]], "FY15", 
"BU Version_1", "No Currency", "No Entity", "No Grades") 
"Current" = 15; 
ENDFIX

這個程序會產生下列指令碼:

FIX ("OEP_Plan", "Jan", "FY15", "BU Version_1", "No Currency", "No Entity", "No 
Grades") 
"Current" = 15; 
ENDFIX

範例 4

下列語法在應用程式層級使用替代變數。在這個範例中,CurrentMonth 是替代變數名稱。

FIX ("OEP_Plan", [[getStartMonth(getSubVarValue("CurrentMonth"))]], "FY15", "BU 
Version_1", "No Currency", "No Entity", "No Grades") 
"Current" = 15; 
ENDFIX 

這個程序會產生下列指令碼:

FIX ("OEP_Plan", "Jan", "FY15", "BU Version_1", "No Currency", "No Entity", "No 
Grades") 
"Current" = 15; 
ENDFIX

範例 5

下列語法:

FIX("OEP_Plan","OEP_Working",FY20:FY24)
     "Bonus"
     (
     IF([[PlanningFunctions.isPlanStartYearSameAsCurrentFiscalYear ("Workspace")]] == 1)
              "Bonus" = "Salary" * 0.2;
     ELSEIF([[PlanningFunctions.isPlanStartYearSameAsCurrentFiscalYear ("Workforce")]] == 0)
              "Bonus" = "Salary" * 0.3;
     )
ENDFIX

會產生下列指令碼,其中 Workforce 模組「規劃與預測準備」組態任務已將「計畫開始年度」設定為下一個會計年度,因此第一個條件測試 (IF) 失敗且沒有執行,而第二個條件測試 (ELSEIF) 通過並執行,因為 isPlanStartYearSameAsCurrentFiscalYear 在設定為下一個會計年度 時會傳回整數 "0":

FIX("OEP_Plan","OEP_Working", FY20:FY24)
     "Bonus"
     (
     IF(0 == 1)
              "Bonus" = "Salary" * 0.2;
     ELSEIF(0 == 0)
              "Bonus" = "Salary" * 0.3;
     )
ENDFIX