tFlowToIterate iterates on the input data and generates global variables.
This component is used to read data line by line from the input flow and store the data entries in iterative global variables.
Use the default (key, value) in global variables
When selected, the system uses the default value of the global variable in the current Job.
key: Type in a name for the new global variable. Press Ctrl+Space to access all available variables either global or user-defined.
value: Click in the cell to access a list of the columns attached to the defined global variable.
You cannot use this component as a start component. tFlowToIterate requires an output component.
ERROR_MESSAGE: the error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.
NB_LINE: the number of rows processed. This is an After variable and it returns an integer.
CURRENT_ITERATION: the sequence number of the current iteration. This is a Flow variable and it returns an integer.
A Flow variable functions during the execution of a component while an After variable functions after the execution of the component.
To fill up a field or expression with a variable, press Ctrl + Space to access the variable list and choose the variable to use from it.
For further information about variables, see Talend Studio User Guide.
Outgoing links (from this component to another):
Trigger: Run if; On Component Ok; On Component Error.
Incoming links (from one component to this one):
For further information regarding connections, see Talend Studio User Guide.
If you are using a subscription-based version of the Studio, the activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User Guide.
For more information on the log4j logging levels, see the Apache documentation at http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html.
The following scenario describes a Job that reads a list of files from a defined input file, iterates on each of the files and displays their content row by row on the Run console.
Drop the following components from the Palette onto the design workspace: two tFileInputDelimited components, a tFlowToIterate, and a tLogRow.
Connect the first tFileInputDelimited to tFlowToIterate using a Row > Main link, tFlowToIterate to the second tFileInputDelimited using an Iterate link, and the second tFileInputDelimited to tLogRow using a Row > Main link.
Double-click the first tFileInputDelimited to display its Basic settings view.
Click the [...] button next to the File Name field to select the path to the input file.
The File Name field is mandatory.
The input file used in this scenario is Customers.txt. It is a text file that contains a list of names of three other simple text files: Name.txt, E-mail.txt and Address.txt. The first text file, Name.txt, is made of one column holding customers' names. The second text file, E-mail.txt, is made of one column holding customers' e-mail addresses. The third text file, Address.txt, is made of one column holding customers' postal addresses.
Fill in all other fields as needed. For more information, see tFileInputDelimited properties. In this scenario, the header and the footer are not set and there is no limit for the number of processed rows.
Click Edit schema to describe the data structure of this input file. In this scenario, the schema is made of one column, FileName.
Double-click tFlowToIterate to display its Basic settings view.
Click the plus button to add new parameter lines and define your variables, and click in the key cell to enter the variable name as desired. In this scenario, one variable is defined:
Alternatively, you can select the Use the default (key, value) in global variables check box to use the default in global variables.
Double-click the second tFileInputDelimited to display its Basic settings view.
In the File name field, enter the directory of the files to be read, and then press Ctrl+Space to select the global variable "Name_of_File". In this scenario, the syntax is as follows:
Click Edit schema to define the schema column name. In this scenario, it is RowContent.
Fill in all other fields as needed. For more information, see tFileInputDelimited properties.
In the design workspace, select the last component, tLogRow, and click the Component tab to define its basic settings.
Define your settings as needed. For more information, see tLogRow properties.