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 28/09/2011, 17h34   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 23
Points : 10
Points : 10
Par défaut erreur statique +routine

Bonjour,

je viens de créer ma première routines et Talend me retourne :

impossible de créer une référence statique à une méthode non statique

Pour le code

Code :
1
2
3
4
5
6
7
8
9
10
public class Arrondi {
 
	public double round(double what, int howmuch)
	{
		BigDecimal valeur = new BigDecimal(what);
		valeur = valeur.setScale(howmuch+2, BigDecimal.ROUND_HALF_UP);
		valeur = valeur.setScale(howmuch, BigDecimal.ROUND_HALF_UP);
		RETURN valeur.doubleValue();
	}
}

j'utilise la routine dans un tmap via : Arrondi.round(row1.Montant_HT_Total,2)

Merci d'avance
charliplanete est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 18h00   #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
Salut,

En effet la signature de ta fonction à l'intérieur de la routine est fausse, tu peux t'inspirer de l'exemple HelloWorld généré par Talend.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 /**
     * helloExample: not return value, only print "hello" + message.
     * 
     * 
     * {talendTypes} String
     * 
     * {Category} User Defined
     * 
     * {param} string("world") input: The string need to be printed.
     * 
     * {example} helloExemple("world") # hello world !.
     */
    public static void helloExample(String message) {
        IF (message == NULL) {
            message = "World"; //$NON-NLS-1$
        }
        System.out.println("Hello " + message + " !"); //$NON-NLS-1$ //$NON-NLS-2$
    }
Bref, il te manque le mot clé "static".
__________________
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 28/09/2011, 18h17   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 23
Points : 10
Points : 10
Merci bcp !

En y réfléchissant bien c'est ce qui est écrit dans le message d'erreur... en plus j'étais quasi sur d'avoir vérifier l'erreur.
Enfin bref merci !
charliplanete est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h18.


 
 
 
 
Partenaires

Hébergement Web