OPALE - 10.0 - Utilisation

Fonctions

De MappingDoc
Révision datée du 6 mai 2019 à 12:50 par Izarai (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Les fonctions :

Le principe d’une fonction est de définir un ensemble d’actions CONNECT et de l'appeler dans le corps des actions d’une table. Ceci évite la duplication d’actions ou de calculs. Une fonction contient des paramètres mais aussi des variables locales.

A noter que les paramètres sont passés par référence c'est-à-dire que les valeurs des paramètres peuvent être modifiées à l’intérieur des fonctions. Il n’est actuellement pas possible d’appeler une fonction dans une fonction.


Packages de fonctions :

Le but des groupes de fonctions ou packages est de permettre d'utiliser des fonctions identiques dans plusieurs projets sans avoir besoin de les redéfinir dans chacun d’entre eux.

Un package contient donc un ensemble de fonctions non modifiables. L’utilisateur peut uniquement voir le contenu des actions ainsi que les paramètres des fonctions.

Fct2.PNG













A noter que les fonctions des packages sont mises à jour au chargement du projet. Si le package est modifié en cours de modification d’un

projet, la génération du projet ne prendra pas en compte les modifications effectuées. Le rechargement du package doit être effectué par l’utilisateur (via l'option « Mise à jour du package » sur le clic droit).

Pour insérer un package, cliquer avec le bouton droit sur la table DB dans la vue des Tables et choisir Insérer un package de fonctions.

Chercher le fichier .SRC qui contient le package puis cliquer sur Ouvrir.

Fct1.PNG











Création de tables dans les fonctions :

Dans CONNECT, il est possible de créer des tables dans les fonctions. Ces tables sont locales, elles ne peuvent être utilisées que dans la fonction.

La déclaration de la table se trouve au même niveau que les paramètres et les variables locales. La déclaration des champs et l’accès aux champs s’effectue de la même manière qu’une table globale.

Il est également possible de créer une liste de blocs d’écriture et des les appeler dans le code source.