FLF vers base de données
Cette rubrique explique comment mapper les données d’un fichier texte à longueur fixe (FLF) vers une base de données SQLite. Les fichiers utilisés dans cet rubrique sont disponibles dans le dossier DocExamples. Le fichier texte source et la base de données cible contiennent une liste d’employés. Dans le fichier source, les enregistrements sont délimités par leur taille comme suit :
Position et nom du champ | Taille (en caractères) |
|---|---|
Champ1 (prénom) | 8 |
Champ2 (nom) | 10 |
Champ3 (numéro de poste) | 3 |
Champ4 (e-mail) | 25 |
Champ5 (fonction) | 25 |
L’objectif du mappage est de mapper les données FLF vers le composant de base de données. Nous souhaitons également mapper les numéros de poste en leur attribuant un nouveau préfixe. Pour ce faire, suivez les étapes ci-dessous.
Étape 1 : Insérer un composant texte
La première étape consiste à ajouter et à configurer un composant texte. Suivez les instructions ci-dessous :
1.Sélectionnez l’élément de menu Insérer | Fichier texte ou cliquez sur le bouton
de la barre d’outils (Insérer un fichier texte).
2.Cliquez sur Fichier d’entrée dans le dialogue Paramètres du composant (voir ci-dessous) et sélectionnez Altova-FLF.txt.

3.Sélectionnez Fixé.
4.Désactivez la case à cocher Assumer la présence des caractères de délimitation d’enregistrement.
5.Les lignes jaunes sont modifiables et vous permettent de spécifier i) le nom du champ, ii) le type de données et iii) la taille du champ. Définissez la taille du champ sur 8 (troisième ligne jaune en partant du haut) et appuyez sur Entrée. Davantage de données sont désormais visibles dans la première colonne, qui fait désormais 8 caractères de large.
6.Cliquez sur Ajouter champ pour ajouter un nouveau champ et définissez la longueur du deuxième champ sur 10 caractères.
7.Utilisez la même méthode pour créer trois autres champs des longueurs suivantes : 3, 25 et 25 caractères. Modifiez ensuite les en-têtes de champ, comme indiqué sur la capture d’écran ci-dessous.

8.Dans les paramètres des champs à longueur fixe, sélectionnez Personnaliser et saisissez le caractère dièse (#). Cela indique à MapForce de traiter le caractère # comme un caractère de remplissage.
10.MapForce vous demandera si vous souhaitez modifier le nom du composant afin qu’il corresponde à celui des fichiers d’instance. Cliquez sur Changer le nom de composant. Le composant Altova-FLF apparaît dans la fenêtre de mappage.
Étape 2 : Insérer un composant de base de données
L’étape suivante consiste à ajouter un composant de base de données. Suivez les étape ci-dessous :
1.Allez dans Insérer | Base de données, sélectionnez SQLite, puis cliquez sur Suivant.
2.Sélectionnez la base de données Altova.sqlite et cliquez sur Se connecter.
3.Sélectionnez la table Person (voir ci-dessous), puis cliquez sur OK.

Étape 3 : Concevoir le mappage
L’étape suivante consiste à créer un mappage :
1.Faites glisser la fonction core | concat depuis la fenêtre Bibliothèques vers le mappage.
2.Allez dans Insérer | Constante, sélectionnez Nombre comme type, puis saisissez 100 dans le champ de texte. Cette constante stocke le nouveau préfixe du numéro de poste.
3.Créez des connexions comme indiqué ci-dessous.

4.Dans le composant de base de données, cliquez sur le bouton Action sur la table situé à côté de Person. Cela ouvre le dialogue Actions de table de base de données (voir la capture d’écran ci-dessous).
5.À côté de Action sur enregistrement, sélectionnez Mettre à jour si. Définissez l’action égal pour les champs First et Last. Cliquez sur OK. MapForce sera alors chargé de mettre à jour la table Person uniquement si le prénom et le nom figurant dans le fichier source sont identiques aux champs correspondants de la base de données. Lorsque cette condition est remplie, le numéro de poste sera préfixé par 100 et copié dans le champ PhoneExt de la table Person.

6.Pour générer les instructions SQL (en vue d’un aperçu dans MapForce), cliquez sur le volet Sortie. Pour exécuter les instructions SQL sur la base de données, cliquez sur le bouton Exécuter le script SQL
.