# Mapping Input Specification

The **Mapping Input Specification** step is an input placeholder used inside a mapping *sub-transformation*.

Use this step to define where the sub-transformation expects input rows from the parent transformation.

You can think of it as a special input step that receives data from the parent transformation at runtime.

![Mapping Input Specification dialog](https://773338310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYwnJ6Fexn4LZwKRHghPK%2Fuploads%2Fgit-blob-49f09eff540c5c79b9cc4f6dbc7e1039ff12f93b%2FPDI_TransStep_Mapping_Input_Specification.png?alt=media)

### When to use

Use **Mapping Input Specification** when your transformation is designed to be executed as a mapping (for example, from the [Mapping](https://docs.pentaho.com/pdia-data-integration/pdi-transformation-steps-reference-overview/mapping) step or the [Simple Mapping (sub-transformation)](https://docs.pentaho.com/pdia-data-integration/pdi-transformation-steps-reference-overview/simple-mapping-sub-transformation) step).

A sub-transformation can contain:

* One Mapping Input Specification step (common)
* Multiple Mapping Input Specification steps (multiple entry points)
* No Mapping Input Specification steps (no input)

### Options

| Option                                          | Description                                                                                                                                                                                                                                                                                         |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Step name**                                   | Name of the step. This name must be unique within the transformation.                                                                                                                                                                                                                               |
| **Name**                                        | Field name as it is used inside the sub-transformation.                                                                                                                                                                                                                                             |
| **Type**                                        | Data type of the field.                                                                                                                                                                                                                                                                             |
| **Length**                                      | Maximum string length.                                                                                                                                                                                                                                                                              |
| **Precision**                                   | Maximum number of decimals.                                                                                                                                                                                                                                                                         |
| **Include unspecified fields, ordered by name** | <p>In some cases, you may want all incoming fields, not only the required fields. For example, you might remove certain fields later while retaining all others.<br><br>During design time, unspecified fields are not available in field picklists because they are available only at runtime.</p> |
