Scénario : Transformer un fichier positionnel en fichier XML - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Le scénario suivant construit un Job avec deux composants, qui a pour objectif de lire les données d'un fichier positionnel en entrée et de rendre des données sélectionnées en sortie (selon leur position) dans un fichier XML.

Contract       CustomerRef    InsuranceNr
00001          8200           50330      
00001          8201           50331      
00002          8202           50332      
00002          8203           50333      

Déposer et relier les composants

  1. Cliquez et déposez un composant tFileInputPositional de la Palette dans l'espace de modélisation.

  2. Cliquez-déposez un composant tFileOutputXML. Ce fichier recevra les références de manière structurée.

  3. Cliquez-droit sur le composant tFileInputPositional et sélectionnez une connexion Row > Main. Glissez cette connexion vers le composant tFileOutputXML et relâchez la souris lorsque le symbole de prise de courant apparaît.

Configurer les données d'entrée

  1. Sélectionnez le composant tFileInputPositional pour afficher sa vue Basic settings et définir ses propriétés.

  2. Les propriétés de ce Job sont de type Built-in pour ce scénario.

    Par conséquent, les informations de propriétés sont renseignées pour ce Job seulement et ne peuvent être réutilisées pour un autre Job, contrairement à des propriétés de type Repository.

  3. Renseignez le chemin d'accès au fichier dans le champ File Name. Ce champ est obligatoire.

  4. Puis définissez le séparateur de lignes (Row separator) permettant d'identifier la fin de la ligne : le retour chariot par défaut.

  5. Si nécessaire, cochez la case Use byte length as the cardinality pour permettre la prise en charge des caractères à deux octets.

  6. Puis dans le champ Pattern définissant les champs d'une ligne. Le pattern est une série de longueurs correspondant aux valeurs de champs du fichier en entrée. Les valeurs doivent être saisies entre guillemets simples et séparées par une virgule. Veillez à ce que les valeurs saisies correspondent à la longueur des champs définis dans le schéma.

  7. Renseignez les champs d'en-tête (Header), de pied de page (Footer) et de limite (Limit) selon la structure de votre fichier d'entrée et selon vos besoins. Dans ce scénario, ignorez la première ligne lors de la lecture du fichier d'entrée en saisissant 1 dans le champ Header et laissez les autres champs tels qu'ils sont.

  8. Dans la liste Schema, sélectionnez Repository si le schéma d'entrée est stocké dans le Repository. Dans ce scénario, sélectionnez Built-In pour définir les données à transmettre au composant tFileOutputXML.

  9. Vous pouvez sélectionner et/ou modifier le schéma via la fonction Edit Schema. Pour ce schéma, définissez trois colonnes, respectivement Contracts, CustomerRef et InsuranceNr correspondant aux trois valeurs de longueurs définies. Cliquez sur OK pour fermer la boîte de dialogue [Schema] et propager les modifications.

Configurer les données de sortie

  1. Double-cliquez sur le composant tFileOutputXML afin d'afficher sa vue Basic settings et configurer ses propriétés de base.

  2. Saisissez le chemin d'accès au fichier XML de sortie.

  3. Définissez la balise de la ligne (Row tag) qui définit chaque ligne. Dans ce cas, la balise est ContractRef.

  4. Cliquez sur le bouton [+] à côté du champ Edit Schema pour voir la structure de données, puis cliquez sur Sync columns pour récupérer la structure des données du composant d'entrée.

  5. Cliquez sur l'onglet Advanced settings afin de configurer les paramètres avancées de la sortie XML.

  6. Cliquez sur le bouton [+] pour ajouter une ligne dans la table Root tags et saisissez un nom de balise (ou plusieurs) pour encadrer la structure XML de sortie, ContractsList dans ce scénario.

  7. Configurez les paramètres dans la table Output format si nécessaire. Par exemple, cochez la case As attribute d'une colonne si vous souhaitez utiliser son nom et sa valeur comme attribut pour l'élément XML parent. Décochez la case Use schema colum name pour que la colonne réutilise le libellé de la colonne d'entrée comme libellé de la balise. Dans ce scénario, laissez les paramètres par défaut.

  8. Pour regrouper les lignes de sortie selon le numéro de contrat, cochez la case Use dynamic grouping, ajoutez une ligne dans la table Group by, sélectionnez Contract dans la liste Column et saisissez un attribut pour cette colonne dans le champ Attribute label.

  9. Laissez les autres paramètres tels qu'ils sont.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Job et vous assurer que tous les paramètres sont bien pris en compte.

  2. Appuyez sur F6 ou cliquez sur l'onglet Run puis sur le bouton Run pour exécuter le Job.

    Le fichier est lu ligne par ligne selon les longueurs définies précédemment dans le champ Pattern et écrit en tant que fichier XML, comme défini dans les paramètres de sortie. Vous pouvez l'ouvrir dans n'importe quel éditeur XML standard.