Configurer la taille d'un élément dynamique dans une structure plate - 8.0

Guide de référence des fonctions de Talend Data Mapper

Version
8.0
Language
Français
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Création de Jobs
Last publication date
2023-10-26

Utilisez SetElementProperty pour définir la taille d'un élément en se basant sur la valeur d'un autre élément dans un fichier plat.

Avant de commencer

Vous avez un fichier plat à utiliser comme document d'échantillon. Vous pouvez en créer un à partir des données d'échantillon fournies ci-dessous.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous avez un fichier plat contenant trois éléments nommés a, b et c. L'élément a est un entier définissant la taille de l'élément b. Puisque la taille peut varier, vous ne pouvez configurer de taille fixe dans les propriétés de l'élément b. Cependant, vous devez définir sa taille pour indiquer où se termine l'élément b et où débute l'élément c.

Vous pouvez utiliser les données suivantes pour votre échantillon d'entrée :
03bbbcc

Procédure

  1. Créez votre structure :
    1. Dans l'éditeur Hierarchical Mapper, cliquez-droit sur Structures et sélectionnez New > Structure.
    2. Dans l'assistant qui s'ouvre, sélectionnez Create a new structure where you can manually enter elements et cliquez sur Next (Suivant).
    3. Sélectionnez un dossier et saisissez le nom de la nouvelle structure, puis cliquez sur Next (Suivant).
    4. Sélectionnez la représentation Flat Files et cliquez sur Next.
    5. Cliquez sur Import a file as document et cliquez sur Next.
    6. Parcourez votre système jusqu'au dossier correspondant et sélectionnez votre fichier plat, puis cliquez sur Finish.
  2. Cliquez-droit sur la section à gauche de votre espace de travail et cliquez sur New Element (Nouvel élément) pour créer un élément racine.
  3. Ciquez-droit sur l'élément racine et créez les trois éléments enfants nommés a, b et c.
    Votre structure doit ressembler à ceci :
  4. Cliquez sur l'élément a et saisissez 2 dans les champs Size Min/Max, puis sélectionnez Integer (32) dans la liste déroulante Data Type.
    Cela indique que l'élément a est un entier avec une taille fixe de deux octets. Lorsque vous cliquez sur cet élément dans la structure, 03 est mis en valeur dans l'onglet Document.
  5. Cliquez sur l'élément c et saisissez 2 dans les champs Size Min/Max.
    Ces propriétés définissent une taille fixe pour l'élément c, cependant il n'est pas mis en valeur dans l'onglet Document, car il n'y a aucune information spécifiant où l'élément b se termine et où l'élément c commence.
  6. Cliquez sur l'élément b et glissez-déposez une fonction SetElementProperty dans son onglet Util.
  7. Double-cliquez sur la fonction SetElementProperty et sélectionnez Numbre of bytes dans la liste déroulante Property, puis cliquez sur OK.
  8. Glissez-déposez l'élément a sur l'argument Value.
    Cela indique que la taille de l'élément b est égale à la valeur de l'élément a.

Résultats

Votre structure est à présent configurée, lorsque vous cliquez sur l'élément b, la valeur bbb est mise en valeur dans l'onglet Document et cc est mise en valeur lorsque vous cliquez sur l'élément c.