Diese Funktion legt einen einzelnen Zeitperiodenwert (z.B. P#[Year]) eines Quellkontos anhand eines in einem Profilkonto (z.B. Einnahmenprofil, 4-4-5 usw.) definierten Profils auf alle Perioden eines Zielkontos um.
Rückgabewert
Kein Rückgabewert.
Syntax
Spread(Destination,Source,Factor,FactorN,FactorD,Temp,Per)
Tabelle 12-24 Syntax der Funktion Spread
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. Der Quell-POV muss einen einzelnen Zeitraum enthalten, z.B. P#[Year]. Der Betrag des einzelnen Zeitraums ist der zu verteilende 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 Verteilungsumlage verwendete Zählerfaktor. |
FactorD |
Ein gültiger Quell-POV. FactorD ist der als Grundlage für die Verteilungsumlage verwendete Nennerfaktor. |
Temp |
Ein gültiges Zielkonto. Temp ist das Konto, in dem der Quellwert vorübergehend gespeichert wird. |
Per |
Eine Periodenzeichenfolge, die den Namen der ersten Periode im Zeitraum definiert, z.B. "Januar". Der Wert Temp wird in der ersten Periode gespeichert, und der Parameter muss in der Berechnung darauf verweisen. |
Detaillierte Beschreibung
Diese Funktion legt einen einzelnen Zeitperiodenwert (z.B. P#[Year]) eines Quell-POV anhand eines in einem Profil-POV (z.B. Einnahmenprofil, 4-4-5 usw.) definierten Profils auf alle Perioden eines Ziel-POV um.
Zeitbasierte Umlagen eignen sich besonders für Budgetierungsanwendungen, in denen Beträge zunächst für das gesamte Jahr eingegeben und später anhand eines geeigneten Profils auf Zeiträume umgelegt werden.
Der Quell-POV muss einen einzelnen Zeitraum enthalten. Der Zeitraum ist im Allgemeinen P#[Year], kann aber ein beliebiger einzelner Zeitraum sein, z.B. P#January.
Der Wert im Quell-POV wird von der Berechnung in einem temporären Konto gespeichert. Dies ist erforderlich, da es sich bei Quell- und Zielkonto in der Regel um dasselbe Konto handelt. Wenn dies der Fall ist, ändert sich der Wert in P#[Year], wenn die Berechnung von einer Periode zur nächsten geht. Daher müssen Sie den Wert zunächst speichern, damit Sie für alle Zeiträume darauf verweisen können.
Es wird empfohlen, Variablen in der aufrufenden Routine festzulegen und an die Funktion Spread zu übergeben, die die Parameter Destination, Source, Profile, Temp und Period1 definieren. Außerdem wird empfohlen, die Variablennamen in der aufrufenden Routine auf dieselben Werte festzulegen wie in der Funktion Spread.
Beispiel
Der Wert Year aus dem Konto Telephone wird mit einem vierteljährlichen Verhältnis (4-4-5) auf Zeiträume umgelegt.
Das von der Funktion SPREAD zurückgegebene Ergebnis sieht folgendermaßen aus:
HS.EXP "A#TempTelephone.C1#[None] = A#Telephone.C1#[None].P#[Year]" (Where Period.Number = 1)
HS.EXP "A#Telephone.C1#[None] = A#TempTelephone P#January * E.Globals.A#Profile445.C1#[None].P#Cur / E.Globals.A#Profile445.C1#[None].P#[Year]
Beispielskript
Das Skript enthält die folgenden Informationen:
Eine in der aufrufenden Routine geschriebene Beispielanweisung.
Variablen, die in der aufrufenden Routine festgelegt und an die Funktion Spread übergeben werden.
Variablennamen in der aufrufenden Routine sind auf dieselben Werte festgelegt wie in der Funktion Spread.
Sub Calculate()
Dim Destination Dim Source Dim Factor Dim FactorN Dim FactorD Dim Temp Dim Per
Source = "A#Telephone.C1#[None].P#[Year]" Destination = "A#Telephone.C1#[None]" Factor = "A#Factor.C1#[None]" FactorN = "E#Globals.A#Profile445.C1#[None].P#CUR" FactorD = "E#Globals.A#Profile445.C1#[None].P#[Year]" Temp = "A#TempTelephone.C1#[None]" Per = "January"
Call Spread(Destination,Source,Factor, FactorN,FactorD,Temp,Per)
End Sub
' Beginning of the Spread function
Sub Spread(Destination,Source,Factor,FactorN,FactorD,Temp,Per)
If HS.Period.Number = 1 Then
HS.Exp Temp & " = " & Source
End If
HS.Clear Factor HS.EXP Factor & " = " & FactorN & " / " & FactorD
HS.Clear Destination HS.EXP Destination & " = " & Temp & ".P#" & Per & " * " & Factor
End Sub