The "Virtual" module is a functionless module ("dummy module").
| Name | Meaning |
|---|---|
| Module | Virtual |
| Module Class | DsModVirtual |
| Type | Java |
| Purpose | The "Virtual" module represents an empty or blind module that can be used for different application purposes. |
| Transformation Code | not used |
| Sources | Any source objects |
| Targets | Any target objects |
The "Virtual" module is a dummy module without transformation function. There are various use cases for this module:
The transformation code is not used. Validation is always successful.
The sources of the module can be any data sources such as tables, files, web services, etc. It is also permitted for the module to have no sources.
The module does not expect a specific number of data sinks as targets. These can be none, one, or any number of data objects such as tables, files, etc.
The module has no attributes.
Data flows typically start with data source objects and end with one or more target objects. It is conceivable to place a Virtual module at the beginning and end of a transformation network.
This gives you a start and end transformation that can be used for example as defined points in time for time tracking.


A Virtual module can be used to connect two data flows that initially have no logical relationship. In the following image, two independent transformation blocks are shown, each marked by the red ellipses. The first transformation block writes data to three report tables r_top_papaya_supp, r_top_orders_eu and r_top_orders_by_profit. The second block should then send an email informing the user about the completed reports.

The transformation module "mail: notification" expects a control table as input. The three report tables cannot therefore be connected to this Send-Mail transformation. Instead, a Virtual transformation is used to connect and synchronize the two transformation flows (selection in the next image).

The Virtual module can also be used when a transformation should be temporarily disabled. To do this, open the transformation by double-clicking and exchange the module in edit mode.
An example could be the mail send in the following flow. To make it ineffective, you can simply replace the Send-Mail module with a Virtual module so that no mails are sent:

Open the Send-Mail transformation with a double-click and in edit mode then replace the Send-Mail module with the Virtual module.

This disables or skips the mail functionality during execution.

To re-enable the function, simply reinstall the Send-Mail module.