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 :

Génération d'un nom de fichier de sortie à partir de donnée d'un tMap


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Génération d'un nom de fichier de sortie à partir de donnée d'un tMap
    Bonjour à tous,

    Je travail actuellement sur Talend depuis 1 semaine.

    Je cherche à modifier le nom du fichier de sortie lors du lancement d'un job, en utilisant des données qui sont en entrée et dans un tMap

    Par exemple mon fichier devra avoir le nom suivant :
    test_<nombre de ligne d'une table>_<date sous la forme MMYYYY>.txt

    Sachant que le nombre de ligne est contenu dans une variable de tMap par exemple.

    Merci d'avance pour vos lumières

    Sylvain

    Complément : J'ai réussie à créer le nom de fichier avec le outpuStream du fichier de sortie, et la date en mettant directement la fonction suivante dans un tJava :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    new java.io.File("C:/sylvain2").mkdirs();
    String nomDeFichier = new String();
    nomDeFichier = "C:/sylvain2/ventes_codeAdherent_" + TalendDate.getDate("CCYYMM") + ".csv";
    globalMap.put("out_file",new  java.io.FileOutputStream(nomDeFichier,false));
    Ce qu'il me manque donc, c'est comment utiliser une variable d'un tMap dans le nom de mon fichier

  2. #2
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2011
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2011
    Messages : 201
    Points : 352
    Points
    352
    Par défaut
    "test" + TypeConvert.Integer2String(in.nbLignes) + TalendDate.formatDate("MMyyyy",TalendDate.getCurrentDate())

    Je te laisse modifier TypeConvert.Integer2String si ton type in.nbLignes n'est pas Integer.

  3. #3
    Membre à l'essai
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Merci Nicolas, on s'est croisé, j'ai fait un complément dans mon premier message.

    Pour la date, c'est ok, et ca rejoint ce que j'avais trouvé.

    En fait, il me manque la réponse sur comment réutiliser une variable d'un tMap dans mon tJava

  4. #4
    Membre à l'essai
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    En fait, je viens de voir que je n'ai même pas besoin du tJava, il suffit d'indiquer le nom du fichier de sortie comme tu me l'as indiqué.

    Je vais tester pour y passer des variables

  5. #5
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2011
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2011
    Messages : 201
    Points : 352
    Points
    352
    Par défaut
    On peut se compliquer la vie, mais on peut également faire les choses simplement.

    Comme tu l'as remarqué, on peut tout mettre dans le champ de sortie. Je trouve cela plus lisible (et donc plus maintenable).

    Donc dans ton cas, un Tmap avec un flux d'entrée qui contient le nb de lignes, en sortie, un flux avec un champ qui vaut : "C:/sylvain2/ventes_codeAdherent_ventes_codeAdherent_test" + TypeConvert.Integer2String(in.nbLignes) + TalendDate.formatDate("MMyyyy",TalendDate.getCurrentDate())

    A priori, pas besoin de variable complémentaire, ni de composant tJava.

    Pour aller plus loin, tu peux définir une variable de contexte adherentDirectory, de type string, dont la valeur est "C:/sylvain2/ventes_codeAdherent_". Ton champs devient alors :
    context.adherentDirectory + "ventes_codeAdherent_ventes_codeAdherent_test" + TypeConvert.Integer2String(in.nbLignes) + TalendDate.formatDate("MMyyyy",TalendDate.getCurrentDate())

  6. #6
    Membre à l'essai
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup à toi, j'ai réussit à faire ce que je voulais!!

    Je n'avais pas compris la porté des variables, et surtout comment on pouvais appeler une variable avec le nom de la sortie.

    Donc c'est parfait, ca marche très bien.

    Encore un grand merci NicolasTT

Discussions similaires

  1. [LibreOffice][Texte] Publipostage en macro comment spécifier le nom du fichier de sortie ?
    Par Filou07 dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 06/03/2015, 15h56
  2. [AC-2013] Paramétrer le nom du fichier de sortie pour la macro ExporterAvecMiseEnForme
    Par RichardUW dans le forum Macros Access
    Réponses: 3
    Dernier message: 02/07/2014, 19h44
  3. [AC-2000] Publipostage et nom de fichier de sortie
    Par steps5ive dans le forum VBA Access
    Réponses: 4
    Dernier message: 19/04/2012, 19h04
  4. [DataStage] Calculer le nom du fichier de sortie
    Par blazDelParis dans le forum DataStage
    Réponses: 2
    Dernier message: 08/09/2010, 16h04
  5. Génération automatique de noms de fichiers
    Par 84mickael dans le forum Langage
    Réponses: 7
    Dernier message: 02/05/2008, 09h41

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