|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() |
Bonjour à tous,
la suite de mes aventures à la découverte de Talend Aujourd'hui, un problème nettement plus simple que les autres ! Quelle est la meilleure méthode pour récupérer la liste des fichiers d'un dossier pour, par exemple, l'envoyer par email dans le corps du message ? tFileList -- ??? --> tSendMail ? Merci à vous |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Apès le tFileList tu pourrais faire un lien "iterate" vers un "tJava", dans ce dernier tu crées une liste et à chaque itérration tu inséres le nom (par exemple) du fichier en cours de traitement par le tFileList dans ta liste créée.
Après tu fais un lien "OnsubJobOk" vers ton sendMail, et dans le corps de ton mail tu inséres ta liste (peut être tu auras à faire un routine pour concaténer les données de ta liste et les mettre tous dans une seul chaine de caractère)
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
tiens, je pensais avoir répondu hier !
donc merci pour ce conseil, ma question était : si je fais une variable dans un tJava, elle est visible depuis un autre composant ? sinon, pour le moment, je suis parti sur : tFileList -- iterate --> tIterateToFlow -- main --> tDenormalize -- main --> tFlowToIterate -- iterate --> tSendMail Explications (je crois) : je récupère mes noms de fichiers dans mon tFileList, je "transforme" l'itération en une table des noms de fichiers. Je dénormalise la table avec le séparateur "\n". J'ai donc une seule "ligne" avec du texte, que je repasse dans un tFlowToIterate pour pouvoir récupérer la variable (((String)globalMap.get("row5.fileName"))) dans mon email... A noter qu'en fait, j'ai également un tReplicate juste après le tIterateToFlow car je fais des opérations sur les fichiers en passant... |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Si tu veux créer une variable dans ton tJava et qu'elle soit visible partout tu as deux options :
1/ Une varibale de contexte, à laquelle tu accèdes par context.nomDeTaVaribale. 2/ Variable global que tu stockes dans la globalMap ( globalMap.put pour stocker, et globalMap.get pour récupérer) bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : juin 2009 Messages : 782 ![]() |
Alek-C : ta solution me parait plus compliqué que celle de haskouse. Je ferais une variable de contexte, de type string, à laquelle tu ajoutes le fichier en cours à chaque exécution du tJava. Tu pourras alors utiliser cette variable dans ton composant d'envoi de mail.
__________________
Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() |
Effectivement, c'est certainement plus compliqué, mais n'ayant pas d'autres idées, je suis parti là dessus ^^
Je vais voir avec l'explication des variables de contexte et globales pour voir ! Merci à vous deux |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com