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.

PRINCIPES_GENERAUX   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.

PRINCIPES_GENERAUX   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.

EXEMPLES [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.

EXEMPLES [ !X-Z] autorise tout sauf X, Y et Z.

A_NOTER                Les paramètres précédents suivi de nombres entre parenthèses équivaut à nombre fois le caractère.

EXEMPLES 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 :

PRINCIPES_GENERAUX   "+" 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

EXEMPLES 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.

EXEMPLES 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

EXEMPLES 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

EXEMPLES 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

EXEMPLES Droite(LibelleAbsence(MALADIE),28) renvoi la chaîne de caractère  «du 01/06/1998 au 30/06/1998».

A_NOTER                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

EXEMPLES 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

EXEMPLES 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

EXEMPLES Gauche(LibelleAbsence(MALADIE),21) renvoit la chaîne de caractère  «Maladie du 01/06/1998».

A_NOTER                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

EXEMPLES 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

EXEMPLES 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

EXEMPLES 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 :

EXEMPLES 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

EXEMPLES 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

EXEMPLES Racine(Element(COMMISSION)) rendra 48,31.

 

Fonction de type instruction

r)   Si…Alors…Sinon…FinSi

Test logique avec une ou plusieurs conditions.

Syntaxe :

PRINCIPES_GENERAUX   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

EXEMPLESPour 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

PRINCIPES_GENERAUX   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

EXEMPLES 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

A_NOTER                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.

ATTENTION   Il est possible d'imbriquer plusieurs instructions « Si Alors Sinon FinSi » .