*RUNALLOCATION

Mit der Allokation können Daten eines Quellbereichs anhand des angegebenen Faktors auf einen Zielbereich verteilt werden.

Syntax

*RUNALLOCATION

*FACTOR=<driver>

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

*DIM <other dimensions>

*ENDALLOCATION

WHAT (Quelle)

Der Quellwert stellt den Bereich von Datenwerten dar, die mit der Allokationsfunktion auf den Zielbereich verteilt werden sollen. Dieser Wert wird durch einen oder mehrere Tupel im Modell qualifiziert.

Mögliche Optionen für WHAT sind:

Optionen

Beschreibung

Beispiel

Element

Ein angegebenes Basiselement der Dimension

*DIM Region WHAT = US

[property]="Eigenschaftswert"

Ein Filter zur Auswahl von Dimensionselementen auf der Grundlage einer angegebenen Eigenschaft und eines angegebenen Werts für diese Eigenschaft

*DIM Product_Group = [Fruit] = "apples"

BAS

Alle Elemente der Blattebene eines übergeordneten Elements einer bestimmten Dimension

*DIM Product_Group = BAS(TotalProduct)

dieselben wie bei WHERE

Verwenden Sie dieselben Elemente wie im WHERE-Parameter für die angegebene Dimension definiert.

*DIM Account WHERE = Rent

*DIM Account WHAT = Rent

<> Element

Der Operand <> referenziert alle Elemente, die ungleich einem definierten Element sind.

Im <>-Elementmodus sollte das Element das Basiselement der Dimension sein.

Wenn <> verwendet wird, sollten alle anderen Basiselemente dieser Dimension in den Bereich eingebunden sein.

*DIM Region USING <> Corp

Einschränkung von WHAT

  • Sie können in der WHAT-Bedingung kein Leerzeichen oder [ALL] verwenden.

  • Sie können mit <> keine Nicht-Basiselemente verwenden.

USING und TOTAL (Verteilungsschlüssel)

Grundlage der Allokation ist die Definition eines zu verteilenden Quellwertes. Dieser kann teilweise oder vollständig angegeben werden. Die Basis wird unter Verwendung eines Faktors definiert. Ein Faktor kann der Wert oder die Werte sein, aus denen durch Multiplikation oder Division ein Wert abgeleitet wird (in der Zukunft werden möglicherweise auch Addition und Subtraktion unterstützt).

Mit einem Faktor können Werte auch basierend auf einem definierten Bereich von Daten abgeleitet werden, der als USING bzw. Basisbereich bezeichnet wird.

Mögliche USING- und TOTAL-Optionen sind:

Optionen

Beschreibung

Beispiel

Element

Ein angegebenes Basiselement der Dimension

*DIM Region USING = US

BAS

Alle Elemente der Blattebene eines übergeordneten Elements einer bestimmten Dimension

*DIM Product_Group = BAS(TotalProduct)

dieselben wie bei WHERE

Verwenden Sie dieselben Elemente wie im WHERE-Parameter für die angegebene Dimension definiert. Die Dimension muss für WHERE und USING dieselbe sein.

Hinweis
WHERE unterstützt nur das Referenzieren eines einzelnen Elements.

*DIM Account WHERE = Rent

*DIM Account USING = PercentAcct

<>-Element

Der Operand <> referenziert alle Elemente, die ungleich einem definierten Element sind.

Im <>-Elementmodus sollte das Element das Basiselement der Dimension sein.

Wenn <> verwendet wird, sollten alle anderen Basiselemente dieser Dimension in den Bereich eingebunden sein.

*DIM Region USING <> Corp

[property]="Eigenschaftswert"

Ein Filter zur Auswahl von Dimensionselementen auf der Grundlage einer angegebenen Eigenschaft und eines angegebenen Werts für diese Eigenschaft

*DIM Product_Group = [Fruit] = "apples"

Einschränkung von USING

  • >0 kann nicht verwendet werden. USING = Amount >0 wird z. B. nicht unterstützt.

  • USING und TOTAL müssen dieselbe Definition haben.

  • Sie können mit <> keine Nicht-Basiselemente verwenden.

  • Sie können übergeordnete Elemente in USING nicht direkt verwenden. BAS(parent) ist dagegen erlaubt, wie oben beschrieben.

FACTOR (Faktor)

Mit FACTOR können Sie arithmetische Ausdrücke definieren, die in den {expression}-Parameter geschrieben werden. FACTOR kann Operanden, Klammern, Konstanten und eines der Schlüsselwörter USING und TOTAL (oder beide) enthalten, die jeweils den Betrag aus dem Bereich USING, den Betrag des Faktors und den Betrag aus dem Bereich TOTAL, der die Summe der Faktoren darstellt, enthalten.

  • Wenn FACTOR weggelassen wird, wird FACTOR standardmäßig auf 1 gesetzt.

  • Wenn der arithmetische Ausdruck weggelassen wird, wird als Standard Multiplikation verwendet.

Mögliche Optionen für FACTOR sind:

Optionen

Beschreibung

Beispiel

.8

Nur ein fester Betrag darf als Quellwert für die Allokation verwendet werden.

Der Tupel-Wert von WHAT ist 10 für Produkt A.

10*.8 = 8

USING

Der Wert des definierten USING-Bereichs wird als Basis der Allokation verwendet. Damit wird es möglich, Werte zu ändern, ohne dass die Definition der Allokation bearbeitet werden muss.

Der Tupel-Wert von WHAT ist 10 für Produkt A, der Tupel-Wert von USING ist .8.

10*.8 = 8

-1 * USING/100

Oder

1 * USING/100

Bei der Berechnung wird der Wert des Bereichs, der als USING definiert ist, umgekehrt (negativ) und dann durch 100 geteilt.

Der Tupel-Wert des USING-Bereichs ist 70 für Produkt A.

-70/100 = -.7

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

Hinweis

Diese Funktion wird für primäre Konten verwendet und nicht für Berichtswerte.

USING/TOTAL

Bei der Berechnung wird der Wert des Bereichs, der als USING definiert ist, durch den Gesamtwert des als TOTAL definierten Bereichs geteilt.

Der Tupel-Wert des USING-Bereichs ist 70 für Produkt A. Der Gesamtwert des TOTAL-Bereichs (Tupels) ist 700, vorausgesetzt, dass der USING-Bereich für alle Regionen gilt und nicht nur für US.

70/700 = .1 (10%)

Grundlegende mathematische Ausdrücke mit USING und TOTAL

(Beispiel: 1 + USING, USING -1 und 1 - USING)

Bei der Berechnung werden mit dem Wert des Bereichs, der als USING definiert ist, anhand des Gesamtwertes des als TOTAL definierten Bereichs die notwendigen mathematischen Operationen durchgeführt.

Der Tupel-Wert des USING-Bereichs ist 70 für Produkt A.

1+70 = 71

70 -1 = 69

1-70 = -69

Einschränkung von FACTOR

  • In einem FACTOR-Ausdruck können Sie keine Skriptlogik-Schlüsselwörter verwenden.

WHERE (Ziel)

Das Ziel identifiziert die Tupel, auf die die Werte verteilt werden sollen. Es stellt Kombinationen von Dimensionselementen dar, auf die die Werte verteilt werden sollen. Das Ziel identifiziert die Dimension, für die der Wert der Elemente im Vergleich zur Quelle verändert wird, und nur ausdrücklich erwähnte und charakterisierte Dimensionen sollten geändert werden.

Das Schlüsselwort WHERE wird in Kombination mit dem Schlüsselwort *DIM zum Identifizieren der Elemente der Zieldimension (der im Vergleich zur Quelle zu ändernden Werte) verwendet.

Mögliche Optionen für WHERE sind:

Optionen

Beschreibung

Beispiel

Element

Ein angegebenes Basiselement der Dimension

*DIM Region WHERE = US

BAS

Alle Elemente der Blattebene eines übergeordneten Elements einer bestimmten Dimension

*DIM Product_Group = BAS(TotalProduct)

dieselben wie bei WHAT

Verwenden Sie dieselben Elemente wie im WHAT-Parameter für die angegebene Dimension definiert.

*DIM Account WHAT = Rent

*DIM Account WHERE = Rent

leer oder [All]

Die Möglichkeit, entweder über einen Leer-Parameter oder das Schlüsselwort [ALL] alle Basiselemente einer bestimmten Dimension anzunehmen.

*DIM Entity =

*DIM IntCo = [ALL]

[property]="Eigenschaftswert"

Ein Filter zur Auswahl von Dimensionselementen auf der Grundlage einer angegebenen Eigenschaft und eines angegebenen Werts für diese Eigenschaft

*DIM Product_Group = [Fruit] = "apples"

Allgemeine Einschränkung

  • Die Schlüsselwörter *APP (Möglichkeit, bei Bedarf in ein anderes Modell zu schreiben), COUNT und LIST in RUNALLOCATION sowie alle anderen Optionen, die oben nicht erwähnt sind, werden nicht unterstützt.

Beispiele

Beispiel 1

Das Konto RENT wird in die Entität GLOBALOPS eingegeben, Intercompany NON_INTERCO. Dieser Betrag muss anhand eines Allokationsprozentsatzes verteilt werden, der vom Benutzer in das Konto PERCENT in den entsprechenden Entitäten und für die gewünschten Elemente der Dimensionen CATEGORY, TIME, DATASRC und RPTCURRENCY eingetragen wird.

Diese Allokation weist folgende Merkmale auf:

  • Sie verwendet das Schlüsselwort {dimensiontype}DIM zum Identifizieren der Dimensionen nach Typ.

  • Sie verwendet die Schlüsselwörter <<< und >>>, um die Definitionen zu referenzieren, die weiter rechts bzw. links verwendet werden

Vor der Allokation

Daten des Quellkontos (RENT):

RENT CHINA

China

RENT JAPAN

Japan

RENT INDIA

Indien

RENT ASAREST

übriges Asien

RENT ASA

Asien

50.000.000,00

Faktordaten (Prozentkonto):

PERCENT CHINA

China

10,00

PERCENT JAPAN

Japan

32,00

PERCENT INDIA

Indien

8,00

PERCENT ASAREST

übriges Asien

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
            

Nach der Allokation

RENT CHINA

China

5.000.000,00

RENT JAPAN

Japan

16.000.000,00

RENT INDIA

Indien

4.000.000,00

RENT ASAREST

übriges Asien

25.000.000,00

RENT ASA

Asien

50.000.000,00

Beispiel 2

Das Konto RENT wird in die Entität GLOBALOPS eingegeben, Intercompany NON_INTERCO. Dieser Betrag muss auf der Grundlage der gemieteten Quadratmeter, die von allen europäischen Entitäten genutzt werden, aufgeteilt werden.

Diese Allokation weist folgende Merkmale auf:

  • Die historische Miete wird als Faktor verwendet.

  • Mit dem Schlüsselwort BAS( ) wird eine Elementliste erstellt.

Vor der Allokation

Im Folgenden sind die historischen Daten für die Periode 2008.JAN aufgeführt. Der übergeordnete Knoten ist Asien.

Entität

CATEGORY (Kategorie)

2008.JAN

ganz Asien

ACTUAL

Asien

ACTUAL

China

ACTUAL

1.500,00

Japan

ACTUAL

7.000,00

Indien

ACTUAL

500,00

übriges Asien

ACTUAL

5.000,00

Planung Asien

ACTUAL

Daten des Quellkontos (RENT):

  • 50.000 auf Basisländer verteilen

  • Diese Eingabe kann in der Entität Planung Asien empfangen werden.

Faktordaten:

  • Die historischen Daten sind der Faktor.

               *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
            

Nach der Allokation

Entität

CATEGORY (Kategorie)

2009.JAN

ganz Asien

PLAN

50.000,00

Asien

PLAN

50.000,00

China

PLAN

7.500,00

Japan

PLAN

35.000,00

Indien

PLAN

2.500,00

übriges Asien

PLAN

5.000,00

Planung Asien

PLAN

2009.JAN wird mit Mieten für einzelne Länder basierend auf deren historischem Anteil gebucht.

Beispiel 3

Die Summe aller ADVERTISING-Ausgaben, die bei allen europäischen Vorgängen angefallen sind, müssen basierend auf ihren externen SALES wieder auf die einzelnen europäischen Vorgänge aufgeteilt werden.

Diese Allokation weist folgende Merkmale auf:

  • Sie verwendet das Schlüsselwort DOT({type}) zum Identifizieren der Dimensionen nach Typ.

  • Sie demonstriert die Möglichkeit, in der WHAT-Region Aggregationen durchzuführen (SALESEUROPE und ALL_INTCO sind übergeordnete Elemente).

  • Sie demonstriert die n-zu-eins-Umleitung einer Dimension (sie liest die Summe der Intercompany-Elemente und schreibt sie in das NON_INTERCO-Element der INTCO-Dimension).

  • Sie demonstriert die Eins-zu-eins-Umleitung einer Dimension (sie liest das INPUT-Element und schreibt das Ergebnis in das ALLOCATED-Element der DATASRC-Dimension).

Vor der Allokation

Quelldaten – Historische Daten für External Sales:

Ist – Periodisch

2008.JAN

Planung Asien

China

500.000

Japan

600.000

Indien

200.000

übriges Asien

800.000

Asien

2.100.000

ganz Asien

2.100.000

Zu verteilende Daten (ADVERTISING):

Plan – Periodisch

2009.JAN

Planung Asien

500.000

China

Japan

Indien

übriges Asien

Asien

ganz Asien

500.000

Faktor: USING/TOTAL

APP oder (Dim) oder 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
            

Nach der Allokation

Plan – Periodisch

2009.JAN

Planung Asien

China

119.048

Japan

142.857

Indien

47.619

übriges Asien

190.476

Asien

500.000

ganz Asien

500.000

Beispiel 4

In diesem Beispiel wird dasselbe Szenario implementiert wie in Beispiel 3, aber mit einer Systemvariable für das Jahr (%YEAR%). Dabei wird das aktuelle Kalenderjahr zurückgegeben. Es wird angenommen, dass das Skript für das Jahr 2009 vorgesehen ist.

Vor der Allokation

Quelldaten – Historische Daten für External Sales:

Ist – Periodisch

2008.JAN

Planung Asien

China

500.000

Japan

600.000

Indien

200.000

übriges Asien

800.000

Asien

2.100.000

ganz Asien

2.100.000

Zu verteilende Daten (ADVERTISING):

Plan – Periodisch

2009.JAN

Planung Asien

500.000

China

Japan

Indien

übriges Asien

Asien

ganz Asien

500.000

Faktor: USING/TOTAL

APP oder (Dim) oder 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
            

Nach der Allokation

Plan – Periodisch

2009.JAN

Planung Asien

China

119.048

Japan

142.857

Indien

47.619

übriges Asien

190.476

Asien

500.000

ganz Asien

500.000

Beispiel 5

Alle Konten in der GuV von Kategorie ACTUAL, für die drei Entitäten ITALY, FRANCE und UK, werden in die entsprechenden Konten der Entität GLOBALOPS für Kategorie BUDGET übernommen. Diese Allokation ist ein Beispiel für einen simplen Kopiervorgang, in dem FACTOR überhaupt nicht verwendet wird. In diesem Beispiel führt die Engine eine Eins-zu-eins-Kopie (ACTUAL nach BUDGET) und viele n-zu-eins-Kopien (ITALY, FRANCE und UK werden addiert und nach GLOBALOPS kopiert) aus.

Vor der Allokation

Ist – Periodisch

2007.DEC

UK (Großbritannien)

30.000

Italy

10.000

France

10.000

Budget – Periodisch

2008.FEB

weltweite Geschäftstätigkeit

Faktor:

APP oder (Dim) oder VALUE

WHAT

WHERE

ACCOUNT

[GROUP] = "profit & loss"

<<<

CATEGORY

ACTUAL

BUDGET

ENTITY

SALESITALY; SALESFRANCE; SALESUK

GLOBALOPS

DOT(R)

LC

<<<

Eine in ALLOCATION nicht unterstützte Eigenschaft wird mithilfe einer *SELECT-Anweisung durch eine Variable ersetzt. Stellen Sie sicher, dass die *SELECT-Anweisung nur Basiselemente auswählt.

               *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
            

Nach der Allokation

Budget – Periodisch

2008.FEB

weltweite Geschäftstätigkeit

50.000

Alle in dieser Dokumentation enthaltenen Software-Quelltextzeilen und/oder -Strings („Code“) dienen nur als Beispiele und sind nicht für die Anwendung in einem Produktivsystem vorgesehen. Der Code soll lediglich dazu dienen, die Syntax- und die Phrasierungsregeln bestimmter Kodierungen besser zu erklären und zu veranschaulichen. SAP übernimmt keine Verantwortung für die Richtigkeit und Vollständigkeit des angegebenen Quelltextes und übernimmt keine Haftung für Fehler oder Schäden, die aus dessen Anwendung entstehen könnten; es sei denn, derartige Schäden wurden von SAP vorsätzlich oder fahrlässig hervorgerufen.