Spread

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