Bonjour,

Je débute en Talend et je me heurte à plusieurs problèmes, je souhaiterais connaitre les « bonnes pratiques » en la matière car j’essaye différents trucs qui pour l’instant ne donnent pas les résultat escomptés.

Le besoin

J’ai en entrée un TfileInputXml qui lit differents fichiers de meme structure, je souhaite enregistrer les données du XML vers des tables dans SqlServer.

J’ai commencé en faisant : TfileInputXml – main – Tmap -- Tmssqloutput

Problème numéro 1 :

Je ne veux pas réinsérer des lignes déjà présents en BD, je dois donc les filtrer, pour cela je ne peux pas le faire avec un simple ID mais avec une concaténation de plusieurs parametres (par exemple si Objet et Reference trouvés je ne veux pas réinserer cette ligne)

J’ai donc prévu d’utiliser une procédure stockée qui me renvoi un « boolen » si la ligne est ou non présente en BD.

Comment dois-je procéder ? Dois-je filtrer en entrée ou en sortie du Tmap et surtout quels composants utiliser ? J’ai pensé au TmmsqlSp en sortie du TMAP mais cela n’as pas l’air de convenir car il me sort un Recordset en OUT mais je veux conserver le schéma précedent (tmap) pour pouvoir les passer au tmsqloutput

Problème numéro 2 :

Comment en sortie du Tmap séquencer en fonction des diferentes sorties ? Par exemple je veux inserer dans la « tableA » avant la « tableB » car la TableA comporte une clé etrangère reprise dans la tableB

Le composant Tmssqloutput me propose de tout insérer en un bloc…

Merci D’avance