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