# tFileInputPositional Standard properties

These properties are used to configure tFileInputPositional running in the Standard Job framework.

The Standard tFileInputPositional component belongs to the File family.

The component in this framework is available in all Talend products.

## Basic settings

| Properties | Description |
| --- | --- |
| Property type | <ul> <li> <p>Either <span>Built-In</span> or <span>Repository</span>. </p> </li> <li> <p> <span>Built-In</span>: No property data stored centrally.</p> </li> <li> <p> <span>Repository</span>: Select the repository file where the            properties are stored.</p> </li> </ul> |
| Use existing dynamic | Select this check box to reuse an existing dynamic schema to handle data<br>from unknown columns.<br><br>When this check box is selected, a<br>Component list appears allowing you<br>to select the component used to set the dynamic schema. |
| File name/Stream | File name: Name and path of the file<br>to be processed.<br><br>Information noteWarning: Use absolute path (instead of relative path) for<br>this field to avoid possible errors.<br><br><br>Stream: The data flow to be processed.<br>The data must be added to the flow in order for tFileInputPositional to fetch these data via the corresponding<br>representative variable.<br><br>This variable can be already<br>pre-defined in Talend Studio or provided by the context or the components you are using along with this<br>component, for example, the *INPUT\_STREAM* variable of<br>tFileFetch; otherwise, you can define<br>it manually and use it according to the design of your Job, for example, using<br>tJava or tJavaFlex.<br><br>In order to avoid the<br>inconvenience of hand writing, you could select the variable of interest from<br>the auto-completion list (Ctrl+Space) to<br>fill the current field on condition that this variable has been properly<br>defined.<br><br>Related scenario to the input stream, see [Reading data from a remote file in streaming mode](https://help.qlik.com/talend/en-US/components/8.0/delimited/tfileinputdelimited-tfilefetch-tsleep-tlogrow-reading-data-from-remote-file-in-streaming-mode-standard-component-this). |
| Row separator | The separator used to identify the end of a row. |
| Customize | Select this check box to customize the data format of the<br>positional file and define the table columns:<br><br><br>Column: Select the column you want to<br>customize.<br><br><br>Size: Enter the column size.<br><br><br>Padding char: Enter, between double<br>quotation marks, the padding charater you need to remove from the field. A<br>space by default.<br><br><br>Alignment: Select the appropriate<br>alignment parameter. |
| Pattern | Length values separated by commas, interpreted as a string<br>between quotes. Make sure the values entered in this field are consistent with<br>the schema defined. |
| Pattern Units | The unit of the length values specified in the Pattern<br>field.<br><br><ul> <li> <p> <span>Bytes</span>: With this option selected, the length                           values in the <span>Pattern</span> field should be the count of                           bytes that represent symbols in original encoding of the input file.</p> </li> <li> <p> <span>Symbols</span>: With this option selected, the length                           values in the <span>Pattern</span> field should be the count of                           regular symbols, not including surrogate pairs.</p> </li> <li> <p> <span>Symbols (including rare)</span>: With this option                           selected, the length values in the <span>Pattern</span> field                           should be the count of symbols, including rare symbols such as surrogate                           pairs, and each surrogate pair counts as a single symbol. Considering the                           performance factor, it is not recommended to use this option when your                           input data consists of only regular symbols.</p> </li> </ul> |
| Skip empty rows | Select this checkbox to skip the empty rows. |
| Uncompress as zip file | Select this check box to uncompress the input file. |
| Die on error | Select the checkbox to stop the execution of the Job when an error<br>occurs.<br><br>Clear the checkbox to skip any rows on error and complete the process for<br>error-free rows. When errors are skipped, you can collect the rows on error using a Row &gt; Reject link. |
| Header | Enter the number of rows to be skipped in the beginning of file. |
| Footer | Number of rows to be skipped at the end of the file. |
| Limit | Maximum number of rows to be processed. If Limit = 0, no row is read or<br>processed. |
| Schema and Edit Schema | <ul> <li> <p>A schema is a row description. It defines the number of fields            (columns) to be processed and passed on to the next component. When you create a Spark            Job, avoid the reserved word <kbd>line</kbd> when naming the            fields.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> <p>This component offers the advantage of the                  dynamic schema feature. This allows you to retrieve unknown columns from source                  files or to copy batches of columns from a source without mapping each column                  individually. For further information about dynamic schemas, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/dynamic-schema" target="_blank">Dynamic schema</a>.</p> <p>This            dynamic schema feature is designed for the purpose of retrieving unknown columns of a            table and is recommended to be used for this purpose only; it is not recommended for the            use of creating tables.</p> <p>This component must work with <span>tSetDynamicSchema</span> to leverage the dynamic schema feature.</p> </li> <li> <p> <span>Built-in</span>: The schema will be created and                     stored locally for this component only. For more information about a component schema in its <span>Basic settings</span> tab, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/basic-settings-tab" target="_blank">Basic settings tab</a>.</p> </li> <li> <p> <span>Repository</span>: The schema already exists                     and is stored in the Repository, hence can be reused in various projects and                     Job flowcharts. For more information about a component schema in its <span>Basic settings</span> tab, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/basic-settings-tab" target="_blank">Basic settings tab</a>.</p> </li> </ul> |

## Advanced settings

| Properties | Description |
| --- | --- |
| Needed to process rows longer than 100 000<br>characters | Select this check box if the rows to be processed in the input file are<br>longer than 100 000 characters. |
| Advanced separator (for numbers) | Select this check box to change the separator used for numbers. By default, the thousands separator is a comma (*,*) and the decimal separator is a period (*.*).<br><br><br>Thousands separator: define separators<br>for thousands.<br><br><br>Decimal separator: define separators for<br>decimals. |
| Trim all column | Select this check box to remove leading and trailing whitespaces from<br>defined columns. |
| Validate date | Select this check box to check the date format strictly against the input schema. |
| Encoding | Select the encoding from the list or select Custom<br>and define it manually. This field is compulsory for database data handling. The<br>supported encodings depend on the JVM that you are using. For more information, see<br>[https://docs.oracle.com](https://docs.oracle.com/). |
| tStatCatcher Statistics | Select this check box to gather the Job processing metadata at a Job level<br>as well as at each component level. |

## Global Variables

| Variables | Description |
| --- | --- |
| Global Variables | NB\_LINE:<br>the number of rows processed. This is an After variable and it returns an integer.<br><br><br>ERROR\_MESSAGE: the error message generated by the<br>component when an error occurs. This is an After variable and it returns a string. This<br>variable functions only if the Die on error checkbox is<br>cleared, if the component has this checkbox.<br><br>A Flow variable functions during the execution of a component<br>while an After variable functions after the execution of the component.<br><br>To fill up a field or expression with a variable, press Ctrl+Space to access the variable list and choose the variable to use from<br>it.<br><br>For more information about variables, see [Using contexts and variables](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/contexts-and-variables). |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | Use this component to read a file and separate fields using a position<br>separator value. You can also create a rejection flow using a Row &gt; Reject link to filter the data which does<br>not correspond to the type defined. For an example of how to use these two links,<br>see [Procedure](https://help.qlik.com/talend/en-US/components/8.0/processing/textractxmlfield-tlogrow-tfileinputdelimited-tfileoutputdelimited-procedure-standard-component-drop). |