Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have been using the expression filter for some time, in Open Studio for Data Integrator. The Catch Output Reject has been working fine until I upgraded to version 6.5. Now it seems as though this option is not giving the opposite results of the expression.
I am comparing two strings by putting the following code into the tMap expression filter, on the output side:
row1.var1.equals(row1.var2)
The output returns the same results whether Catch Output Reject is set to true or false - all the results produced have the same value in the two fields. 3990 rows enter the tMap and the output contains1545 rows.
I wondered if it was a quirk with the data, such as trailing blanks etc, so I manually reversed the expression as follows:
!(row1.var1.equals(row1.var2))
This produces the correct results (2445 rows) and this remains unchanged regardless of the Catch Output Reject setting.
Is anyone else experiencing this problem? Does this need to be raised as a bug?
Hello,
Please have a look at my demo job screenshot to see if your set " Catch Output Reject" in a correct way.
Best regards
Sabrina
"
Hello,
Have you tried to re-drag a new tMap in your studio V 6.5 to see if it works?
Best regards
Sabrina
Yes, that was one of the first things I did. It's still happening - long after my original post.
I have tried different Talend sessions, new jobs and in new situations.
I have put the following code into a tFilter and also into a tMap expression filter to compare results:
!(input_row.MenuName==null) && input_row.MenuName.indexOf("AW17") > -1
Both produce the same output, of 5520 results. However, when I change the Catch Output Reject setting to "true" I am getting the same number and the same output. I have attached a picture of my job here.
I hope you can help or advise.
Hi All
I am facing the same situation with tXMLMap.
Input matching the filter criteria is transformed and routet to the output.
Input which is not matching the filter criteria is just swallowed by the tXMLMap and is not sent to the "Reject" output with "Catch Output Reject" set to true.
Hello,
Please have a look at my demo job screenshot to see if your set " Catch Output Reject" in a correct way.
Best regards
Sabrina
"
Thanks for your efforts Sabrina, your solution worked. I thought that it would automatically return the reverse of what I had put in the expression filter. I have experimented a bit and I believe I have worked out that the option means:
"Output everything that is not already captured by one of the existing outputs."
Would you say the same?
This is my test that determined this:
Thanks,
Mitesh
Hello,
Note that data are not exclusively processed to one output. Although a data satisfied one constraint, hence is routed to the corresponding output, this data still gets checked against the other constraints and can be routed to other outputs.
For more information, please refer to this online document about:TalendHelpCenterutput rejection
Let us know if it is clear for you.
Best regards
Sabrina