Cette fonction permet d'augmenter ou de diminuer un PDV Destination en fonction d'un facteur de type pourcentage. Ce dernier peut provenir d'un PDV Source, d'une constante VBScript ou d'une variable VBScript.
Valeur renvoyée
Aucune valeur renvoyée.
Syntaxe
Increase_Decrease(Destination,Source,Factor,Scale,Inverse)
Tableau 12-20 Syntaxe de la fonction Increase_Decrease
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, une constante ou une variable valide. |
Scale |
Nombre entier (1 ou 100). Le facteur est divisé par l'échelle. |
Inverse |
True ou False. La valeur True inverse le signe du facteur. Cela permet de générer une diminution où le facteur est stocké sous la forme d'un nombre positif (et vice versa). False utilise le signe stocké du facteur pour déterminer une augmentation ou une diminution. |
Description détaillée
Cette fonction permet d'augmenter ou de diminuer un PDV Destination en fonction d'un facteur de type pourcentage. Ce dernier peut provenir d'un PDV Source, d'une constante VBScript ou d'une variable VBScript.
En général, le PDV Source est identique au PDV de destination, mais ce n'est pas obligatoire.
Le paramètre Scale est utilisé pour mettre à l'échelle le facteur, si nécessaire. Il s'applique lorsque le facteur provient d'un PDV Source et qu'il est stocké dans un formulaire non mis à l'échelle (par exemple, la valeur 50 % est stockée en tant que 50 et non 0,50).
Le paramètre Inverse permet d'inverser le signe du facteur. Il s'applique lorsque le facteur provient d'un PDV Source et qu'il est stocké en tant que valeur absolue. Si le paramètre Inverse est défini sur True, ce facteur est multiplié par -1. Si le paramètre Inverse est défini sur False, le facteur n'est pas multiplié par -1.
Exemple
Dans cet exemple, le compte Telephone est augmenté de 10 %.
Tableau 12-21 Exemple de fonction Increase_Decrease
Account | Jan2014 | Feb2014 | Mar2014 |
---|---|---|---|
A#Telephone |
100 |
300 |
400 |
A#Factor/C1[None] |
10 |
10 |
10 |
Increase_Decrease("A#Telephone", "A#Telephone", "A#Factor.C1#[None]",100,False) |
Sans objet |
Sans objet |
Sans objet |
A#Telephone |
110 |
330 |
440 |
Le résultat renvoyé par la fonction INCREASE_DECREASE se présente comme suit :
HS.EXP "A#Telephone = A#Telephone * (1+ (A#Factor.C1#[None]/100))"
Exemple de script
Un exemple d'instruction écrit dans la routine appelante.
Des variables définies dans la routine appelante et transmises à la fonction Increase_Decrease.
Des noms de variables définis de manière identique dans la routine appelante et dans la fonction Increase_Decrease.
Sub Calculate()
Dim Destination Dim Source Dim Factor Dim Scale Dim Inverse
Destination = "A#Telephone" Source = "A#Telephone" Factor = "A#Factor.C1#[None]" Scale = "100" Inverse = False
Call Increase_Decrease(Destination,Source,Factor,Scale, Inverse)
End Sub
' Beginning of the Increase_Decrease function
Sub Increase_Decrease(Destination,Source,Factor,Scale,Inverse)
If Inverse = False Then
HS.EXP Destination & " = " & Source & " *
(1 + (" & Factor & " / " & Scale & "))"
Else
HS.EXP Destination & " = " & Source & " *
(1 + ((" & Factor & " * -1) / " & Scale & ))"
End If
End Sub