Importation d’un fichier CSV et création des actions associées

De MappingDoc

Présentation / Objectifs

MapReport permet d’importer un fichier CSV en fonction de plusieurs paramètres. Ce module vous propose de créer automatiquement la liste des tables, la liste des actions nécessaires à la lecture du fichier mais aussi la création des blocs Write pour la création du spool de sortie.

Veuillez noter que cette procédure n’est possible qu’à partir de la version 2.0.3.2 de MapReport.

Procédure

Lorsque vous ajoutez une action READ_FILE, vous avez le choix entre soit ne créer que l’action en elle-même en ne spécifiant que le nom du fichier, le séparateur d’enregistrements et le séparateur …, ou soit créer l’action avec la liste des actions associées.

LES OPTIONS CSV

La première étape consiste à choisir un fichier de type CSV. Rappelons qu’un fichier CSV est un fichier contenant des groupes d’informations appelés enregistrements et séparés par un séparateur (caractère(s), retour à la ligne, …). Chaque enregistrement possède un ou plusieurs éléments séparés par un autre séparateur.

Une fois le fichier choisi, une boite de dialogue s’ouvre vous demandant de choisir les options de ce fichier, à savoir : - le séparateur d’enregistrements

  • un caractère – les caractères hexadécimaux sont acceptés (sous la forme « 0x09 »)
  • un nombre de caractères
  • ou alors la fin de ligne
  • le séparateur de champs – les caractères hexadécimaux sont également acceptés
  • le nombre de lignes à ignorer au début du fichier
  • ce module vous permet également de choisir deux colonnes de regroupement. Ils

correspondent aux noms de tables qui seront créées ultérieurement dans MapReport.

- les cases à cocher « Insertion dans la base de données » et « Création des blocs d’écriture » correspondent respectivement à l’insertion de l’action INSERT_DB pour chaque table et la .création des blocs Write

Voici ci-dessous un exemple de fichier CSV qui correspond aux critères sélectionnés précédemment.

A noter que le nombre d’éléments pour chaque type d’enregistrement doit être le même au risque de provoquer une erreur. Le programme se base sur le premier type trouvé dans le fichier. Si un enregistrement possède plus d’éléments, ils ne seront pas pris en compte.

invoice;230;4937;2/1/2000;Facture n° 230 pour le client N° 4937;
customer;PROST;CORINNE;;14 AVENUE ARSENE D ARSONVALBP 7100;1007;BOURG EN BRESSE CEDEX;dupont.bedu@wanadoo.fr;
product;3544;1;12S0300;99,00;
product;978;5;Lascala LC10S-M+;249,00;
detail;1 baie 5¼
detail;Pour cartes meres ATX et Micro ATX;
detail;Facade aluminium et chassis acier;
invoice;231;6584;13/7/2007;Facture n° 2312313213223131321 pour le client N° 6584;
customer;ALLAIS;BERNARD;;20 RUE DE LA TREMOILLE;75008;PARIS;;
product;1935;1;Adaptateur secteur pour disques Mobile;78945622,00;
detail;Compatible avec :;
detail;LaCie Data Bank (Design by F.A. Porsche); 

LA FENETRE RECAPITULATIVE

Une fois la validation effectuée, le programme parcourt entièrement le fichier pour trouver chaque type d’enregistrement ainsi que la taille maximale de chaque élément. Puis, la fenêtre récapitulative apparaît.

Cette fenêtre est le récapitulatif du fichier CSV où on peut voir chaque type d’enregistrement créés. Pour chacun d’entre eux, on trouve la liste des champs avec un nom générique (field1, field2,…), un exemple d’une valeur trouvée dans le fichier, la longueur maximale des champs, le type de données (CHAR par défaut) et une description. Ces champs sont modifiables (sauf la valeur) et seront utilisés dans la création des tables de MapReport.

Le bouton Options permet de revenir à la fenêtre précédente en cas d’erreur dans les paramètres.

Le bouton Enregistrer permet de sauvegarder le résultat sous forme de fichier XML. Ce fichier regroupe toutes les informations sur les enregistrements et les champs. Ce type peut être ensuite importé dans MapReport via le menu « Importer » - « Description XML Mapping ».

LA CREATION DES BLOCS D’ECRITURE

Si vous avez coché la case « Création des blocs d’écriture » dans les options, une nouvelle fenêtre apparait suite à la validation. Cette fenêtre permet de choisir la position des champs dans les blocs Write. Cette option ne permet pas de choisir la position de chacun des éléments mais permet d’avoir un aperçu global du spool de sortie.

Trois modes d’insertion sont proposés :

- En colonne où les champs apparaitront les uns en dessous des autres

Cette vue vous propose également de choisir la position des champs par rapport à l’axe vertical mais aussi d’ajouter les descriptions, le nom de la table ainsi que les noms des champs.

- En ligne où les champs apparaitront les uns à coté des autres

Il y a possibilité d’ajouter un séparateur entre chaque champ où d’aligner les champs sur les colonnes des dizaines en fonction de leur longueur. Cette vue propose également d’ajouter un second bloc Write contenant la description ou le nom des champs (ceci dans le but de créer un en-tête).

- Enfin, sous forme de fichier XML où les champs apparaitront sous forme d’attribut d’un nœud XML dont le nom peut être choisi.

LE RESULTAT

Une fois validé, on retrouve la fenêtre principale de MapReport contenant le même arbre que celui trouvé dans la fenêtre récapitulative. Chaque nœud contient donc une action « Write » si les blocs Write on été créés.

Enfin le nœud « DB » contient la liste des actions à savoir le « READ_FILE », les « MAP_DB », les conditions « IF », ainsi que les « EXECUTE »