Questa funzione consente di allocare un unico valore di periodo di tempo (ad esempio,. P#[Anno]), di un conto origine a tutti i periodi di un conto destinazione in base a un profilo definito in un conto profilo (ad esempio, profilo ricavi, 4-4-5, ecc.).
Valore restituito
Nessun valore restituito.
Sintassi
Spread(Destination,Source,Factor,FactorN,FactorD,Temp,Per)
Tabella 12-24 Sintassi della funzione Spread
Parametro | Valori validi |
---|---|
Destinazione |
Punto di vista di destinazione valido costituito da una combinazione valida di conto, ICP e membri custom 1-4. |
Origine |
Punto di vista origine valido costituito da una combinazione valida di membri dimensione. Il punto di vista di origine deve includere un singolo periodo di tempo, ad esempio P#[Anno]. Il valore del singolo periodo di tempo è il valore da distribuire. |
Fattore |
Punto di vista origine valido. Fattore è il conto utilizzato per memorizzare il fattore di allocazione. |
FattoreN |
Punto di vista origine valido. FattoreN è il fattore numeratore utilizzato come base per l'allocazione di distribuzione. |
FattoreD |
Punto di vista origine valido. FattoreD è il fattore denominatore utilizzato come base per l'allocazione di distribuzione. |
Temp |
Conto di destinazione valido. Temp è il conto che memorizza in modo temporaneo il valore Origine. |
Per |
Stringa periodo che definisce il nome del primo periodo nell'intervallo di tempo, ad esempio "gennaio". Il valore Temp viene memorizzato nel primo periodo e il parametro è obbligatorio per fare riferimento a tale elemento nel calcolo. |
Descrizione dettagliata
Questa funzione alloca un singolo valore di periodo di tempo (ad esempio, P#[Anno]) di un punto di vista Origine a tutti i periodi di un punto di vista Destinazione in base a un profilo definito in un punto di vista profilo (ad esempio, profilo ricavi, 4-4-5 e così via).
Le allocazioni basate su tempo sono particolarmente adatte ad applicazioni di definizione del budget, in cui gli importi vengono immessi innanzitutto per l'anno totale e quindi successivamente allocati in periodi di tempo in base a un profilo appropriato.
Il punto di vista di origine deve includere un singolo periodo di tempo. Il periodo di tempo sarà in genere P#[Anno], ma può essere qualsiasi periodo singolo, ad esempio P#gennaio.
Il valore nel punto di vista Origine viene memorizzato dal calcolo in un conto temporaneo. Ciò è obbligatorio, poiché i conti di origine e di destinazione sono in genere lo stesso conto. In tale caso, il valore in P#[Anno] viene modificato mentre il calcolo procede da 1 periodo al successivo. È pertanto necessario memorizzare innanzitutto il valore per consentire riferimenti a tale valore per tutti i periodi di tempo.
È consigliabile che le variabili vengano impostate nella routine chiamante e vengano passate alla funzione Spread, che definisce i parametri Destinazione, Origine, Profilo, Temp e Periodo1. È inoltre consigliabile che i nomi di variabile nella routine chiamante vengano impostati in modo da essere uguali a quelli della funzione Spread.
Esempio
Il valore Anno nel conto telefono viene allocato nei periodi di tempo utilizzando un rapporto trimestrale 4-4-5.
Il risultato restituito dalla funzione SPREAD è il seguente:
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]
Script campione
Lo script include le informazioni seguenti:
Una istruzione campione scritta nella routine chiamante.
Variabili impostate nella routine chiamante e passate alla funzione Spread.
Nomi di variabili nella routine chiamante impostati in modo da essere uguali a quelli della funzione 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