Custom_Alloc

Diese Funktion legt einen Quell-POV (Point of View) mithilfe eines Faktor-POV als Grundlage der Umlage auf einen Ziel-POV um. Dabei besteht die Möglichkeit, den insgesamt umgelegten Betrag auf einen Eliminierungs-POV rückzubuchen. Diese Funktion wurde für Umlagen benutzerdefinierter Dimensionen konzipiert.

Rückgabewert

Kein Rückgabewert.

Syntax

Custom_Alloc(Destination,Source,Factor,FactorN,FactorD,
Elimination)

Tabelle 12-18 Syntax der Funktion Custom_Alloc

Parameter Gültige Werte

Destination

Ein gültiger Ziel-POV, der eine gültige Kombination aus den Elementen Account, ICP und Custom 1-4 ist.

A valid destination POV that is a valid combination of Account, ICP and Custom 1-4 members.

Ein gültiger Quell-POV, der eine gültige Kombination aus Dimensionselementen ist. Source ist der umzulegende Betrag.

Factor

Ein gültiger Quell-POV. Factor ist das zum Speichern des Umlagefaktors verwendete Konto.

FactorN

Ein gültiger Quell-POV. FactorN ist der als Grundlage für die Umlage verwendete Zählerfaktor.

FactorD

Ein gültiger Quell-POV. FactorD ist der als Grundlage für die Umlage verwendete Nennerfaktor.

Elimination

Ein gültiger Quell-POV. Elimination kann eine leere Zeichenfolge ("") sein. In diesem Fall wird der Parameter ignoriert. Wenn der Parameter Elimination festgelegt ist, wird der im Ziel-POV aktivierte Betrag mit -1 multipliziert und im Eliminierungs-POV aktiviert.

Detaillierte Beschreibung

Diese Funktion legt einen Quell-POV mithilfe eines Faktor-POV als Grundlage der Umlage auf einen Ziel-POV um. Dabei besteht die Möglichkeit, den insgesamt umgelegten Betrag auf einen Eliminierungs-POV rückzubuchen. Diese Funktion wurde für Umlagen benutzerdefinierter Dimensionen konzipiert.

Der Parameter Factor speichert das Ergebnis von FactorN, dividiert durch FactorD. Dies ist erforderlich, damit der Faktor auf andere Entitys als die aktuelle Entity verweisen kann.

Wenn die Entity im Quell-POV ein übergeordnetes Element ist, muss dieses übergeordnete Element konsolidiert werden, bevor die Berechnung auf der untergeordneten Ebene ausgeführt wird. Wenn die übergeordnete Währung nicht mit der untergeordneten Währung identisch ist, muss eine Umrechnung aller relevanten Währungen vorgenommen werden, bevor die Berechnung auf der untergeordneten Ebene ausgeführt wird.

Es wird empfohlen, Variablen in der aufrufenden Routine festzulegen und an die Funktion Custom_Alloc zu übergeben, die die POVs Destination, Source, Factor, FactorN, FactorD und Elimination definieren. Außerdem wird empfohlen, die Variablennamen in der aufrufenden Routine auf dieselben Werte festzulegen wie in der Funktion Custom_Alloc.

Der Parameter Elimination kann eine leere Zeichenfolge ("") sein. In diesem Fall wird der Parameter ignoriert. Wenn der Parameter Elimination festgelegt ist, wird der im Ziel-POV aktivierte Betrag mit -1 multipliziert und im Eliminierungs-POV veröffentlicht.

Beispiel

Das Konto Telephone ist Produkten anhand eines Verhältnisses von Produktumsatz zu Gesamtumsatz zugeordnet. Der Umkehrwert des umgelegten Betrags wird im Konto Allocations aktiviert.

Tabelle 12-19 Beispiel für die Funktion Custom_Alloc

Konto Jan2014 Feb2014 Mar2014

A#Telephone.C1#[None]

100

300

400

A#Sales.C1#Product1

1000

1000

1000

A#Sales.C1#Product2

1000

2000

3000

A#Sales.C1#TotalProducts

2000

3000

4000

Custom_Alloc(A#Telephone","A#Telephone.C1#[None]", "A#Factor", A#Sales", "A#Sales.C1#TotalProducts", "A#ProductAllocations.C1#[None])

N/V

N/V

N/V

A#Factor.C1#Product1

0,50

0,33

0,25

A#Factor.C1#Product2

0,50

0,66

0,75

A#Telephone.C1#Product1

50

100

100

A#Telephone.C1#Product2

50

200

300

A#ProductAllocations.C1#[None]

-100

-300

-400

Das von der Funktion CUSTOM_ALLOC zurückgegebene Ergebnis sieht folgendermaßen aus:

HS.EXP "A#Factor = A#Sales / A#Sales.C1#TotalProducts"
HS.EXP "A#Telephone = A#Telephone.C1#[None] * A#Factor"
HS.EXP "A#Allocations.C1#[None] = (A#Telephone.C1#[None] * -1)" 

Beispielskript

Dieses Skript enthält die folgenden Informationen:

  • Eine in der aufrufenden Routine geschriebene Beispielanweisung.

  • Variablen, die in der aufrufenden Routine festgelegt und an die Funktion Custom_Alloc übergeben werden.

  • Variablennamen in der aufrufenden Routine sind auf dieselben Werte festgelegt wie in der Funktion Custom_Alloc.

    Sub Calculate()
    Dim Destination
    Dim Source
    Dim Elimination
    Dim Factor
    Dim FactorN
    Dim FactorD
    Dim C1list
    Dim C1item
    C1list = HS.Custom1.List("Alloc")
    For Each C1item in C1list  
    Source = "A#Telephone.C1#[None]"
    Destination = "A#Telephone.C1#" & C1item
    Factor = "A#Factor.C1#" & C1item
    FactorN = "A#Sales.C1#" & C1item
    FactorD = "A#Sales.C1#TotalProducts"
    Elimination = "A#ProductAllocations.C1#" & C1item 
    Call Custom_Alloc(Destination,Source,Factor,FactorN,
    FactorD,Elimination)
    Next 
    End Sub
    ' Beginning of the Custom_Alloc function 
    Sub Custom_Alloc(Destination,Source,FactorN,FactorD,
    Elimination)
    HS.Clear Factor
    HS.Exp Factor & " = " & FactorN & "/" & FactorD
    HS.EXP Destination & " = " & Source & " * " & Factor 
    If Elimination <> "" Then
    HS.EXP Elimination & " = " & Source & " * -1 * " & Factor
    End If
    End Sub