*RUNALLOCATION

La répartition aide à diffuser les données à partir d'une région source vers une région cible en utilisant le pilote indiqué.

Syntaxe

*RUNALLOCATION

*FACTOR=<driver>

*DIM P_ACCT WHAT=<soure>; WHERE=<target>; USING=<distribution key>; [TOTAL=<distribution key>]

*DIM <other dimensions>

*ENDALLOCATION

WHAT (source)

La valeur source représente la plage des valeurs des données à affecter par la fonction de répartition. La valeur est qualifiée par un ou plusieurs nuplets dans le modèle.

Les options WHAT possibles sont les suivantes :

Options

Descriptions

Exemple

Membre

Un membre de base de la dimension indiqué.

*DIM Region WHAT = US

[property] = ”valeur de la propriété”

Un filtre pour sélectionner les membres de la dimension sur la base d'une propriété indiquée et d'une valeur donnée pour cette propriété.

*DIM Product_Group = [Fruit] = "apples"

BAS

Tous les membres du niveau feuille d'un membre parent de dimension spécifique

*DIM Product_Group = BAS(TotalProduct)

Identique à WHERE

Utilisez les membres identiques définis dans le paramètre WHERE pour la dimension spécifiée

*DIM Account WHERE = Rent

*DIM Account WHAT = Rent

<> membre

L'opérande <> référence tous les membres qui ne sont pas égaux à un membre défini.

Dans le mode du membre <> le membre doit être un membre de base de la dimension.

Si l'opérande <> est utilisé, tous les autres membres de base de cette dimension doivent être inclus dans la région..

*DIM Region USING <> Corp

Restriction de WHAT

  • Vous ne pouvez pas utiliser l'espace ou [ALL] dans la condition WHAT.

  • Vous ne pouvez pas utiliser des membres qui ne sont pas de base avec l'opérande <>.

USING et TOTAL (clé de répartition)

La base de la répartition est la définition d'une part ou d'une valeur source complète à affecter. La méthode pour définir la base est l'utilisation d'un facteur. Un facteur peut être la ou les valeur(s) pouvant être multipliée(e) ou divisée(s) afin de dériver une valeur (support potentiel futur ajouté ou déduit).

Un facteur peut également dériver des valeurs sur la base d'une région définie de données, référencées comme données d'utilisation, ou d'une région de base.

Les options USING et TOTAL possibles sont les suivantes :

Options

Descriptions

Exemple

Membre

Un membre de base de la dimension indiqué.

*DIM Region USING = US

BAS

Tous les membres du niveau feuille d'un membre parent de dimension spécifique

*DIM Product_Group = BAS(TotalProduct)

Identique à WHERE

Utilisez les membres identiques définis dans le paramètre WHERE pour la dimension spécifiée. La même dimension doit être valable pour les paramètres WHERE et USING.

Remarque
Le paramètre WHERE supporte une seule référence de membre.

*DIM Account WHERE = Rent

*DIM Account USING = PercentAcct

<> membre

L'opérande <> référence tous les membres qui ne sont pas égaux à un membre défini.

Dans le mode du membre <> le membre doit être un membre de base de la dimension.

Si l'opérande <> est utilisé, tous les autres membres de base de cette dimension doivent être inclus dans la région..

*DIM Region USING <> Corp

[property] = ”valeur de la propriété”

Un filtre pour sélectionner les membres de la dimension sur la base d'une propriété indiquée et d'une valeur donnée pour cette propriété.

*DIM Product_Group = [Fruit] = "apples"

Restriction de USING

  • Vous ne pouvez pas utiliser >0. Par exemple, le système ne supporte pas USING = Amount >0.

  • USING et TOTAL doivent avoir la même définition.

  • Vous ne pouvez pas utiliser des membres qui ne sont pas de base avec l'opérande <>.

  • Vous ne pouvez pas utiliser un membre parent directement dans USING. BAS(parent) est encore autorisé comme décrit ci-dessus.

FACTOR (pilote)

FACTOR peut être utilisé pour définir toute expression arithmétique écrite dans le paramètre {expression} et peut comporter des opérandes, des parenthèses, des constantes et un des mots-clés USING et TOTAL, ou les deux, représentant respectivement le montant issu de la région USING , montant du pilote, et le montant issu de la région TOTAL, total des pilotes.

  • Si FACTOR est omis, FACTOR est paramétré par défaut sur 1.

  • Si l'expression arithmétique est omise, la valeur par défaut est la multiplication.

Les options FACTOR possibles sont les suivantes :

Options

Descriptions

Exemple

8

Seul un montant fixe est à appliquer à la valeur source pour la répartition.

La valeur du nuplet de WHAT est 10 pour le produit A.

10*.8 = 8

USING

La valeur de la région USING définie est utilisée comme base de la répartition. Ceci offre la possibilité de modifier les valeurs sans avoir à traiter la définition de la répartition.

La valeur du nuplet WHAT est 10 pour le produit A, la valeur de USING est 8.

10*.8 = 8

-1 * USING/100

Ou

1 * USING/100

Le calcul reprend la région définie comme USING et annule la valeur (négative) qui divise la valeur par 100.

La valeur du nuplet de la région USING est 70 pour le produit A.

-70/100 = -.7

(-70 %) (1-70)/100 = -.69 (-69 %)

Remarque

Elle est utilisée avec des comptes pilotes et non des valeurs de reporting.

USING/TOTAL

Le calcul reprend la région définie comme USING et divise la valeur totale pour la région définie comme TOTAL.

La valeur du nuplet de la région USING est 70 pour le produit A. Le total de la région TOTAL (nuplets) est 700, en supposant que la région d'utilisation est valable pour toutes les régions et pas seulement US.

70/700 = .1 (10 %)

Expression mathématique de base avec USING & TOTAL

(Par exemple, 1 + USING, USING -1 et 1 - USING)

Le calcul reprend la région définie comme USING et effectue les opérations mathématiques nécessaires avec la valeur totale pour la région définie commeTOTAL.

La valeur du nuplet de la région USING est 70 pour le produit A.

1+70 = 71

70-1 = 69

1-70 = -69

Restriction de FACTOR

  • Vous ne pouvez utiliser aucun mot-clé du script de calcul dans l'expression FACTOR.

WHERE (cible)

La cible identifie les nuplets auxquels les valeurs doivent être affectées. Elle représente les combinaisons de membres de dimension sur lesquels les valeurs doivent être réparties. La cible identifie la dimension pour laquelle la valeur des membres est modifiée en comparaison à la source et seule la dimension mentionnée explicitement et caractérisée doit être modifiée.

Le mot-clé WHERE est utilisé en combinaison avec le mot-clé *DIM pour identifier les membres de dimension cible (valeurs à modifier par rapport à la source).

Les options WHERE possibles sont les suivantes :

Options

Descriptions

Exemple

Membre

Un membre de base de la dimension indiqué.

*DIM Region WHERE = US

BAS

Tous les membres du niveau feuille d'un membre parent de dimension spécifique

*DIM Product_Group = BAS(TotalProduct)

Identique à WHAT

Utilisez les membres identiques définis dans le paramètre WHAT pour la dimension spécifiée

*DIM Account WHAT = Rent

*DIM Account WHERE = Rent

espace ou [All]

Possibilité de supposer tous les membres de base pour les dimensions données par un paramètre vide ou le mot-clé [ALL]

*DIM Entity =

*DIM IntCo = [ALL]

[property] = ”valeur de la propriété”

Un filtre pour sélectionner les membres de la dimension sur la base d'une propriété indiquée et d'une valeur donnée pour cette propriété.

*DIM Product_Group = [Fruit] = "apples"

Restriction commune

  • Le système ne supporte pas les mots-clés *APP (possibilité d'écrire dans un autre modèle si nécessaire), COUNT et LIST au sein de RUNALLOCATION ou de toute autre option non mentionnée ci-dessus.

Exemples

Exemple 1

Le compte RENT est entré dans l'entité GLOBALOPS, inter-sociétés NON_INTERCO. Le montant doit être affecté à l'aide d'un pourcentage de répartition saisi par l'utilisateur sur le compte PERCENT dans les entités adéquates et pour les membres souhaités des dimensions CATEGORY, TIME, DATASRC et RPTCURRENCY.

La répartition présente les fonctionnalités suivantes :

  • Elle utilise le mot-clé {dimensiontype}DIM pour identifier les dimensions par type.

  • Elle utilise les mots-clés <<< et >>> pour référencer les définitions utilisées à gauche ou à droite.

Avant répartition

Données de compte source ( RENT) :

RENT CHINA

Chine

RENT JAPAN

Japon

RENT INDIA

Inde

RENT ASAREST

Reste de l'Asie

RENT ASA

Asie

50 000 000,00

Données du pilote (compte pourcentage) :

PERCENT CHINA

Chine

10,00

PERCENT JAPAN

Japon

32,00

PERCENT INDIA

Inde

8,00

PERCENT ASAREST

Reste de l'Asie

50,00

               *XDIM_MEMBERSET TIME=2006.SEP
               *XDIM_MEMBERSET P_ACCT=RENT,PERCENT
               *XDIM_MEMBERSET ENTITY=ASA,INDIA,CHINA,JAPAN,ASAREST
               *RUNALLOCATION
                       *FACTOR=USING/100
                       *DIM P_ACCT WHAT=RENT; WHERE=<<<; USING=PERCENT
                       *DIM ENTITY WHAT=ASA; WHERE=INDIA,CHINA,JAPAN,ASAREST; USING=<<<
               *ENDALLOCATION
            

Après répartition

RENT CHINA

Chine

5 000 000,00

RENT JAPAN

Japon

16 000 000,00

RENT INDIA

Inde

4 000 000,00

RENT ASAREST

Reste de l'Asie

25 000 000,00

RENT ASA

Asie

50 000 000,00

Exemple 2

Le compte RENT est entré dans l'entité GLOBALOPS, inter-sociétés NON_INTERCO. Le montant doit être affecté sur la base des mètres carrés de la surface louée utilisée par toutes les entités européennes.

La répartition présente les fonctionnalités suivantes :

  • La répartition utilise le loyer historique comme pilote.

  • Elle utilise le mot-clé BAS( ) pour établir une liste de membres.

Avant répartition

Ci-dessous sont affichées les données historiques pour la période 2008.JAN. Asie est le noeud supérieur.

Entité

CATEGORY

2008.JAN

Asie, tous pays

RÉEL

Asie

RÉEL

Chine

RÉEL

1 500,00

Japon

RÉEL

7 000,00

Inde

RÉEL

500,00

Reste de l'Asie

RÉEL

5 000,00

Planification Asie

RÉEL

Données de compte source ( RENT) :

  • Pour affecter 50 000 aux pays de base

  • Cette entrée peut être reçue dans l'entité de planification Asie.

Données du pilote :

  • Les données historiques sont le pilote.

               *XDIM_MEMBERSET TIME=2008.JAN,2009.JAN
               *XDIM_MEMBERSET P_ACCT=RENT
               *XDIM_MEMBERSET CATEGORY=ACTUAL,PLAN
               *XDIM_MEMBERSET ENTITY=ASA,BAS(RASA)
               

                //Create total rent data to be allocated.
               *WHEN ENTITY
               *IS "ASA"
                       *REC (EXPRESSION=50000,TIME=2009.JAN,CATEGORY=PLAN)
               *ENDWHEN
               *COMMIT
               

               //Allocate to base countries.
               *RUNALLOCATION
                       *FACTOR=USING/TOTAL
                       *DIM P_ACCT WHAT=RENT; WHERE=<<<; USING=<<<; TOTAL=<<<
                       *DIM ENTITY WHAT=ASA; WHERE=BAS(RASA); USING=<<< TOTAL=<<<
                       *DIM TIME WHAT=>>>; WHERE=2009.JAN; USING=2008.JAN; TOTAL=<<<
                       *DIM CATEGORY WHAT=>>>; WHERE=PLAN; USING=ACTUAL; TOTAL=<<<
               *ENDALLOCATION
               

               //Clear the total rent account.
               *WHEN ENTITY
               *IS "ASA"
                       *REC (EXPRESSION=0,TIME=2009.JAN,CATEGORY=PLAN)
               *ENDWHEN
            

Après répartition

Entité

CATEGORY

2009.JAN

Asie, tous pays

PLAN

50 000,00

Asie

PLAN

50 000,00

Chine

PLAN

7 500,00

Japon

PLAN

35 000,00

Inde

PLAN

2 500,00

Reste de l'Asie

PLAN

5 000,00

Planification Asie

PLAN

La période 2009.JAN est enregistrée avec les loyers pour les pays individuels sur la base de leur quote-part historique.

Exemple 3

Le total de toutes les dépenses ADVERTISING engagées par toutes les opérations européennes doit être réaffecté à chaque opération européenne sur la base de leurs ventes externes SALES.

La répartition présente les fonctionnalités suivantes :

  • Elle utilise le mot-clé DOT({type}) pour identifier les dimensions par type.

  • Elle présente la possibilité d'effectuer des agrégations dans la région WHAT ( SALESEUROPE et ALL_INTCO sont des membres parents).

  • Elle affiche une redirection de plusieurs par une d'une dimension (elle lit le total des membres inter-sociétés et l'écrit dans le membre NON_INTERCO de la dimension INTCO )

  • Elle affiche une redirection biunivoque d'une dimension (elle lit le membre INPUT et écrit les résultats dans le membre ALLOCATED de la dimension DATASRC)

Avant répartition

Données source - données historiques pour ventes externes :

Réel - périodique

2008.JAN

Planification Asie

Chine

500 000

Japon

600 000

Inde

200 000

Reste de l'Asie

800 000

Asie

2 100 000

Asie, tous pays

2 100 000

Données à affecter ( ADVERTISING) :

Planifié - périodique

2009.JAN

Planification Asie

500 000

Chine

Japon

Inde

Reste de l'Asie

Asie

Asie, tous pays

500 000

Facteur : USING/TOTAL

APP ou (Dim) ou VALUE

WHAT

WHERE

USING

TOTAL

DOT(A)

ADVERTISING

<<<

EXTSALES

<<<

DOT(E)

SALESEUROPE

BAS(SALESEUROPE)

<<<

<<<

DOT(I)

ALL_INTERCO

NON_INTERCO

>>>

BAS(ALL_INTERCO)

DATASRC

INPUT

ALLOCATED

INPUT

<<<

               *RUNALLOCATION
                       *FACTOR =USING/TOTAL
                       *DIM P_ACCT WHAT=ADVERTISING; WHERE=<<<; USING=EXTSALES; TOTAL=<<<
                       *DIM ENTITY WHAT=ASA; WHERE=BAS(RASA); USING=<<<; TOTAL=<<<
                       *DIM INTERCO WHAT=WORLD_INTERCO; WHERE=I_NONE; USING=>>>; TOTAL=BAS(World_InterCo)
                       *DIM P_DATASRC WHAT=MANUAL; WHERE=ALLOCATED; USING=MANUAL; TOTAL=<<<
                       *DIM TIME WHAT=2009.JAN; WHERE=2009.JAN; USING=2008.JAN; TOTAL=<<<
               *ENDALLOCATION
            

Après répartition

Planifié - périodique

2009.JAN

Planification Asie

Chine

119 048

Japon

142 857

Inde

47 619

Reste de l'Asie

190 476

Asie

500 000

Asie, tous pays

500 000

Exemple 4

Cet exemple implémente le même scénario que l'exemple 3 mais il utilise une variable système par année. (%YEAR%). Ceci retourne l'actuelle année civile. Supposez que le script est pour l'année 2009.

Avant répartition

Données source - données historiques pour ventes externes :

Réel - périodique

2008.JAN

Planification Asie

Chine

500 000

Japon

600 000

Inde

200 000

Reste de l'Asie

800 000

Asie

2 100 000

Asie, tous pays

2 100 000

Données à affecter ( ADVERTISING) :

Planifié - périodique

2009.JAN

Planification Asie

500 000

Chine

Japon

Inde

Reste de l'Asie

Asie

Asie, tous pays

500 000

Facteur : USING/TOTAL

APP ou (Dim) ou VALUE

WHAT

WHERE

USING

TOTAL

DOT(A)

ADVERTISING

<<<

EXTSALES

<<<

DOT(E)

SALESEUROPE

BAS(SALESEUROPE)

<<<

<<<

DOT(I)

ALL_INTERCO

NON_INTERCO

>>>

BAS(ALL_INTERCO)

DATASRC

INPUT

ALLOCATED

INPUT

<<<

               *RUNALLOCATION
                       *FACTOR =USING/TOTAL
                       *DIM P_ACCT WHAT=ADVERTISING; WHERE=<<<; USING=EXTSALES; TOTAL=<<<
                       *DIM ENTITY WHAT=ASA; WHERE=BAS(RASA); USING=<<<; TOTAL=<<<
                       *DIM INTERCO WHAT=WORLD_INTERCO; WHERE=I_NONE; USING=>>>; TOTAL=BAS(World_InterCo)
                       *DIM P_DATASRC WHAT=MANUAL; WHERE=ALLOCATED; USING=MANUAL; TOTAL=<<<
                       *DIM TIME WHAT=%YEAR%.JAN; WHERE=%YEAR%.JAN; USING=%YEAR%(-1).JAN; TOTAL=<<<
               *ENDALLOCATION
            

Après répartition

Planifié - périodique

2009.JAN

Planification Asie

Chine

119 048

Japon

142 857

Inde

47 619

Reste de l'Asie

190 476

Asie

500 000

Asie, tous pays

500 000

Exemple 5

Tous les comptes dans le résultat de la catégorie ACTUAL, pour les trois entités ITALY, FRANCE et UK, sont copiés sur les comptes correspondants de l'entité GLOBALOPS pour la catégorie BUDGET. Cette répartition est fondamentalement un exemple d'une simple action de copie, qui n'utilise pas du tout FACTOR. Dans cet exemple, le moteur logiciel effectue une copie biunivoque ACTUAL dans BUDGET) ainsi qu'une copie de plusieurs à une ( ITALY, FRANCE et UK sont additionnés et copiés dans GLOBALOPS).

Avant répartition

Réel - périodique

2007.DEC

UK (Grande-Bretagne)

30 000

Italie

10 000

France

10 000

Budget – périodique

2008.FEB

Opérations globales

Facteur :

APP ou (Dim) ou VALUE

WHAT

WHERE

ACCOUNT

[GROUP] = "profit & loss"

<<<

CATEGORY

ACTUAL

BUDGET

ENTITY

SALESITALY; SALESFRANCE; SALESUK

GLOBALOPS

DOT(R)

LC

<<<

Une propriété non prise en charge dans ALLOCATION est remplacée par une variable utilisant une instruction *SELECT. Assurez-vous que l'instruction *SELECT sélectionne uniquement des membres de base.

               *XDIM_MEMBERSET ACCOUNT=ADVERTISING,EXTSALES
               *XDIM_MEMBERSET ENTITY=UK,ITALY,FRANCE,GLOBAL
               *XDIM_MEMBERSET P_DATASRC = INPUT
               *XDIM_MEMBERSET TIME = 2007.DEC,2008.JAN
               *XDIM_MEMBERSET CATEGORY = ACTUAL,BUDGET
               *XDIM_MEMBERSET INTCO= I_NONE
               *XDIM_MEMBERSET RPTCURRENCY = LC
               *SELECT(%ACCT%, "[ID]",ACCOUNT,"[CALC]='N'","[GROUP]='PL'")
               

               *RUNALLOCATION
                       *FACTOR=
                       *DIM ACCOUNT WHAT=[GROUP]="PL" AND [CALC]="N"; WHERE=<<<
                       *DIM CATEGORY WHAT=ACTUAL; WHERE=BUDGET
                       *DIM ENTITY WHAT=UK,ITALY,FRANCE; WHERE=GLOBAL
                       *DIM DOT(R) WHAT=LC; WHERE=<<<
                       *DIM TIME WHAT=2007.DEC; WHERE=2008.FEB
               *ENDALLOCATION
            

Après répartition

Budget – périodique

2008.FEB

Opérations globales

50 000

Tous les codes logiciels et/ou lignes/chaînes de code ("Code") inclus dans cette documentation sont fournis à titre d'exemples et ne sont en aucun cas destinés à un usage dans un environnement système productif.Le Code a pour but de mieux expliquer et d'offrir un exemple visuel des règles de syntaxe et de rédaction de certains codes.SAP ne garantit pas l'exactitude et l'exhaustivité du Code ci-après et SAP ne pourra pas être tenu responsable des erreurs ou dommages causés par l'utilisation dudit Code, sauf si de tels dommages ont été causés volontairement par SAP ou par négligence grave de SAP.