Five Stars

set a context variable and call it in next component

Hi I need to assign a context variable while the job is running and use the same context variable in the subsequent component. ,

 

please check the below flow for what my requirement is , tfilelist is the first component 

 

tfilelist--> tinputfiledelimited -->tjava --> tmysqloutput

flow.png

 

 

can someone help me with how I shall proceed ,

 

1 ACCEPTED SOLUTION

Accepted Solutions
Forteen Stars TRF
Forteen Stars

Re: set a context variable and call it in next component

You can make the substitution when needed or use tJavaRow in your case (because of tJava behaviour described previously)


TRF
4 REPLIES
Forteen Stars TRF
Forteen Stars

Re: set a context variable and call it in next component

tJava component is executed 1rst and only once for the subjob, so tJavaRow is better in this case.

The question is, why do you want to use a context variable as soon as you have a standard global variable which contains what you want?


TRF
Five Stars

Re: set a context variable and call it in next component

being new to Talend, what i have understood is standard variable i.e. ((String)globalMap.get("tFileList_1_CURRENT_FILE")); will return me with the file name and extention. i.e if the file name is abc.txt it will return abc.txt, what i need is a table to be created with the name abc , not abc.tc , with the standard variable the table is getting created but with the name "abc.txt".

 

so i thought doing a substring on the name and storing that in a variable and later using that for table name

Forteen Stars TRF
Forteen Stars

Re: set a context variable and call it in next component

You can make the substitution when needed or use tJavaRow in your case (because of tJava behaviour described previously)


TRF
Five Stars

Re: set a context variable and call it in next component

the substitution can be made as follows :

 

StringHandling.CHANGE(((String)globalMap.get("tFileList_1_CURRENT_FILE")),".txt","")

 

this worked for me as I directly put the above code in the table field.

 

reference on StringHandling Routines:

https://help.talend.com/reader/mhqCkTBnin7IXmJBUJoocQ/5qboCU~1NO4j7aF9JtCWNg