Exemple : Parser une chaîne (texte de longueur fixe vers Excel)
Cet exemple vous guide à travers les étapes nécessaires à la création d’un schéma de mappage permettant de parser des données sous forme de chaînes de caractères. L’exemple est accompagné d’un fichier d’exemple. Si vous souhaitez consulter le fichier d'exemple avant de commencer cet exemple, vous pouvez l'ouvrir à partir du chemin d'accès suivant : <Documents>\Altova\MapForce2027\MapForceExamples\DocExamples\ParseString.mfd.
Imaginons un scénario dans lequel vous disposez de données textuelles héritées, stockées dans un seul champ de base de données. Ces données textuelles constituent une liste d'employés, stockée dans la colonne RESOURCE et formatée sous forme de champs à longueur fixe, comme suit :

Comme les données textuelles sont stockées dans un seul champ de base de données, vous ne pouvez pas accéder facilement à chaque enregistrement d’employé ni le manipuler individuellement. Il est donc difficile d’ajouter ou de supprimer de nouveaux employés, ou encore de trier les données. Dans le cadre de cet exemple, votre objectif est d’extraire les données textuelles du champ RESOURCE de la base de données et de les découper en une structure afin de pouvoir traiter facilement les enregistrements.
Cette tâche peut être réalisée à l’aide d’un composant "Parse/Serialize String" Tout d’abord, le composant "Parse/Serialize String" prendra les données textuelles en entrée. Il les analysera ensuite et les convertira en une structure. Enfin, il écrira cette structure dans un format cible. Dans cet exemple, le format cible est une feuille de calcul Excel ; toutefois, en général, il peut s’agir de n’importe quel autre format de sortie pris en charge par MapForce.
En résumé, le mappage décrit dans cet exemple convertira le contenu du champ de la base de données RESOURCE en un tableau. Une fois le mappage exécuté, chaque ligne du tableau correspondra à un employé et chaque colonne correspondra à l’un des champs de longueur fixe, dans l’ordre suivant : ID, Last Name, First Name, Extension, Job Title, Email.

Résultat attendu après analyse de la chaîne
Pour atteindre cet objectif, suivez les étapes ci-dessous :
1.Ajoutez la base de données source à la zone de mappage. La base de données est disponible sous la forme d’un fichier SQLite autonome à l’emplacement suivant : <Documents>\Altova\MapForce2027\MapForceExamples\DocExamples\dbresources.db. (Pour ajouter le composant de base de données, utilisez la commande de menu Insérer | Base de données ; voir également Se connecter à une base de données).
2.Lorsque vous êtes invité à insérer les objets de la base de données, sélectionnez la table resources.

3.Ajoutez à la zone de mappage un composant Texte (utilisez la commande de menu Insérer | Fichier texte). Les données source étant du texte délimité par des champs, choisissez Utiliser un traitement simple… lorsque MapForce vous y invite.
4.Configurez la structure du composant Texte afin qu’elle corresponde à la structure des données texte source stockées dans la base de données. Comme vous l’avez peut-être déjà remarqué, dans cet exemple, le texte source se compose de six champs de longueur fixe, comme suit :
Taille en caractères | Champ |
|---|---|
6 | ID |
15 | Surname |
15 | First Name |
3 | Extension |
25 | Job Title |
25 |
Pour ce faire, définissez le composant Texte comme Fixe et ajoutez-y six champs correspondant aux positions indiquées ci-dessus. (Pour ouvrir le dialogue Paramètres de composant, cliquez avec le bouton droit sur le composant, puis sélectionnez Propriétés dans le menu contextuel.)

Notez que le champ Field4 utilise le type de données integer. Bien que la déclaration du champ Field4 comme type numérique soit facultative dans le cadre de cet exemple, cela garantit que l’extension téléphonique (Field4) extraite du texte source est validée en tant que valeur numérique.
5.Cliquez sur le bouton
, puis sélectionnez Parser chaînes vers FLF dans le menu contextuel. Cela indique à MapForce que ce composant va analyser une chaîne de caractères au format de champ à longueur fixe (FLF).

6.Ajoutez à la zone de mappage le composant cible Excel 2007+. Lorsque vous êtes invité à sélectionner un fichier d’exemple, cliquez sur Ignorer. (Vous pouvez ajouter le composant Excel à l’aide de la commande de menu Insérer | Excel 2007+, voir également Ajouter des fichiers Excel 2007+ en tant que composants de mappage.)
7.Cliquez sur le bouton
situé à côté du nœud Lignes 1, n=dyn, puis configurez le composant Excel pour qu’il écrive une ligne pour chaque champ de texte, en commençant par la première ligne, comme illustré ci-dessous. (Pour plus d’informations sur les types de composants Excel 2007+ et leur configuration, voir À propos du composant Excel 2007+).

8.Tracez les connexions entre les éléments des composants, comme illustré ci-dessous.

Sur le côté gauche du mappage, le contenu de la colonne de la base de données de ressources est converti (analysé) d'une valeur de chaîne en une structure MapForce. Sur le côté droit du mappage, les éléments du composant Parse (fichier texte) sont connectés à des colonnes Excel individuelles, ce qui divise la chaîne source en cellules individuelles triables.
Vous avez maintenant terminé la création d'un fichier de conception MapForce qui analyse des données de chaîne et crée une structure à partir de celles-ci. Si vous cliquez sur le volet Sortie, les données textuelles d’origine sont désormais converties en lignes et colonnes distinctes de la feuille de calcul Excel, ce qui était l’objectif visé par ce mappage.