Scénarios

Présentez les informations d'échéance de la plage de planification de scénario et les informations de tâche de configuration Préparation de planification et prévision du module sous forme d'expressions, ce qui permet d'indiquer les éléments suivants :

  • Année de début : renvoie l'année de début sous forme de chaîne pour le scénario concerné.
  • Année de fin : renvoie l'année de fin sous forme de chaîne pour le scénario concerné.
  • Mois de début : renvoie le mois de début sous forme de chaîne pour le scénario concerné.
  • Mois de fin : renvoie le mois de fin sous forme de chaîne pour le scénario concerné.
  • Année de début du module : renvoie l'année de début sous forme de chaîne pour le module et le scénario concernés.
  • Année de fin du module : renvoie l'année de fin sous forme de chaîne pour le module et le scénario concernés.
  • Période de début du module : renvoie la période de début dans une chaîne pour le module et le scénario concernés.
  • Période de fin du module : renvoie la période de fin sous forme de chaîne pour le module et le scénario concernés.
  • Année de début de plan du module : renvoie la valeur entière "1" en cas de paramétrage sur Exercice en cours et "0" en cas de paramétrage sur Prochain exercice.

Remarque :

Les années et les périodes de début et de fin du module, ainsi que l'année de début de plan du module sont uniquement valides pour les modules Planning et les applications Strategic Workforce Planning. Elles requièrent la syntaxe "PlanningFunctions".

Syntaxe 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")]]
  

Nom du scénario

ScenarioName peut être un membre de scénario saisi ou une variable de type de membre d'invite d'exécution Calculation Manager. Le membre doit être placé entre guillemets doubles. Par exemple, [[getStartYear("Actual")]].

ScenarioName peut également être une variable de substitution aux formats suivants :

  • getSubVarValue("CubeName", "SubstitutionVariableName") renvoie la valeur d'une variable de substitution donnée au niveau de cube défini par CubeName.

  • getSubVarValue("SubstitutionVariableName") renvoie la valeur d'une variable de substitution donnée au niveau de l'application pour tous les cubes.

CubeName et SubstitutionVariableName doivent être placés entre guillemets doubles. N'utilisez ni & ni {}. Reportez-vous aux exemples 3 et 4 ci-après.

Nom du module

ModuleName doit être le nom prédéfini d'un module actuel de Planning et de Strategic Workforce Planning. Les expressions employant ModuleName comme paramètre utilisent les informations d'échéance des tâches de configuration Préparation de planification et prévision pour ScenarioName, qui peut comporter différentes échéances par module présent dans une application pour les scénarios de plan et de prévision.

Outre les scénarios de plan et de prévision, d'autres scénarios peuvent être référencés dans ces expressions. Toutefois, ils ne renvoient que l'échéance définie pour la plage de planification de scénario dans l'éditeur de dimensions, qui est identique pour tous les modules de l'application. Reportez-vous à la section A propos des scénarios pour plus d'informations sur la plage de planification de scénario.

L'année de début du plan constitue une autre tâche de configuration Préparation de planification et prévision propre au scénario de plan des modules. Selon son paramétrage, cette expression renvoie une valeur différente : la valeur entière "1" en cas de paramétrage sur Exercice en cours et "0" en cas de paramétrage sur Prochain exercice. Elle n'est disponible que dans le contexte d'une instruction conditionnelle car elle ne renvoie pas de membre de dimension en tant que valeur. Reportez-vous à l'exemple 5 ci-après.

Les valeurs suivantes sont valides pour ModuleName. Elles s'appliquent au processus métier indiqué :

Tableau 10-4 Valeurs ModuleName valides

Processus métier Valeur ModuleName valide
Modules Planning
  • "Capital"
  • "Financials"
  • "Projects"
  • "Workforce"
Strategic Workforce Planning
  • "Strategic Workforce"
  • "Workforce"

Remarque :

La valeur ModuleName doit être placée entre guillemets doubles et ne respecte pas la casse.

Exemple 1

La syntaxe suivante, où {rtpScenario} est une variable d'invite d'exécution de type membre avec la valeur par défaut Actual :

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

renvoie le script suivant :

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

Exemple 2

La syntaxe est la suivante :

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

Elle renvoie le script suivant, où la tâche de configuration Préparation de planification et prévision du module Capital définit respectivement les années de début et de fin pour FY18 et FY22 pour le scénario de plan :

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

Exemple 3

La syntaxe suivante utilise une variable de substitution au niveau du cube. Dans cet exemple, Plan1 est le nom du cube et CurrentMonth le nom de la variable de substitution.

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

Cet exemple génère le script suivant :

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

Exemple 4

La syntaxe suivante utilise une variable de substitution au niveau de l'application. Dans cet exemple, CurrentMonth est le nom de la variable de substitution.

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

Cet exemple génère le script suivant :

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

Exemple 5

La syntaxe est la suivante :

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

Elle produit le script suivant où la tâche de configuration Préparation de planification et prévision du module Workforce a défini l'année de début du plan sur Prochain exercice de sorte que le premier test conditionnel (IF) échoue et n'est pas exécuté tandis que le second (ELSEIF) réussit et est exécuté, isPlanStartYearSameAsCurrentFiscalYear renvoyant l'entier "0" en cas de paramétrage sur Prochain exercice :

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