---
title: "Defining a Source"
canonical: "https://docs.vaultspeed.com/space/VPD/3011444825/Defining%20a%20Source"
format: markdown
---
In VaultSpeed, the first step in the workflow is **defining sources**. Once a source is created, you can configure its model by specifying **HUB/SAT tables, Link objects, and business keys**. Later, individual sources can be integrated into a **unified Data Vault model**.

To define a new source, **select the Project** from the toolbar on the **right-hand side**.

![image](media://932b33e3-016c-45f7-8fed-a654e0eac78f)


### Creating a New Source

Click **"+ Source"** to create a new source.

![image](media://7d9b4279-3c53-4db5-85cc-eb07fdab85fe)

### Filling in Source Details

Once the **"Add New Source"** window appears, fill in the required fields as described below.

![image](media://82ac0fdb-d497-4cf7-a7d9-658962ddf714)

 **1. Define Source Properties**

| **Field** | **Description** |
| --- | --- |
| **Name** | A unique name for the source within the project. |
| **Project Name** | The project to which this source belongs. |
| **Short Name** | A system short name (e.g., `DEMO`), used in satellite table naming (e.g., `SAT_DEMO_PRODUCTS`). |
| **Record Source Name** | An optional field that helps uniquely identify the source in the HUB. |
| **Business Key Collision Code (BKCC)** | The value inserted into the **Source Business Key Column** for **Multi-Primary Hubs** (see [Multi-Primary Hubs](https://docs.vaultspeed.com/space/VPD/3010723917?utm_source=chatgpt.com)) and **Satellite Splitting** (see [Satellite Splitting](https://docs.vaultspeed.com/space/VPD/3011117094/Satellite%2BSplitting?utm_source=chatgpt.com)).<br>This value does **not need to be unique** across sources. You can configure multiple sources to use the same BKCC for **passive integration**.<br>> ⚠️ **Warning***:* Duplicate BKCCs require **sequential loads** of common HUBs and LINKS.<br>See [Configuring Sources with Shared Business Key Collision Codes (BKCCs)](https://vaultspeed.atlassian.net/wiki/spaces/VPD/pages/4463820929) for full guidance. |

### 2. Configuring Record Source Name

The **Record Source Name** is influenced by three parameters, all defined at the **Data Vault level**:

| **Parameter** | **Description** |
| --- | --- |
| **ADD_RECORD_SOURCE_ATTRIBUTE** | Adds an extra column to the HUB to store the record source attribute. |
| **RECORD_SOURCE** | Specifies the column that stores the record source value in the HUB. |
| **RECORD_SOURCE_VALUE_TEMPLATE** | Defines a **template** for how the record source is stored (can be template-based or hardcoded). |

#### **Available Templates:**

Templates must always be in **lowercase** and use placeholders such as:

- `<record_src_name>` – Uses the value from the **Record Source Name** field.
- `<table_name>` – Uses the full table name as the record source.
- `<table_short_name>` – Uses an abbreviated version of the table name.

The system replaces these placeholders with actual values during **code generation**.

### 3. Selecting a Change Data Capture (CDC) Mode

CDC defines how the system tracks **INSERTs, UPDATEs, and DELETEs** in the source. Choose the appropriate mode based on how your source handles changes:

| **CDC Mode** | **Description** |
| --- | --- |
| **Incremental Load (Modification Flag & Date)** | The source system maintains Change Tables recording INSERTs, UPDATEs, and DELETEs. |
| **Incremental Load (Modification Date)** | Uses a timestamp column but does not detect deletes. |
| **Incremental Load (Modification Sequence)** | Uses a sequence number for tracking updates (deletes not detected). Requires `CDC_BASED_LOADING_WINDOW`. |
| **Incremental Load (Basic)** | Detects only new and updated records (no delete tracking). |
| **Full Load (Modification Date)** | The full dataset is loaded each run; deletes are detected using a timestamp column. |
| **Full Load (Modification Sequence)** | The full dataset is loaded; deletes are tracked using a sequence number. Requires `CDC_BASED_LOADING_WINDOW`. |
| **Full Load (Basic)** | The full dataset is always reloaded, and missing records are marked as deleted. |

🔗 **More details:** [CDC-Based Loading Windows](https://vaultspeed.atlassian.net/wiki/spaces/VPD/pages/3081633856).

### 4. Configuring CDC Parameters

If the **Modification Flag & Date, Modification Date, or Modification Sequence** option is selected, additional parameters must be configured:

| **CDC Mode** | **Required Parameter** | **Configuration** |
| --- | --- | --- |
| **Modification Date** | `CDC_TIMESTAMP` | Defines the timestamp field for change tracking. |
| **Modification Flag & Date** | `CDC Parameters` | Set the appropriate CDC options under **CDC Parameters** in the source settings. |
| **Full Load with Delete Management** | None | Deletes are automatically detected based on missing records in each full data dump. |

If a source contains a **mix of CDC types**, select the mode that applies to the **largest number of tables**, then refine settings at the **object level**.

### **5. Selecting a Source Type**

VaultSpeed supports two metadata collection methods:

| **Source Type** | **Description** |
| --- | --- |
| **Agent** | Parses metadata from a database model. Requires a **Database Link** and **Physical Schema**. |
| **File** | Parses metadata from uploaded files. No data is uploaded, only the metadata structure. |

#### **Handling Multiple Schemas**

If multiple **physical schemas** exist in the same database, a separate **source definition** must be created for each schema.

🔗 **More details:** [Database Link Configuration](https://vaultspeed.atlassian.net/wiki/spaces/VPD/pages/3011379586).

### **6. Ignoring a Source**

- Enabling the **Ignored Flag** **excludes** the source from the Data Vault model but retains its metadata.
- This is useful for **temporary deactivation** without fully removing the source configuration.

### **7. Finalizing the Source Configuration**

1. Click **"Create"** to save the source.
2. Open the **"Parameters"** menu from the **Actions** menu on the right-hand side.
3. Review and configure the following:
  - **CDC Parameters** (Categories: **"CDC parameters"** and **"Attribute names"**).
  - **Schema Names** (automatically set based on the source name but can be manually adjusted).

🔗 **For advanced configuration, refer to the **[Schema Names Parameter documentation](https://vaultspeed.atlassian.net/wiki/spaces/VPD/pages/3012755470).

![image](media://f945419e-bf9d-418e-a09c-b5df36777d7a)