h2. Description

This step allows you to set variables in a job or in the virtual machine. It accepts one (and only one) row of data to set the value of a variable.



(!) *{+}IMPORTANT : IT IS NOT POSSIBLE TO SET AND USE A VARIABLE IN THE SAME TRANSFORMATION.  This is because all steps run in parallel{+}{*}+.+

h2. Options

|| Option || Definition ||
| Step name | The name of this step as it appears in the transformation workspace. |
| Apply formatting | When this option is set, it formats the value (date, numbers etc.) according to the format options. Otherwise no formatting is done. |
| Field Name | Name of the field that is used |
| Variable Name | Name of the variable to set (without ${...} or %%...%% sigils) |
| Variable scope type | Define the scope of the variable, possible options are:
* *Valid in the virtual machine:* the complete virtual machine will know about this variable.
{quote}
 (!) *{_}Warning{_}*: this makes your transformation only fit to run in a stand-alone fashion. Running on an application server like on the Pentaho framework can become a problem. That is because other transformations running on the server will also see the changes this step makes.
{quote}
* *Valid in the parent job:* the variable is only valid in the parent job.
* *Valid in the grand-parent job:* the variable is valid in the grand-parent job and all the child jobs and transformations.
* *Valid in the root job:* the variable is valid in the root job and all the child jobs and transformations. |
| Default value | Name of the variable to set |

h2. Variable usage

Refer to [Variables|http://wiki.pentaho.com/display/EAI/.07+Variables] wiki page for a description of the use of variables.