Documentation
Getting Started
Data Grid
Modeling
Business Rules
Approvals
Users, Roles & Security
Administration
Installation
Migrating from MDS
Architecture

Integration Views

Integration views expose entity data as real SQL views in the [mdm] schema. Any system that can read SQL Server — a BI tool, an ETL package, a reporting service — can query them directly.

A view is generated from the entity's current attributes. Primentra stores a snapshot of the columns it deployed, and compares that snapshot against the entity to detect drift.

Watch it done in 3:35 — a flat view read column by column, a hierarchy view built over Store, and the drift a new column causes found and synced:

How to expose master data as a SQL view in Primentra

View types

TypeWhat it contains
FlatColumns from a single entity
HierarchyThe entity's columns plus the columns of every entity it references through a domain attribute

A hierarchy view expands one level of parents. If Order references Customer, the hierarchy view carries the Order columns and the Customer columns side by side.

Creating a view

  1. Go to Settings → Integration Views.
  2. Click New view.
  3. Select the entity and the view type. The name is suggested for you as vw_<Entity>_Flat or vw_<Entity>_Hierarchy.
  4. Clear the checkbox of any column you do not want to expose.
  5. Click Create view. The button reads Save when you edit a view that already exists.

The SQL view is deployed to [mdm].[<viewName>] immediately. A duplicate name is refused with a message instead of overwriting the existing view.

Column names

Every column is prefixed with the entity's table name, so a hierarchy view never has two columns with the same name.

AttributeColumns produced
Built-in keys<Entity>_ID, <Entity>_Code, <Entity>_Name
Text, Integer, Decimal, DateTime, Boolean<Entity>_<Attribute>
Domain<Entity>_<Attribute>_ID and <Entity>_<Attribute>_Code
Timestamps<Entity>_CreatedAt, <Entity>_ModifiedAt

A domain attribute produces two columns on purpose. The _ID column holds the internal row id; the _Code column holds the business key the other system already recognizes. Join on the code.

When an entity references the same parent twice — an invoicing customer and a delivery customer — the parent columns carry the attribute name that reached them, for example InvoicingCustomer_Code beside DeliveryCustomer_Code.

Views created before version 1.2026.8.2 keep their old column names until you regenerate or edit them. Check what reads those columns before you sync.

Copyable query

Each view shows a ready-to-run snippet, for example SELECT * FROM [mdm].[vw_Branch_Flat]. Click it to copy.

Finding a view

The Integration Views list, grouped by model, with the cards and list toggle, the filters, and the panel naming entities that have no view
The Integration Views list, grouped by model, with the cards and list toggle, the filters, and the panel naming entities that have no view(click to enlarge)

Cards or list

Two ways to read the same views:

  • Cards — one card per view, with the copyable query and the full column detail. Best when you work on a single view.
  • List — one row per view, grouped by model: name, type, entity, column count and status. Every column header sorts. Best when you want to see everything at once.

Your choice is remembered per browser. Cards is the default.

Filters

ControlWhat it does
All modelsLimits the list to one model
All entitiesLimits the list to one entity
Include hierarchyAppears once an entity is chosen. Also shows views of entities that reference it, and their children
SearchMatches on view name, entity name or model name
Needs attention onlyShows only views with drift

The count on the right — for example *7 of 12 views shown* — tells you how much the filters hide.

Include hierarchy only appears after you pick an entity, and it is on by default. A hierarchy of "all entities" is all entities, so the option would mean nothing.

Entities with no view

A panel above the list names every active entity that has no integration view: *"10 entities have no integration view — nothing downstream can read them yet."*

  1. Open the panel.
  2. Tick the entities you want, or click Select all.
  3. Click Create flat views.

Each entity gets a flat view named vw_<Entity>_Flat, built exactly as the form would build it — including the column snapshot, without which every new view would report drift at once.

Bulk creation always makes flat views. A hierarchy view depends on which references to follow, and guessing that for ten entities produces ten views somebody has to inspect anyway.

Drift detection

When an entity's attributes change, the deployed view no longer matches. That mismatch is called drift.

SeverityCauseStatus chip
ErrorColumns were removed. The view is brokenBroken (red)
WarningColumns were added, types changed, or an excluded column no longer existsChanged (orange)

A view that matches its entity shows In sync (green). Hover the chip to read exactly what changed, column by column.

Drift is also reported in:

  • A banner above the Integration Views list
  • A badge on the notification bell
  • The drift warnings section of the dashboard

Regenerating a view

One view. Click the regenerate icon on its row in the list. The snapshot is refreshed and the SQL view is redeployed.

Every view. Click Sync all views in the header. A confirmation dialog names each affected view and lists its removed columns, new columns, type changes and stale exclusions before anything runs.

Sync all views is disabled when nothing has drifted. Use the per-row regenerate icon when you want to redeploy a view that is already in sync.

Ready to get started?

Start managing your master data with Primentra today.

View Pricing
Integration Views | Integration & API | Docs | Primentra