*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.