Spread

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