Spread

Cette fonction attribue une même valeur de période (par exemple,. P#[Year]) d'un compte source à toutes les périodes d'un compte de destination en fonction d'un profil défini dans un compte de profil (par exemple, profil Produits, 4-4-5, etc.).

Valeur renvoyée

Aucune valeur renvoyée.

Syntaxe

Spread(Destination,Source,Factor,FactorN,FactorD,Temp,Per)

Tableau 12-24 Syntaxe de la fonction Spread

Paramètre Valeurs valides

Destination

Un PDV de destination valide qui est une combinaison valide de membres Account, ICP et Custom 1-4.

Source

Un PDV source valide qui est une combinaison valide de membres de dimension. Le PDV source doit comporter une seule période, par exemple P#[Year]. Il s'agit du montant à répartir.

Factor

Un PDV source valide. Factor est le compte utilisé pour stocker le facteur d'allocation.

FactorN

Un PDV source valide. FactorN est le facteur numérateur utilisé comme base pour répartir l'allocation.

FactorD

Un PDV source valide. FactorD est le facteur dénominateur utilisé comme base pour répartir l'allocation.

Temp

Un compte de destination valide. Temp est le compte qui stocke temporairement la valeur source.

Per

Une chaîne de période qui définit le nom de la première période du calendrier, par exemple "January". La valeur Temp est stockée dans la première période et le paramètre est obligatoire pour y faire référence dans le calcul.

Description détaillée

Cette fonction alloue une même valeur de période (par exemple, P#[Year]) d'un PDV Source à toutes les périodes d'un PDV Destination en fonction d'un profil défini dans un PDV de profil (par exemple, profil Produits, 4-4-5, etc.).

Les allocations temporelles sont particulièrement adaptées aux applications de budgétisation dans lesquelles les montants sont d'abord saisis pour l'année entière, puis répartis entre les périodes en fonction d'un profil pertinent.

Le PDV Source doit comporter une seule période. La période sera généralement P#[Year], mais il peut s'agir de n'importe quelle période unique, telle que P#January.

La valeur dans le PDV Source est stockée par le calcul dans un compte temporaire. Cela est obligatoire car les comptes source et de destination sont généralement le même compte. Lorsque tel est le cas, la valeur de P#[Year] change dès que le calcul passe d'une période à une autre. Par conséquent, vous devez stocker la valeur pour pouvoir y faire référence pour toutes les périodes.

Il est recommandé de définir les variables dans la routine appelante et de les transmettre à la fonction Spread, qui définit les paramètres Destination, Source, Profile, Temp et Period1. Il est également conseillé de définir les mêmes noms de variables dans la routine appelante que dans la fonction Spread.

Exemple

La valeur Year dans le compte Telephone est répartie sur les périodes selon un ratio trimestriel 4- 4- 5.

Le résultat renvoyé par la fonction SPREAD se présente comme suit :

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] 

Exemple de script

Le script contient les informations suivantes :

  • Un exemple d'instruction écrit dans la routine appelante.

  • Des variables définies dans la routine appelante et transmises à la fonction Spread.

  • Des noms de variables définis de manière identique dans la routine appelante et dans la fonction 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