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

Announcements
Discover how organizations are unlocking new revenue streams: Watch 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