# Transformation (job entry)

The **Transformation** job entry runs a previously defined transformation within a job. It provides the link between your job orchestration and your ETL processing.

For example, a job might:

* Download files by using FTP.
* Check for a required target database table.
* Run a transformation that populates the table.
* Email an error log if the transformation fails.

### General

| Field              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Entry name**     | The unique name of the job entry on the canvas. You can place the same entry on the canvas multiple times. The default is **Transformation**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Transformation** | <p>Select the transformation to run by entering its path or clicking <strong>Browse</strong>.</p><p>If you select a transformation that shares the same root path as the current transformation, PDI inserts <code>${Internal.Entry.Current.Directory}</code> in place of the common root path.</p><p>If you are working with a repository, specify the transformation name. If you are not working with a repository, specify the transformation XML file name.</p><p>Transformations previously specified by reference are automatically converted to use the transformation name within the Pentaho Repository.</p> |

### Options

The Transformation job entry includes several tabs: **Options**, **Logging**, **Arguments**, and **Parameters**.

#### Options tab

| Option                                          | Description                                                                                                                                                                                                                            |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Run Configuration**                           | Select the run configuration to use. For more information, see [Run configurations](/pdia-data-integration/archived-merged-pages/transforming-data-with-pdi-archive/work-with-jobs/run-your-job/run-configurations-work-with-jobs.md). |
| **Execute every input row**                     | Run the transformation once for each input row (loop).                                                                                                                                                                                 |
| **Clear results rows before execution**         | Clear result rows before the transformation starts.                                                                                                                                                                                    |
| **Clear results files before execution**        | Clear result files before the transformation starts.                                                                                                                                                                                   |
| **Wait for remote transformation to finish**    | If you selected a server-based run configuration, wait until the transformation finishes on the server before continuing.                                                                                                              |
| **Follow local abort to remote transformation** | If you selected a server-based run configuration, send the abort signal to the remote transformation.                                                                                                                                  |

#### Logging tab

By default, if you do not configure logging, PDI writes transformation logs to the parent (calling) job log.

| Option                      | Description                                                                                                                                                                                                                                       |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Specify logfile**         | Write logs for this transformation to a separate log file.                                                                                                                                                                                        |
| **Name**                    | The directory and base name of the log file, for example, `C:\logs`.                                                                                                                                                                              |
| **Extension**               | The file name extension, for example, `.log` or `.txt`.                                                                                                                                                                                           |
| **Log level**               | The logging level to use while running the transformation. For more information, see [Logging and performance monitoring](/pdia-data-integration/archived-merged-pages/transforming-data-with-pdi-archive/logging-and-performance-monitoring.md). |
| **Append logfile**          | Append to the log file instead of creating a new one.                                                                                                                                                                                             |
| **Create parent folder**    | Create the parent folder for the log file if it does not already exist.                                                                                                                                                                           |
| **Include date in logfile** | Add the system date to the log file name in `YYYYMMDD` format, for example `_20051231`.                                                                                                                                                           |
| **Include time in logfile** | Add the system time to the log file name in `HHMMSS` format, for example `_235959`.                                                                                                                                                               |

#### Arguments tab

Use these options to pass arguments to the transformation:

| Option                        | Description                                                                                                                                                                                                                                                                                                    |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Copy results to arguments** | Copy results from a previous transformation as transformation arguments by using the [Copy rows to result](http://wiki.pentaho.com/display/EAI/Copy+rows+to+result) step. If **Execute every input row** is selected, each row becomes a set of command-line arguments. Otherwise, only the first row is used. |
| **Argument**                  | The command-line arguments to pass to the transformation.                                                                                                                                                                                                                                                      |

#### Parameters tab

Use these options to pass parameters to the transformation:

| Option                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Copy results to parameters**                  | Copy results from a previous transformation as transformation parameters by using the [Copy rows to result](http://wiki.pentaho.com/display/EAI/Copy+rows+to+result) step.                                                                                                                                                                                                                                              |
| **Pass parameter values to sub transformation** | Pass all job parameters down to the sub-transformation.                                                                                                                                                                                                                                                                                                                                                                 |
| **Parameter**                                   | The parameter name to pass to the transformation.                                                                                                                                                                                                                                                                                                                                                                       |
| **Parameter to use**                            | The field of an incoming record to use as the parameter value. If you enter a field here, **Static input value / variable** is disabled.                                                                                                                                                                                                                                                                                |
| **Static input value / variable**               | <p>Specify values for transformation parameters by using one of these methods:</p><ul><li>Enter a value directly, for example <code>ETL Job</code>.</li><li>Use a variable, for example <code>${Internal.Job.Name}</code>.</li><li>Combine values and variables, for example <code>${FILE\_PREFIX}\_${FILE\_DATE}.txt</code>.</li></ul><p>If you enter a value here, <strong>Parameter to use</strong> is disabled.</p> |
| **Get Parameters**                              | Get the existing parameters defined for the selected transformation.                                                                                                                                                                                                                                                                                                                                                    |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/pdia-data-integration/pdi-job-entries-reference-overview/transformation-job-entry-cp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
