Conversion à l'euro et au multidevise
Principes généraux de la gestion de l'Euro
Note : Ce chapitre est destiné anciennes applications ; pour les développeurs désirant convertir leur application gérant des données montaires dans des champs numériques afin d'utiliser le type de données et le composant Monnaie.
Un nouveau type de champ
Un nouveau type de champ Monétaire a été créé pour permettre des automatismes ergonomiques et de conversion, pour traiter l'euro et le multidevise.
Ce type est Monnaie.
L'utilisation de ce nouveau type, aussi bien pour un champ de table, une variable du programme ou un paramètre, donne accès à tous les automatismes, incluant la bascule de visualisation, un ensemble d'instructions spécialisées, le nombre de décimales qui s'adapte automatiquement, etc.
Le descripteur de table propose désormais un nouvel onglet de propriétés pour les champs de type MONNAIE.
Enfin, un assistant permet d'adapter les tables pour transformer les champs de type DOUBLE concernés en type MONNAIE.
Des évolutions du L4G
De nouvelles instructions, fonctions et variables système permettent au développeur de définir de nouvelles fonctionnalités propres à la gestion du multidevise et de l'euro.
Voir les chapitre : Instructions et Evénements.
Aucun appel à la parité des monnaies par rapport à l'euro n'est fait dans les programmes. C'est le système qui prend en charge les calculs à partir d'une parité saisie et fixée une bonne fois pour toutes. Pour cela, il fait appel aux services du composant Monnaie.
Les principales étapes de la conversion à l'euro et au multidevise
Pour adapter à l'euro un logiciel existant, les différentes étapes sont :
Convertir les données avec le Descripteur de Données au format Monnaie. L'assistant prévu à cet effet dans le descripteur de tables pourra vous être utile.
Modifier les propriétés des écrans et/ou des zones de saisie pour avoir une visualisation bimonétaire (avec la bascule automatique). L'éditeur d'écran propose dans ce but de nouvelles propriétés pour l'écran ou pour les zones.
Modifier les types des variables de type numérique (Double) en monétaire (Monnaie)
Développer des fonctions spécifiques à l'utilisation du multidevise et de l'euro (et en particulier la gestion des arrondis)
La conversion des données et un nouveau type de champ
Principe
Un nouveau type de champ a été créé : le type Monétaire. Ce dernier permet de bénéficier des automatismes de bascule et d'ergonomie des logiciels.
L'adaptation du logiciel consiste en premier lieu à convertir les données concernées de type double en données de type monétaire.
Un assistant pour faciliter la conversion :
Afin de faciliter la conversion des données vers l'euro, il existe une fonction « adapter à l'euro », directement accessible à partir du tableau de bord du Descripteur de Données.
On sélectionne simplement dans cet assistant les champs de type DOUBLE concernées par la conversion, on valide et les champs sélectionnés sont automatiquement convertis au format MONNAIE pour toute la base..
Remarque : si on utilise des variables DOUBLE dans les sources - qui sont en fait des zones utilisées pour une gestion monétaire - il faudra changer leur type (avec la fonction replace de l'éditeur de source par exemple).
L'adaptation des écrans
Les écrans doivent être paramétrés pour indiquer s'ils sont ou non concernés par la bascule monétaire, et pour, éventuellement, paramétrer les zones monétaires individuellement.
Il suffit de cliquer sur « propriétés de l'écran » et cocher la case « avec bascule monétaire » pour que le drapeau apparaisse dans la barre de titre et qu'il soit géré en cours de fonctionnement.
Il n'y a rien à faire par défaut sur les champs qui sont devenus de type monétaire. Ils bénéficient automatiquement des améliorations ergonomiques et de bascule (principe du typage dynamique).
Paramétrage poussé des champs monétaires : par défaut lorsque le focus est positionné sur une zone monétaire, un drapeau apparaît ainsi qu'une infobulle. Pour modifier ces options, il suffit d'aller dans les propriétés de la zone et de choisir l'option désirée.
Par défaut (les deux cases déchochées), le drapeau s'affiche lorsque la zone est active et disparaît lorsque l'on change de zone.
Convertir un dossier
Remarque : La monnaie de stockage étant globale, il n'est pas possible de convertir un dossier (ou Société) unique : tous les dossiers seront migrés. Dans les explications ci-dessous, EUR signifie "Euro" et peut être remplacée par le code d'une autre monnaie, connue par Oxygène.
Sur un Oxygène monoposte la conversion se lance simplement en précisant, ou modifiant, le paramètre Monnaie=EUR du fichier oxyconfig.ini.
Cela peut être fait depuis l'installateur, dans l'étape qui demande la monnaie de travail. Il se contente de renseigner le paramètre Monnaie= et le lancement d'Oxygène s'occupe de la conversion.
Sur un Oxygène multiposte, le paramètre Monnaie= du oxyconfig.ini est également nécessaire mais pas suffisant. Il faudra ajouter dans la ligne de commande /PERSO_MONNAIE=EUR.
Ce paramètre change la monnaie de stockage en lançant la moulinette de conversion d’après le cours déjà défini (définir le cours avant de le lancer). Change également la monnaie de travail et monnaie complémentaire. Accessoirement, si on choisit une monnaie hors zone euro, les monnaies in (et out) sont interverties et les cours sont inversés.
Le traitement de conversion peut prendre beaucoup de temps ; suivant le nombre de tables possédant des champs de type Monnaie. Au maximum, autant de temps que la restructuration de toutes les bases sur tous les dossiers.