Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

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

0683p000009Lwti.png

 

 

can someone help me with how I shall proceed ,

 

Labels (3)
4 Replies
TRF
Champion II
Champion II

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?

Anonymous
Not applicable
Author

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

TRF
Champion II
Champion II

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

Anonymous
Not applicable
Author

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