i am using using javaflex. In invalid output, i am setting context variable and checking it on "IF" condition. Now condition is working fine. But i am unable to send main data output to the SqlOutput. After if condition of javaflex i am getting only one row rather than entire parsed data.
tJavaFlex IF is a trigger, it's not possible... some components allow you to link an IF to a (row) component.
What would you like to achieve, what is your IF based on, specific row.column value?
and based on its value you like to write row output to, in example, a file A and if its not write to file B?
What are you trying to achieve here? I ask as you are processing 108852 rows just prior to this. The RunIF will fire ONCE per component completion. If you want it to fire 108852 times, you will need to use a tFlowToIterate and iterate over the each individual row. However, this will be a very lengthy process with 108852 rows.
Alternatively you can apply your IF logic in the tMap and filter the rows that are returned by that logic. Then you can just send your data that is output straight to your tPostgreSQL. You can see how to do that here:
But i want to store the data if there is no "Invalid parser output". If any parser error i am setting(context variable X) flag value as true else false in "tJavaflex_3" . Based on this context variable(X) i want to store the final output. If condition between tJavaflex_4 and tJavaflex_5
is validating the context variable (X).
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Watch the recorded webinar!
Learn how to use an API-First Approach to Modernize your Applications
Pick up some tips and tricks with Context Variables
Take a look at this technical overview video of Talend API Designer