Questa funzione alloca un punto di vista Origine a un punto di vista Destinazione, utilizzando un punto di vista Fattore come base dell'allocazione, con l'opzione di contabilizzazione dello storno dell'importo totale allocato a un punto di vista Eliminazione. Questa funzione è progettata per allocazioni a dimensione custom.
Valore restituito
Nessun valore restituito.
Sintassi
Custom_Alloc(Destination,Source,Factor,FactorN,FactorD,
Elimination)
Tabella 12-18 Sintassi della funzione Custom_Alloc
| 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. Origine è l'importo da allocare. | 
| 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. | 
| FattoreD | Punto di vista origine valido. FattoreD è il fattore denominatore utilizzato come base per l'allocazione. | 
| Eliminazione | Punto di vista origine valido. Eliminazione può essere una stringa vuota ("") e in tale caso questo parametro viene ignorato. Se il parametro Eliminazione è impostato, l'importo contabilizzato in Punto di vista Destinazione viene moltiplicato per -1 e contabilizzato nel punto di vista Eliminazione. | 
Descrizione dettagliata
Questa funzione alloca un punto di vista Origine a un punto di vista Destinazione, utilizzando un punto di vista Fattore come base dell'allocazione, con l'opzione di contabilizzazione dello storno dell'importo totale allocato a un punto di vista Eliminazione. Questa funzione è progettata per allocazioni a dimensione custom.
Il parametro Factor memorizza il risultato della divisione di FattoreN per FattoreD. È obbligatorio per abilitare il fattore al riferimento a entità diverse dall'identità corrente.
Se l'entità nel punto di vista Origine è un padre, tale padre deve essere consolidato prima dell'esecuzione del calcolo a livello di figlio. Se la valuta padre è diversa dalla valuta figlio, sarà necessario eseguire anche una traduzione di tutte le valute rilevanti prima di eseguire il calcolo a livello figlio.
È consigliabile che le variabili vengano impostate nella routine chiamante e vengano passate alla funzione Custom_Alloc, che definisce i punti di vista Destinazione, Origine, Fattore, FattoreN, FattoreD ed Eliminazione. È inoltre consigliabile che i nomi di variabile nella routine chiamante vengano impostati in modo da essere uguali a quelli della funzione Custom_Alloc.
Il parametro Eliminazione può essere una stringa vuota ("") e in tale caso questo parametro viene ignorato. Se il parametro Eliminazione è impostato, l'importo contabilizzato nel punto di vista Destinazione verrà moltiplicato per -1 e verrà contabilizzato nel punto di vista Eliminazione.
Esempio
Il conto telefono è allocato a prodotti in base a un rapporto tra vendite prodotti e totale vendite. L'inverso dell'importo allocato viene contabilizzato nel conto allocazioni.
Tabella 12-19 Esempio di funzione Custom_Alloc
| Conto | 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/D | N/D | N/D | 
| 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 | 
Il risultato restituito dalla funzione CUSTOM_ALLOC è il seguente:
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)"
Script campione
Questo script include le informazioni seguenti:
Una istruzione campione scritta nella routine chiamante.
Variabili impostate nella routine chiamante e passate alla funzione Custom_Alloc.
Nomi di variabili nella routine chiamante impostati in modo da essere uguali a quelli della funzione 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