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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tfilterrow advanced mode code completion

I am using a tfilterrow with out4 from a tmap as the input source to the tfilterrow. I have entered the following filtering options.
input_row.SOURCE.equals("CSWS.AECC") ||
input_row.SINK.equals("CSWS.AECC") ||
input_row.SOURCE.startsWith("AECC.") ||
input_row.SINK.startsWith("AECC.")
The source code contains the following after it is generated by Talend
out4.SOURCE.equals("CSWS.AECC")||
out4.SINK.equals("CSWS.AECC")||
out4.SOURCE.startsWith("AECC.")||
out4.SINK.startsWith("AECC.")
I get an error that states out4.SOURCE cannot be resolved or is not a field.

I have other jobs that use the same exact advanced filter options that are not re-written by the Talend code generator and they work. The filters need to be
input_row.SOURCE.equals("CSWS.AECC") ||
input_row.SINK.equals("CSWS.AECC") ||
input_row.SOURCE.startsWith("AECC.") ||
input_row.SINK.startsWith("AECC.")
Is this a bug? How do I overcome this issue?
RG
Labels (2)
5 Replies
Anonymous
Not applicable
Author

Hello
out4.SOURCE.equals("CSWS.AECC")||
out4.SINK.equals("CSWS.AECC")||
out4.SOURCE.startsWith("AECC.")||
out4.SINK.startsWith("AECC.")

The code generated by Talend is ok, did you try close the job and open again?
Best regards
Shong
Anonymous
Not applicable
Author

Yes I have closed the job and this did not "fix" the issue. I have compl;etely shut down Talend and restarted the program and the issue remains.
Why does Talend generate the code differently now. I have several other jobs using the same filtering options and Talend did not "re-write" the code to use "out4.source" instead of "input_row.source".
My other jobs work flawlessly using "input_row.source". I started experiencing this issue after I upgraded to open studio 4.
Anonymous
Not applicable
Author

I gave up on trying to fix the old job and recreated it. It works now - and Talend generated the code exactly as it did before in the previous versions using
input_row.SOURCE.equals("CSWS.AECC") ||
input_row.SINK.equals("CSWS.AECC") ||
input_row.SOURCE.startsWith("AECC.") ||
input_row.SINK.startsWith("AECC.")

There is a bug related to replacing/modifying the tfilterrow component and the code generation.
Thanks again,
RG
Anonymous
Not applicable
Author

Same song second verse - The code that Talend Open Studio is generating will not work and its the same issue - but this timedeleteing the job and starting over is not the solution. The code below is what is being generated.
out4.SOURCE.equals("CSWS.AECC")||
out4.SINK.equals("CSWS.AECC")||
out4.SOURCE.startsWith("AECC.")||
out4.SINK.startsWith("AECC.")

This code is what is needed for the filter row to workl
input_row.SOURCE.equals("CSWS.AECC") ||
input_row.SINK.equals("CSWS.AECC") ||
input_row.SOURCE.startsWith("AECC.") ||
input_row.SINK.startsWith("AECC.")
Why does Talend insist on generating this code that doesn't work? What am I doing wrong?
Anonymous
Not applicable
Author

Hello
Which version of TOS do you use? I am using TOS4.0.1 and it works fine.
The generated code should be:
out4.SOURCE.equals("CSWS.AECC")||
out4.SINK.equals("CSWS.AECC")||
out4.SOURCE.startsWith("AECC.")||
out4.SINK.startsWith("AECC."),
If you still have problem, please export your job and send it to me via email.
Best regards
Shong