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 :

Copier des fichiers dans une destination en fonction du nommage


Sujet :

Développement de jobs

  1. #1
    Futur Membre du Club
    Copier des fichiers dans une destination en fonction du nommage
    Bonjour à tous,

    J'espère que vous allez bien,

    Voila ma problématique, j'ai une série de fichiers dans une arborescence et je dois en fonction de leur nommage (APPLI), les envoyer dans un répertoire spécifique à chacun:
    Les fichiers se présentent comme cela : "IDUNIQUE"_"APPLI"_"NOM_DE_FICHIER.EXT".TMP
    La correspondance des APPLI -> Chemin de destination se trouve dans un fichier EXCEL (qui est créé et mis par à jour par un autre job Talend) sur deux colonnes.

    A ce stade, ma réflexion s'oriente vers l’utilisation d'un tFileList, tIterateToFlow, TMap, tFileInputExcel et le TFileCopy.
    Récupérer la liste des fichiers, trouver le nom de l'appli dans le nommage du fichier, récupérer la correspondance dans le fichier Excel et donner le tout au tFileCopy.

    Voila le hic, je n'arrive pas à isoler le nom de l'application avec les routines de type StringHandling, les "_" pouvant être entre les différents champs "IDUNIQUE" "APPLI" et "NOM_DE_FICHIER" mais également dans les "NOM_DE_FICHIER" (ZIP_20200323.zip par ex).
    Sachant qu'il ne s'agit pas non plus de champs fixes.

    Comment procéderiez vous ?

    En vous remerciant

  2. #2
    Futur Membre du Club
    Solution
    Voici comment j'ai résolu mon problème:

    Afin de parser correctement les fichiers en entrée du Job, j'ai utilisé le composant tExtractRegexFields et afin de vérifier comme les expressions régulières fonctionnent correctement, je les ai testé sur ce site : https://regex101.com/

    Une fois l'APPLI correctement isolée, j'ai pu la faire matcher avec le tMap avec ma table de référence.