Configuring Modules with Data Sources

Not available in Factory Lite license.

The Rulex Flow File Source compacts the structure and corresponding data of a flow, or part of a flow, into a single task, called a module.

The peculiarity of the Rulex Flow File Source task, as opposed to the Execute Flow File task, is that it contains the tasks and their source data. This is useful, for example, when the input data must not be modified.

To create a module you can either:

  • export your flow via command or task, then drag and drop a Rulex Flow File Source task into the new flow, and reference the exported RFL file

  • compact files directly in your current flow, by selecting them, right-clicking and selecting Create Module. The consequent module can then be copied and pasted into any other flow.

Module creation

When you select Create Module Rulex automatically recognizes whether the selected tasks include the source data, via import file, and consequently creates a Rulex Flow File Source module. Otherwise, if your selection does not include source data, an Execute Flow File module is automatically created.

Using Import from Task in modules

The Import from Task can be used within modules to import structures from the module itself (using “THIS” as the flow.

If you need to import structures from the parent flow, you must do this through module mapping, and remove the Import from Task from the module.

For more details see Import from task.


Prerequisites


Procedure

  1. Drag and drop the Rulex Flow File Source task onto the central stage, or select the other

  2. Double click the task.

  3. Configure the task options as described in the table below.

  4. Click on the fx button, located at the top right corner of the task panel, to set the code variables.

  5. Save and compute the task.

Rulex Flow File Source options

Parameter Name

Description

Options tab

Source

Select whether you want to use a Saved or a Custom source.

Select file

Either click here to browse to the RFL file you want to link to and click Open, or manually enter the name of the file in the corresponding edit box. 

Note that if you have copied and pasted a module directly into the flow, this value will already be configured.

Endpoint task

Select the task whose results will be used as the endpoint results of the linked flow. There can only be one endpoint task.

Execute all internal tasks

If selected, all tasks in the imported RFL file are executed, otherwise the data provided by the specified endpoint task is simply used by the hosting flow. 

This option is useful as a time saver when you are sure that the tasks have already been computed and you just need the tasks' output data.

Use cached file if the target one is not available

If selected, results from the cached RFL file will be used if the target file is not available.

Variables

The list of code variables included in the selected RFL file. If these code variables are already included in the main code, the values of the father flow will overwrite the values displayed here.

If required you can modify the values of any code variables, by double-clicking them in the table and entering the new value.

The Default value indicates the values which have been inherited from the flow where the module has been built, while the Value can be edited.

Mapping

In this tab, you can visualize the links between the tasks inside the module.

Configuration tab

Number of executions

Specify how many times the flow should be executed.

For each execution.....increment.....Flow variable

If required specify whether specific code variables (selected from the drop-down list, loopvar) will be incremented or decremented (incrdecr) with each iteration.

If the Number of Executions option was set to 1, this option will obviously be disabled.

If you want to increment/decrement by more than 1, this value can be modified in the Parametric options, available by clicking on the fx button, located at the top right corner of the panel, or directly from the interface.

The loopvar must be defined in the Variables tab of the parent flow, as modules can be run also on different machines.

Accumulate iterations data

If selected, the results of successive iterations are saved, otherwise they are overwritten.