シナリオ・プランニング範囲の時間範囲およびモジュールの「プランニングと予測の準備」構成タスク情報を式として公開し、次のことを指定できます:
モジュール・プラン開始年: 「現在の会計年」の場合は"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
は入力されたシナリオ・メンバー、またはOracle Hyperion Calculation Managerの実行時プロンプト・メンバー・タイプの変数です。メンバーは二重引用符で囲む必要があります。たとえば、[[getStartYear("Actual")]]
のようになります。
ScenarioName
には、次の形式で代替変数も指定できます:
getSubVarValue("CubeName", "SubstitutionVariableName")
は、CubeName
によって定義されたキューブ・レベルで、指定された代替変数の代替変数値を返します
getSubVarValue("SubstitutionVariableName")
は、すべてのキューブのアプリケーション・レベルで、指定された代替変数の代替変数値を返します
CubeName
およびSubstitutionVariableName
は二重引用符で囲む必要があり、&または{}は使用しないでください。次の例3および例4を参照してください。
モジュール名
ModuleName
は、Oracle Hyperion PlanningおよびStrategic Workforce Planningの現在のモジュールの事前定義済名である必要があります。パラメータとしてModuleName
を使用するこれらの式は、ScenarioName
の「プランニングと予測の準備」構成タスクの時間範囲情報を使用し、アプリケーション内で計画および予測シナリオに対してモジュールごとに時間範囲が異なる場合があります。
計画および予測の他のシナリオも、これらの式で参照できますが、ディメンション・エディタでシナリオ・プランニング範囲に対して設定された時間範囲のみを返し、アプリケーション内のすべてのモジュールに対して同じになります。シナリオ・プランニング範囲の詳細は、シナリオについてを参照してください。
「プラン開始年」は、別の「プランニングと予測の準備」構成タスクであり、モジュールの計画シナリオに固有です。この式は、「現在の会計年」に設定されている場合は"1"、「次の会計年」に設定されている場合は"0"の整数値を返すように、その設定に関連した値を返します。この式は、値としてディメンション・メンバーを返さないので、条件文のコンテキスト内でのみ使用できます。次の例5を参照してください。
ModuleName
の有効な値は次のとおりであり、特定のビジネス・プロセスに適用できます:
表8-8 有効なModuleName
の値
ビジネス・プロセス | 有効なModuleName の値 |
---|---|
Planningモジュール |
|
Strategic Workforce Planning |
|
注:
ModuleName
の値は二重引用符で囲む必要があり、大文字と小文字が区別されません。
例1
次の構文({rtpScenario}
はタイプがmember の実行時プロンプト変数で、デフォルト値はactual):
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
によって、次のスクリプトが返されます。ここで、資本モジュールの「プランニングと予測の準備」構成タスクにより、計画シナリオの「開始年」と「終了年」がそれぞれ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
により、次のスクリプトが作成されます。ここでは、「次の会計年」に設定されている場合はisPlanStartYearSameAsCurrentFiscalYear
が"0"の整数を返すため、最初の条件付きテスト(IF)は失敗して実行されず、2番目の条件付きテスト(ELSEIF)が成功して実行されるように、要員モジュールの「プランニングと予測の準備」構成タスクにより「プラン開始年」が「次の会計年」に設定されています:
FIX("OEP_Plan","OEP_Working", FY20:FY24) "Bonus" ( IF(0 == 1) "Bonus" = "Salary" * 0.2; ELSEIF(0 == 0) "Bonus" = "Salary" * 0.3; ) ENDFIX