# Job (job entry)

The **Job** job entry executes another job. This supports functional decomposition, so you can split a large job into smaller, more manageable jobs.

{% hint style="warning" %}
Avoid creating recursive jobs (a job that points to itself). A recursive job can eventually fail with an out-of-memory or stack error.
{% endhint %}

### General

| Field          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Entry name** | The unique name of the job entry on the canvas. You can place the same job entry on the canvas multiple times.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Job**        | <p>Specify the job to execute by entering its path or clicking <strong>Browse</strong>.</p><p>If you select a job that shares the same root path as the current job, PDI inserts <code>${Internal.Entry.Current.Directory}</code> in place of the common root path. For example, if the current job path is <code>/home/admin/transformation.kjb</code> and you select a job in <code>/home/admin/path/sub.kjb</code>, then the path is converted to <code>${Internal.Entry.Current.Directory}/path/sub.kjb</code>.</p><p>If you are working with a repository, specify the job name. If you are not working with a repository, specify the job XML file name.</p><p><strong>Note:</strong> Jobs previously specified by reference are automatically converted to use the job name within the Pentaho Repository.</p> |

### Options

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

#### Options tab

![Options tab, Job (job entry)](/files/JLGhsZJk6hK8qg8jW0kQ)

| 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 job once for each input row (loop).                                                                                                                                                                                            |
| **Pass the sub jobs and transformations to the server** | If you select a server-based **Run Configuration**, pass the complete job (including referenced sub-jobs and sub-transformations) to the remote server.                                                                                |
| **Enable monitoring for sub jobs and transformations**  | If you select a server-based **Run Configuration**, monitor child jobs and transformations while the job runs.                                                                                                                         |
| **Wait for remote job to finish**                       | If you select a server-based **Run Configuration**, wait until the job finishes running on the server before continuing.                                                                                                               |
| **Follow local abort to remote job**                    | If you select a server-based **Run Configuration**, send the abort signal to the remote job.                                                                                                                                           |

#### Logging tab

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

![Logging tab, Job (job entry)](/files/pMq8bws1FP7pzksRfiMX)

| Option                      | Description                                                                                                                                                                                                                       |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Specify logfile**         | Write logs for this job 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 job. For more information, see [Logging levels](/pdia-data-integration/archived-merged-pages/transforming-data-with-pdi-archive/logging-and-performance-monitoring/logging-levels.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 file name in `YYYYMMDD` format, for example `_20051231`.                                                                                                                                               |
| **Include time in logfile** | Add the system time to the file name in `HHMMSS` format, for example `_235959`.                                                                                                                                                   |

#### Arguments tab

![Argument tab, Job (job entry)](/files/NAi9A9EG1u4FTRllEVw6)

Use these options to pass arguments to the job:

| Option                        | Description                                                                                                                                                                                                                                                                                         |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Copy results to arguments** | Copy results from a previous transformation as job 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 job.                                                                                                                                                                                                                                                      |

#### Parameters tab

![Job entry parameters tab](/files/BDgD9Ld6x7CPPI34XAP7)

Use these options to pass parameters to the job:

| Option                               | Description                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Copy results to parameters**       | Copy results from a previous job as job parameters by using the [Copy rows to result](http://wiki.pentaho.com/display/EAI/Copy+rows+to+result) step.                                                                                                                                                                                                                                                         |
| **Pass parameter values to sub-job** | Pass all parameters of the calling job down to the sub-job.                                                                                                                                                                                                                                                                                                                                                  |
| **Parameter**                        | The parameter name to pass to the job.                                                                                                                                                                                                                                                                                                                                                                       |
| **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 job 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 job.                                                                                                                                                                                                                                                                                                                                                    |


---

# 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/job-job-entry.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.
