Bonjour à tous,
J'aimerais rendre dynamique mon traitement d'alimentation, en donnant la possibilité de paramétrer le nom de mes tables cibles.
Pour cela, je suis parti sur l'utilisation d'un "tContextLoad", pour récupérer le nom physique de mes tables cibles. Ces noms physiques seront stockés dans une table de paramétrage.
J'ai découpé mon traitement en deux phases : La première permet de charger ma table de paramétrage dans mon context et la seconde permet d'alimenter les tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 --------------------------------------- | KEY | VALUE | --------------------------------------- | key_Table1 | nom_physique_T1 | | key_Table2 | nom_physique_T2 | | key_Table3 | nom_physique_T3 | ---------------------------------------
C'est maintenant que ça se complique (ou non)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ma_table_param -> tContextLoad | | OK | ma_source -> mon_traitement -> mes_cibles
J'aimerais maintenant utiliser dans le champ "Table", de mes tables cibles, les clés de mon tContextLoad.
Par exemple :
Mais je parviens pas à les utiliser. En utilisant "context.key_Table1" dans le champ "Table" de ma cible, Talend me remonte l'erreur suivante : "myKeyContext ne peut pas être résolu ou n'est pas un champ".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Table = context.key_Table1
Est-ce que j'ai oublié une étage dans mon traitement ? Ou est-ce que je n'ai pas compris l'utilisation du tContextLoad ?
Merci d'avance pour vos réponses.
Partager