# tSchemaComplianceCheck Standard properties

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

The Standard tSchemaComplianceCheck component belongs to the Data Quality family.

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

## Basic settings

| Properties | Description |
| --- | --- |
| Base Schema and Edit schema | A schema is a row description. It defines the number of fields<br>(columns) to be processed and passed on to the next component. When you create a Spark<br>Job, avoid the reserved word line when naming the<br>fields.<br><br>It describes the structure and nature of your data to be processed as it is. Used by both Basic Checks and Advanced JSON Schema modes.<br><br><br>Built-In: You create and store the schema locally for this component<br>only.<br><br><br>Repository: You have already created the schema and stored it in the<br>Repository. You can reuse it in various projects and Job designs. |
| Check all columns from schema | Select this option to carry out all checks on all<br>columns against the base schema. |
| Custom defined | Select this option to carry out particular checks on<br>particular columns. When this option is selected, the Checked Columns table shows. |
| Checked Columns | In this table, define what checks are to be carried out on which columns.<br>This table appears when you select the Custom defined option.<br><br><ul> <li> <p> <span>Column</span>: Displays the columns                           names.</p> </li> <li> <p> <span>Type</span>: Select the type of data each                           column is supposed to contain. This validation is mandatory for all                           columns.</p> </li> <li> <p> <span>Date pattern</span>: Define the expected                           date format for each column with the data type of <em>Date</em>.</p> </li> <li> <p> <span>Nullable</span>: Select the checkbox in                           an individual column to define the column to be nullable, that is, to                           allow empty rows in this column to go to the output flow regardless of                           the base schema definition. To define all columns to be nullable, select                           the checkbox in the table header.</p> </li> <li> <p> <span>Max length</span>: Select the checkbox in                           an individual column to verify the data length of the column against the                           length definition of the base schema. To carry out this verification on                           all the columns, select the checkbox in the table header.</p> </li> </ul> |
| Use another schema for compliance<br>check | In order to reject the non-compliant data, define a reference<br>schema as you expect the data to be.<br><br>It can be restrictive on data type, null values, and<br>length. |
| Check columns from a JSON schema URI | This option is available from Talend Studio 8.0 R2026-05 onwards.<br><br><br>Select this option to validate the data against a<br>JSON schema.<br><br>Enter the JSON schema URI in double<br>quotes. |
| Trim the excess content of column when<br>length checking chosen and the length is greater than defined<br>length | Select this checkbox to truncate the data that exceeds the<br>length specified rather than reject it.<br><br>Information noteRestriction:<br><br>This option is applicable only on data of String type.<br><br>This option is not available when Check columns from a JSON schema<br>URI is selected. |

## Advanced settings

The advanced settings depends on the Mode selected in the Basic settings.

This table describes the advanced settings when Check columns from a JSON schema URI is selectedThis table describes the advanced settings when Check columns from a JSON schema URICheck columns from a JSON schema URI is selected

| Properties | Description |
| --- | --- |
| Set JSON schema draft version when it's not defined in the<br>schema file | Starting with the 8.0.1-R2026-08 Talend Studio monthly,<br>the component automatically detects the draft version from the $schema<br>declaration in the JSON schema when the declaration is available and supported. Select the<br>checkbox to use the JSON schema draft version dropdown list when<br>$schema is missing or empty, or when its value is unsupported. Existing<br>Jobs without a $schema declaration continue to use the selected draft<br>version.<br><br>For more information, see [json-schema.org](https://json-schema.org/specification). |
| JSON schema file encoding | Select the encoding of the schema file. |

This table describes the advanced settings when Check columns from a JSON schema URI is not selectedThis table describes the advanced settings when Check columns from a JSON schema URICheck columns from a JSON schema URI is not selected

| Properties | Description |
| --- | --- |
| Use Fastest Date Check | Select this checkbox to perform a fast date format check using the *TalendDate.isDate()* method of the *Talend Date* system routine if *Date pattern* is<br>not defined. For more information about routines, see [What are routines](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/what-are-routines). |
| Use Strict Data Check | Select this checkbox to perform a strict data format check. When<br>selected, the Use Fastest Data Check checkbox is<br>hidden. |
| Ignore TimeZone when Check Date | Select this checkbox to ignore the time zone setup upon<br>date check.<br><br>This option is not available when Check all columns from schema is<br>selected. |
| Treat all empty string as NULL | Select this checkbox to treat any empty fields in any<br>columns as null values, instead of empty strings.<br><br>By default, this checkbox is selected. When it is<br>cleared, the Choose Column(s)<br>table shows to let you select individual columns. |
| Check string by byte length | Select this checkbox to check the string column with byte length<br>according to the charset set in the Charset text<br>box.<br><br>By default, this checkbox is not selected and only character length is<br>checked. |
| tStatCatcher Statistics | Select this checkbox to collect log data at the component<br>level. |

## Global Variables

| Variables | Description |
| --- | --- |
| Global<br>Variables | 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). |

## Schema violations output

When Check columns from a JSON schema URI is selected, the component validates data against a JSON schema with advanced constraints, invalid rows are sent to the Rejects flow with structured violation metadata.

| Information | Description |
| --- | --- |
| All input columns | Pass-through from input. All input column values are preserved unchanged in the Rejects flow. |
| ErrorType | Type of the error. |
| ErrorCode | Code identifying the type of schema violation encountered. |
| ErrorMessage | Error message summarizing the violation. |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | This component is an intermediary step in the flow allowing to<br>exclude from the main flow the non-compliant data. This component cannot be a<br>start component as it requires an input flow. It also requires at least one<br>output component to gather the validated flow, and possibly a second output<br>component for rejected data using Rejects link. For more information, see [Rejects](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/rejects). |