Accéder au contenu principal Passer au contenu complémentaire

Créer le Job enfant pour passer une valeur au Job parent

Le Job enfant lit des données d'un fichier texte, alimente le nombre total de lignes et les passe au Job parent.

Le fichier d'entrée, nommé in.txt, se présente comme suit :

id;name
			1;Shong
			2;Elise
			3;Sabrina

Ce Job utilise les composants suivants :

  • un tFileInputDelimited pour lire des données d'un fichier texte et un tLogRow pour les afficher dans la console,
  • un tFixedFlowInput pour obtenir le nombre total de lignes lues par le tFileInputDelimited et un tBufferOutput pour mettre la valeur en mémoire tampon.

Procédure

  1. Créez un Job et nommez-le childJob.
  2. Ajoutez un tFileInputDelimited et un tLogRow dans l'espace de modélisation graphique et reliez-les à l'aide d'un lien Row > Main.
  3. Ajoutez un tFixedFlowInput et un tBufferOutput dans l'espace de modélisation graphique et reliez-les à l'aide d'un lien Row > Main.
  4. Reliez le premier sous-Job au second à l'aide d'un lien Trigger > On Subjob Ok.
  5. Cliquez sur le tFileInputDelimited pour ouvrir sa vue Basic settings. Dans le champ File name/Stream, saisissez le chemin d'accès au fichier in.txtet dans le champ Header, définissez 1 ligne d'en-tête.
  6. Cliquez sur le bouton [...] près de Edit schema pour ouvrir la boîte de dialogue du schéma et définissez-le en ajoutant deux colonnes, id de type Integer et name de type String.
  7. Double-cliquez sur le composant tFixedFlowInput pour créer une colonne nommée nb_line, de type Integer.
  8. Dans la zone Mode, sélectionnez Use Single Table et renseignez la cellule Value avec ((Integer)globalMap.get("tFileInputDelimited_1_NB_LINE")).

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !