Le moteur de calcul
Les fonctions internes
a) Abs()
Calcule la valeur absolue d'une expression.
Syntaxe :
Abs(<expression>)
Paramètre 1 <expression > :
Inscrire une variable, un appel à un composant ou une fonction du dictionnaire.
La fonction retourne la valeur absolue de l'expression passée en paramètre. L'expression passée en paramètre sera, en principe, numérique mais elle pourra être de type alphanumérique ; dans ce cas, la chaîne sera convertie préalablement dans un format numérique.
Résultat au format :
Numérique
b) Alpha()
Conversion de numérique en alphanumérique.
Syntaxe :
Alpha(<Expression Numérique >,<Format d'impression>)
Paramètre 1 <expression numérique> :
Il est possible d'inscrire une variable, un résultat de rubrique ou une lecture d'un champ d'un composant.
Paramètre 2 < Format d'impression > :
Définir le format d'impression désiré pour cette donnée.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 2
Résultat au format :
Alphanumérique
Alpha(Net,"$###,###.00") rendra un résultat de type financier soit par exemple 7.541,56 F.
Les formats d'impressions :
Ce format définit la manière d'imprimer la variable (en particulier, indication des séparateurs et des caractères autorisés).
Le format est constitué d'une séquence d'informations à utiliser comme suit :
« A » correspond à une lettre.
« N » correspond à une lettre ou un chiffre.
« 9 » correspond à un chiffre.
« # » correspond à un chiffre ou un blanc.
« X » correspond à un caractère quelconque.
« ! » correspond à un caractère quelconque., converti en majuscules à la saisie.
[mini-maxi] autorise les caractères entre une valeur alphanumérique minimum et une valeur alphanumérique maximum.
[A-D] autorise A,B, C et D.
[!mini-maxi] interdit les caractères entre une valeur alphanumérique minimale et une valeur alphanumérique maximale.
[ !X-Z] autorise tout sauf X, Y et Z.
Les paramètres précédents suivi de nombres entre parenthèses équivaut à nombre fois le caractère.
A(5) équivaut à AAAAA.
c) Arrondi()
Arrondi d'une valeur numérique.
Syntaxe :
Arrondi (<expression numérique>, <nombre de décimales>[,<mode d'arrondi>]).
Paramètre 1 <expression numérique> :
Il est possible d'inscrire une variable, un résultat de rubrique ou une fonction lecture d'un champ d'un composant.
Paramètre 2 < nombre de décimales > :
Nombre de décimales à conserver. Peut être négatif si l'on désire arrondir à une puissance de 10.
Paramètre 3 <mode d'arrondi> :
Si le mode d'arrondi est omis, l'arrondi est fait au plus proche, sinon il est possible d'utiliser l'une des deux expressions suivantes :
"+" Arrondi par valeur supérieure.
"-" Arrondi par valeur inférieure.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 3
Résultat au format :
Numérique
Arrondi(Element(COMMISSION),-2,"+") rendra un arrondi à 2400 pour une valeur d'origine de 2334.
d) Ascii()
Retourne une chaîne de longueur 1, correspondant à un code ASCII.
Syntaxe :
Ascii(<expression numérique>)
Paramètre 1 <expression numérique> :
L'expression numérique doit être comprise entre 0 et 255.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Alphanumérique , se reporter à la table des caractères ASCII.
Alpha(Element(COMMISSION))+" "+Ascii(128) rendra la valeur alphanumérique « 2 334,00 € ». Ascii(128) correspondant au sigle EURO de la table des valeurs ascii de Windows 98.
e) Date()
Cette fonction permet de récupérer la date du jour sous la forme JJMMAAAA.
Syntaxe :
Date(<expression alphanumérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type date.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Alphanumérique
Date rendra la date du jour en format date longue soit « 15/01/2005 ».
f) DJour()
Cette fonction renvoit la date d'un jour par rapport à son numéro.
Syntaxe :
Djour(<expression numérique>)
Paramètre 1 <expression numérique> :
Il est possible d'inscrire une variable, un résultat de rubrique ou une lecture d'un champ d'un composant.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Alphanumérique
Djour("730120") renvoit la date 01/01/2000.
g) Droite()
Extraction de la partie droite d'une expression alphanumérique.
Syntaxe :
Droite(<expression Alphanumérique>, <expression numérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Paramètre 2 <expression numérique> :
Inscrire la longueur (Nombre de caractères) de la chaîne à extraire en partant de la droite
Nombre de paramètres Minimum : 2
Nombre de paramètres Maximum : 2
Résultat au format :
Numérique
Droite(LibelleAbsence(MALADIE),28) renvoi la chaîne de caractère «du 01/06/1998 au 30/06/1998».
Si la longueur de l'expression alphanumérique est inférieure à la longueur indiquée, le résultat rendu sera la chaîne complète.
h) Extrait()
Extraction d'une partie d'une chaîne alphanumérique.
Syntaxe :
Extrait(<expression numérique>, <expression numérique 1>,<expression numérique 2>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Paramètre 2 <expression numérique 1> :
Représente le numéro du caractère de début à partir duquel on veut extraire la chaîne de caractère.
Paramètre 3 <expression numérique 2> :
Représente le numéro du caractère de fin d'extraction.
Nombre de paramètres Minimum : 3
Nombre de paramètres Maximum : 3
Résultat au format :
Alphanumérique
Extrait(LibelleAbsence(MALADIE),1,7) rendra « Maladie ».
i) Finmois()
Calcule le numéro du dernier jour du mois à partir d'un numéro de jour.
Syntaxe :
FinMois(<expression numérique>)
Paramètre 1 <expression numérique> :
Inscrire une valeur numérique ou une fonction rendant une valeur numérique.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Numérique
Finmois(730120) rendra la valeur 730150, on pourra l'obtenir sous un format date en inscrivant Date(Finmois(730120)).
j) Gauche()
Extraction de la partie gauche d'une expression alphanumérique.
Syntaxe :
Gauche(<expression Alphanumérique>, <expression numérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Paramètre 2 <expression numérique> :
Inscrire la longueur de la chaîne à extraire en partant de la gauche
Nombre de paramètres Minimum : 2
Nombre de paramètres Maximum : 2
Résultat au format :
Alphanumérique
Gauche(LibelleAbsence(MALADIE),21) renvoit la chaîne de caractère «Maladie du 01/06/1998».
Si la longueur de l'expression alphanumérique est inférieure à la longueur indiquée, le résultat rendu sera la chaîne complète.
k) JDate()
Calcule le numéro du jour correspondant à une date de la forme JJMMAA ou JJMMAAAA.
Syntaxe :
JDate(<expression alphanumérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type date.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Numérique
JDate("01/01/2000") rendra la valeur 730 120,00
l) Longueur()
Calcule la longueur d'une chaîne.
Syntaxe :
Longueur(<expression alphanumérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Numérique
Longueur(LibelleAbsence(MALADIE)) rendra un nombre de 36 caractères pour : « Maladie du 01/06/1998 au 30/06/1998 ».
m) Majuscules()
Conversion d'une chaîne de caractères en majuscules.
Syntaxe :
Majuscules(<expression alphanumérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Alphanumérique
Majuscules(LibelleAbsence(MALADIE))rendra « MALADIE DU 11/06/1998 AU 30/06/1998 »
n) Minuscules()
Conversion d'une chaîne de caractères en minuscules.
Syntaxe :
Minuscules(<expression alphanumérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Minuscules(LibelleAbsence(MALADIE)) rendra « maladie du 11/06/1998 au 30/06/1998 »
o) Modulo()
La fonction retourne le modulo, c'est à dire le reste de la division entière de l'expression numérique par le diviseur indiqué.
Syntaxe :
Modulo(<expression numérique>, <diviseur>)
Paramètre 1 <expression numérique> :
Il est possible d'inscrire une variable, un résultat de rubrique ou une lecture d'un champ d'un composant.
Paramètre 2 <diviseur> :
Inscrire le diviseur.
Nombre de paramètres Minimum : 2
Nombre de paramètres Maximum : 2
Résultat au format :
Numérique
Modulo(Element(COMMISSION),100) rendra la valeur 34 pour une commission de 2.334,00.
p) Numerique()
Conversion alphanumérique en numérique.
Syntaxe :
Numerique(<expression alphanumérique>)
Paramètre 1 <expression alphanumérique> :
Inscrire une chaîne de caractères ou une fonction rendant une valeur de type alphanumérique.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Numérique
q) Racine()
Calcule la racine carrée.
Syntaxe :
Racine(<expression numérique>)
Paramètre 1 <expression numérique> :
Il est possible d'inscrire une variable, un résultat de rubrique ou une lecture d'un champ d'un composant.
Nombre de paramètres Minimum : 1
Nombre de paramètres Maximum : 1
Résultat au format :
Numérique
Racine(Element(COMMISSION)) rendra 48,31.
Fonction de type instruction
r) Si…Alors…Sinon…FinSi
Test logique avec une ou plusieurs conditions.
Syntaxe :
Syntaxe n°1 : Principe d'indentation
Si « condition logique n°1 » [ ET/OU « condition logique n°2 »] Alors
« Formule de calcul ou affectation de variable »
Sinon
« Formule de calcul ou affectation de variable »
FinSi
Pour définir une prime déterminée en condition du salaire brut.
Si Brut>=10000 ET Brut<=20000 Alors
Prime=1000
Sinon
Prime=(Brut*10/100)
FinSi
Syntaxe n°2 : l'instruction peut aussi être écrite en ligne
Si « condition logique n°1 » [ ET/OU « condition logique n°2 »] Alors « Séquence d'instruction 1 » ;Sinon « séquence d'instruction 2 » ;FinSi
Si Brut>=10000 ET Brut<=20000 Alors Prime=1000;Sinon Prime=(Brut*10/100);FinSi
Paramètre 1 <condition logique n°1 > :
Inscrire la première condition à vérifier.
Paramètre 2 < condition logique n°2 > :
Inscrire la seconde condition à vérifier. Ce paramètre est facultatif. Il sera possible d'utiliser les opérateurs ET et OU pour cumuler ou diversifier les conditions du test logique.
Paramètre 3 <séquence d'instruction 1> :
Décrire la formule de calcul à exécuter si le test logique est satisfait.
Paramètre 4 <séquence d'instruction 2> :
Décrire la formule de calcul à exécuter si le test logique n'est pas satisfait.
Résultat au format :
Alphanumérique
Les séquences d'instructions peuvent correspondre à des formules de calcul ou à des affectations de variable. L'instruction Sinon est facultative. Si elle n'est pas renseignée et si le test logique n'est pas satisfait, la formule rendra la valeur zéro.
Il est possible d'imbriquer plusieurs instructions « Si Alors Sinon FinSi » .