Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2011, 11h33   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut Récuperer le numero de ligne courante a partir d'un tFlowToIterate

Bonjour

J'ai un job qui se compose de
tFileList --> tFileInputDelimited ---> tFlowtoIterate --> appel d'un sous JOB.

je voudrais passer au sous de job, le numero de ligne qui est en cours de traitement,

J'ai mis ça : ((Integer)globalMap.get("tFlowToIterate_1_NB_LINE")))
dans les parametres a passer au sous Job.
mais ça transmet la valeur "null".

J'ai affiché dans le job pere cette variable
System.out.println("le nnumero de ligne dans le job pere : "+((Integer)globalMap.get("tFlowToIterate_1_NB_LINE")));

Mais ça m'affiche toujours null

Avez vous SVP une idée comment je peux recupérer le numero de la ligne courante à partir de job decrit ci-dessus ??

Merci d'avance

delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 13h08   #2
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
Est ce que tu as essayé de récupérer plutôt le nombre de ligne traitées par le tFileList :

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
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 14h19   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut Re

En fait je cherche le numero de ligne traité et pas le numéro de fichier traité :s.
J'ai regardé sur la doc, ils disent que "tFlowToIterate_1_NB_LINE" est une variable After. Je ne vois pas de difference entre une variable globale et une variable After....

Merci pour votre Aide
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 14h47   #4
Membre du Club
 
Avatar de jnbarthas
 
Homme
Ingénieur développement logiciels
Inscription : août 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 49
Points : 64
Points : 64
ça veut dire que vous pouvez connaitre le nombre de LIGNES traités APRES l'exécution du composant.
Pour un numéro de ligne, vous pouvez utiliser l'index d'une liste ou la valeur d'une variable incrémentée, à passer ensuite en paramètre du job suivant.
jnbarthas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 16h06   #5
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
Comme dit le post au dessous il vaut mieux utiliser un compteur interne dans ton job que tu géreras avec du code JAVA (tJava) et que tu stockeras dans une variable globale (GlobalMap).

Tu pourrais t'inspirer du bout de code suivant :

Code :
1
2
3
4
IF((Integer) globalMap.get("toto") == NULL) globalMap.put("toto",0);
Integer temp = (Integer) globalMap.get("toto");
globalMap.put("toto",temp + 1 );
System.out.println((Integer) globalMap.get("toto"));
__________________
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
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 17h35   #6
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut Re

Merci beaucoup
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 23h18   #7
Membre habitué
 
Homme Rémy DUBOIS
Ingénieur développement logiciels
Inscription : août 2008
Messages : 88
Détails du profil
Informations personnelles :
Nom : Homme Rémy DUBOIS
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2008
Messages : 88
Points : 126
Points : 126
Citation:
ça veut dire que vous pouvez connaitre le nombre de LIGNES traités APRES l'exécution du composant.
Effectivement, la variable <%=cid%>_NB_LINE est de type AFTER, donc disponible une fois que le sous job est terminé...
rdubois est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h49.


 
 
 
 
Partenaires

Hébergement Web