Si vous avez besoin de gérer des valeurs « null » et de leur attribuer la valeur 0 à la place par exemple, voici le code à taper dans votre tmap :
(var == null)?0:var
Dans mon cas j’avais une variable qui provenait de mon fichier Excel que je transforme en Float donc voici le code où je teste en premier lieu si ma cellule est à null:
(row3.gestionI355==null)?new Float(0):(Float.parseFloat(row3.gestionI355.replaceAll(« , », ». »)))
Je pense mettre à chaque fois que je le pourrais, le code qu’on peut utiliser ici dans le tmap ou dans d’autres composants.
10 octobre 2008 à 12 h 11 min
On peut aussi faire sa propre routine et l’appeler comme ça :
MaClasse.maRoutine(row1.monChamp);
Ca donne une extrême liberté pour les traitements et surtout une infinité de possibilités.
10 octobre 2008 à 12 h 47 min
Merci pour l’astuce…
14 octobre 2008 à 10 h 35 min
@Edouard par expérience l’utilisation d’une routines ralentie le process. Si possible, pour des transformations simples il vaut mieux utiliser des fonctions java.
15 octobre 2008 à 9 h 55 min
@lolive: c’est très juste ! C’est cependant parfois nécessaire pour des traitements plus complexes.
On peut aussi privilégier les tJavaRow et tJavaFlex pour les traitements plus lourds.
11 novembre 2008 à 11 h 28 min
Moi j’ai plutôt un problème sur l’utilisation du tMap et la creation de ses fonctions Java:
Je souhaite extraire des données de l’AS400 vers MSSQLServer .Quand j’utilise une requête avec une clause where mon Job est plus lent que lors d’une utilisation d’un simple « select * » c’est rapide . J’aimerais extraire mes données et chargées uniquement celles qui sont identique à une valeur bien précise.
merçi!!!
12 novembre 2008 à 10 h 29 min
Salut Billy,
Dans ces cas la il faut que tu test ton champ :
row1.tonchamp.equals(”ta valeur”) si c’est un String sinon si tu compare à un int tu mettras
row1.tonchamp == tonInt et cette condition doit être indiquée dans le tmap au niveau de ta sortie, il y a une zone ou tu peux mettre tes différentes conditions…
13 septembre 2010 à 11 h 22 min
Génialissime ! Merci