IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Moyen de tester si ma ligne est un string ou un int


Sujet :

Développement de jobs

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut Moyen de tester si ma ligne est un string ou un int
    Bonjour,

    en fait, dans mon tMap j'ai besoin de mettre des conditions afin d'obtenir mes rejets.
    Si row1.NBRE est un INT alors je le met dans la table TOTO1
    Si row1.NBRE est un STRING alors je le met dans la table TOTO2 qui est la table de rejets.
    Voici un petit aperçu de mon job :
    Nom : job.PNG
Affichages : 1276
Taille : 14,9 Ko
    Nom : tables.PNG
Affichages : 1171
Taille : 4,6 Ko
    Nom : tMap.PNG
Affichages : 1299
Taille : 36,1 Ko

    Voici le fichier Positionnel. On voit que la dernière ligne devra être envoyée dans la table TOTO2 (NBRE = "AA" donc string) et les autres dans la table TOTO1.
    Nom : fichierp.PNG
Affichages : 1155
Taille : 1,3 Ko

    J'ai besoin d'aide pls

  2. #2
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Bonjour,

    Ta colonne NBRE est de type BigDecimal, donc si lors de la lecture de ton fichier tu as un string, tu devrais avoir une erreur qui bloque ton traitement. As tu fais un essai pour voir le comportement de ton job à l'heure actuelle sans le filtre si on lui passe un string et non pas un entier ?

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    Oui en mettant un string en fait je récupère mes données qui sont de type BigDécimal dans ma table TOTO1 comme je le souhaite mais je n'obtient aucune ligne dans mon autre table.
    Je n'arrive pas insérer dans la seconde table les strings. Ca me met "input for string "AA"" ou "null" en rouge au lieu de l'insérer dans ma table toto2.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    voici le job exécuté ainsi que le résultat. Svp j'ai besoin d'aide pour savoir comment faire rentrer la dernière ligne de mon fichier dans la 2nd table.
    Nom : jobexec.PNG
Affichages : 1196
Taille : 18,6 Ko

    Résultat :

    Nom : result.PNG
Affichages : 1146
Taille : 3,7 Ko

  5. #5
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Le message d'erreur [For input String: "AA"] ne provient pas de ta BDD mais de ton composant tFileInputPositionnal. Si tu veux récupérer la ligne concerné, il faut mettre le champs en String par défaut, et dans ton tMap utiliser une fonction permettant de vérifier s'il s'agit d'un entier ou pas et de convertir en BigDécimal si c'est possible.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    J'ai testé ça mais j'ai un problème pour convertir en BigDécimal.
    voici le code de ma routine pour tester si c'est un string :
    Nom : coderejet.PNG
Affichages : 1139
Taille : 4,6 Ko

    Voici mon tMap :
    Nom : tmapconv.PNG
Affichages : 1221
Taille : 43,9 Ko

    voici l'erreur :
    Exception in component tMap_1
    java.lang.NumberFormatException
    at java.math.BigDecimal.<init>(Unknown Source)
    at java.math.BigDecimal.<init>(Unknown Source)
    at portalet.toto_0_1.toto.tFileInputPositional_1Process(toto.java:2365)
    at portalet.toto_0_1.toto.tOracleConnection_1Process(toto.java:3219)
    at portalet.toto_0_1.toto.runJobInTOS(toto.java:3445)
    at portalet.toto_0_1.toto.main(toto.java:3302)

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    En fait l'erreur est due à la dernière qui n'est toujours pas filtrée du coup elle fait bugué le BigDecimal vu que c'est un string.
    Soit c'est ma routine qui est fause soit ya une erreur dans mon tMap

  8. #8
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Avec la condition de ton Var, si ton champs n'est pas numérique, tu essai de convertir "" en BigDecimal. Il faut utiliser les filtres dans tes sorties du tMap que tu as fais apparaitre en fonction des résultats de ta fonction de test. Au passage, ton expression régulière renvoie true uniquement si c'est un entier ? Elle me parait plutôt bizarre.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    Tu n'aurais pas une idée de code à mettre comme conditions ?

  10. #10
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Citation Envoyé par sebfch Voir le message
    Tu n'aurais pas une idée de code à mettre comme conditions ?
    La condition que tu utilise dans tes variables Var...

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    9a me donne ça :

    Nom : Capture.PNG
Affichages : 1210
Taille : 38,5 Ko

    Nom : tmap.PNG
Affichages : 1282
Taille : 46,6 Ko

  12. #12
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Ta fonction de test c'est rejet.testString(row7.NBRE) pour la première sortie et la même chose avec le "!" pour la deuxième.

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    non ce n'est pas ça j'obtiens toutes les lignes dans la seconde table..

  14. #14
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    C'est bien ça. C'est juste que ton expression régulière est fausse. Elle ne teste absolument pas si c'est un numérique ou pas.

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 148
    Points : 105
    Points
    105
    Par défaut
    Merci bcp c'était bien ma routine qu'il fallait changer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Tester si une ligne est vide
    Par Enzototo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/02/2015, 23h04
  2. DataGridView: tester si une ligne est sélectionnée
    Par Jinkas dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/07/2013, 18h30
  3. Quel est le meilleur moyen de tester le score spam d'un mail?
    Par jeanpierre215 dans le forum E-Mailing
    Réponses: 1
    Dernier message: 26/07/2012, 16h54
  4. tester si la ligne de jtable est selectionnée
    Par minooo dans le forum Composants
    Réponses: 2
    Dernier message: 14/12/2010, 11h00
  5. Comment tester qu'une ligne d'un Msflexgrid est vide
    Par bahboubacar2 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 27/03/2010, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo