Custom_Alloc

Cette fonction attribue un point de vue (PDV) Source à un PDV Destination en utilisant un PDV Factor comme base d'allocation, avec la possibilité d'inverser l'imputation du montant total alloué à un PDV Elimination. Cette fonction est conçue pour les allocations de dimension libre.

Valeur renvoyée

Aucune valeur renvoyée.

Syntaxe

Custom_Alloc(Destination,Source,Factor,FactorN,FactorD,
Elimination)

Tableau 12-18 Syntaxe de la fonction Custom_Alloc

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. Source correspond au montant à allouer.

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 l'allocation.

FactorD

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

Elimination

Un PDV source valide. Elimination peut être une chaîne vide (""), auquel cas ce paramètre n'est pas pris en compte. Si le paramètre Elimination est défini, le montant imputé au PDV Destination est multiplié par -1 et imputé au PDV Elimination.

Description détaillée

Cette fonction attribue un PDV Source à un PDV Destination en utilisant un PDV Factor comme base d'allocation, avec la possibilité d'inverser l'imputation du montant total alloué à un PDV Elimination. Cette fonction est conçue pour les allocations de dimension libre.

Le paramètre Factor stocke le résultat de FactorN divisé par FactorD. Cela est nécessaire pour autoriser le facteur à référencer des entités autres que l'entité en cours.

Si l'entité dans le PDV Source est un parent, ce parent doit être consolidé avant l'exécution du calcul au niveau des enfants. Si la devise parent est différente de la devise enfant, la conversion de toutes les devises pertinentes doit également être effectuée avant d'exécuter le calcul au niveau des enfants.

; il est recommandé de définir les variables dans la routine appelante et de les transmettre à la fonction Custom_Alloc, qui définit les PDV Destination, Source, Factor, FactorN, FactorD et Elimination. Il est également conseillé de définir les mêmes noms de variables dans la routine appelante que dans la fonction Custom_Alloc.

Le paramètre Elimination peut être une chaîne vide (""), auquel cas ce paramètre n'est pas pris en compte. Si le paramètre Elimination est défini, le montant imputé au PDV Destination est multiplié par -1 et imputé au PDV Elimination.

Exemple

Le compte Telephone est alloué au compte Products selon un ratio Ventes du produit sur Total des ventes. L'inverse du montant alloué est imputé au compte Allocation.

Tableau 12-19 Exemple de fonction Custom_Alloc

Compte Jan2014 Feb2014 Mar2014

A#Telephone.C1#[None]

100

300

400

A#Sales.C1#Product1

1 000

1 000

1 000

A#Sales.C1#Product2

1 000

2 000

3 000

A#Sales.C1#TotalProducts

2 000

3 000

4 000

Custom_Alloc(A#Telephone","A#Telephone.C1#[None]", "A#Factor", A#Sales", "A#Sales.C1#TotalProducts", "A#ProductAllocations.C1#[None])

Sans objet

Sans objet

Sans objet

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

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

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)" 

Exemple de script

Ce 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 Custom_Alloc.

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