# tJavaFlex

Ce composant fournit un éditeur de code Java qui permet de saisir du code personnalisé afin de l'intégrer dans le programme Talend.

Le tJavaFlex permet d'ajouter du code dans ses sections de code Start/Main/End. Avec le tJavaFlex, vous pouvez saisir les trois différentes parties du code Java (start, main et end) constituant un composant qui permet d'exécuter une opération souhaitée.

## Propriétés du tJavaFlex Standard

Ces propriétés sont utilisées pour configurer le tJavaFlex s'exécutant dans le framework de Jobs Standard.

Le composant tJavaFlex Standard appartient à la famille Code Utilisateur·trice.

Le composant de ce framework est disponible dans tous les produits Talend.

## Basic settings

| Propriétés | Description |
| --- | --- |
| Schema et Edit Schema | <ul> <li> <p>Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé <kbd>line</kbd> lors du nommage des champs.</p> <p>Cliquez sur <span>Sync columns</span> pour récupérer le schéma du composant précédent.</p> <p>Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues de fichiers sources ou de copier des lots de colonnes d'une source sans avoir à mapper chaque colonne individuellement. Pour plus d'informations concernant les schémas dynamiques, consultez <a href="https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/dynamic-schema" target="_blank">Schéma dynamique</a>.</p> <p>Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables.</p> </li> <li> <p> <span>Built-in</span>&nbsp;: le schéma est créé et conservé localement pour ce composant seulement.</p> </li> <li> <p> <span>Repository</span>&nbsp;: le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.</p> <p>Lorsque le schéma à réutiliser contient des valeurs par défaut de type Integer ou Function, assurez-vous que ces valeurs par défaut ne sont pas entourées de guillemets. Si elles le sont, supprimez manuellement les guillemets.</p> <p>Pour plus d'informations, consultez <a href="https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/retrieving-table-schemas?tocId=8vZ4mPc782va1SDtoaDbPQ" target="_blank">Récupérer les schémas de table</a>.</p> </li> <li> <p>Créez le schéma en cliquant sur le bouton <span>Edit Schema</span>. Si le schéma est en mode <span>Repository</span>, trois options sont disponibles&nbsp;:</p> <ul> <li> <p> <span>View schema</span>&nbsp;: sélectionnez cette option afin de voir uniquement le schéma.</p> </li> <li> <p> <span>Change to built-in property</span>&nbsp;: sélectionnez cette option pour passer le schéma en mode <span>Built-In</span> et effectuer des modifications locales.</p> </li> <li> <p> <span>Update repository connection</span>&nbsp;: sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.</p> <p>Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur <span>No</span> et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre <span>Repository Content</span>.</p> </li> </ul> </li> </ul> |
| Data Auto Propagate | Cochez cette case pour propager automatiquement les données au composant suivant. |
| Start code | Saisissez le code Java qui va être appelé lors de la phase d'initialisation. |
| Main code | Saisissez le code Java qui va être appliqué pour chaque ligne du flux. |
| End code | Saisissez le code Java qui va être appelé lors de la phase de fermeture. |

## Advanced settings

| Propriétés | Description |
| --- | --- |
| Import | Saisissez le code Java qui vous aide à importer, si nécessaire, les bibliothèques externes utilisées dans le champ Main code de l'onglet Basic settings. |
| tStatCatcher Statistics | Cochez cette case pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant. |

## Variables globales

| Variables | Description |
| --- | --- |
| Variables globales | ERROR\_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.<br><br>Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.<br><br>Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.<br><br>Pour plus d'informations concernant les variables, consultez [Utiliser les contextes et les variables](https://help.qlik.com/talend/r/fr-FR/8.0/studio-user-guide/contexts-and-variables). |

## Utilisation

| Conseils d'utilisation | Description |
| --- | --- |
| **Règle d'utilisation** | Ce composant peut être utilisé en tant que composant de début, de milieu et de fin de Job, Il peut également être utilisé en tant que sous-Job à un seul composant. |
| Limitation | Il est nécessaire de connaître le langage Java. |

**Concepts associés**

* [Générer un flux de données](https://help.qlik.com/talend/fr-FR/components/8.0/java-custom-code/tjavaflex-tlogrow-generating-data-flow-standard-component-this)
* [Traiter des lignes de données avec le tJavaFlex](https://help.qlik.com/talend/fr-FR/components/8.0/java-custom-code/tjavaflex-trowgenerator-processing-rows-of-data-with-tjavaflex-standard-component-this)
* [Utiliser le tJavaFlex pour afficher le contenu d'un fichier à partir d'un schéma dynamique](https://help.qlik.com/talend/fr-FR/components/8.0/java-custom-code/tjavaflex-tfileinputdelimited-tfileoutputdelimited-tfileoutputdelimited-using-tjavaflex-to-display-file-content-based-on-dynamic-schema-standard-component-enterprise-this)