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

Processing & Errors

Rows sit in the staging table until a batch picks them up. This page covers running a batch, reading what failed, and clearing up afterwards.

Watch a batch fail and get fixed in eight minutes — good rows land while bad ones stay behind with an error code, the detail panel names the value that was rejected, and a corrected retry clears them:

How to read and fix staging errors in Primentra

Viewing staged data

The Staging Data tab shows every row currently in the staging table.

The Staging Data tab with status filters, the batch toolbar and the row grid
The Staging Data tab with status filters, the batch toolbar and the row grid(click to enlarge)

Status filters

Each filter button carries a count badge:

  • All — every row
  • Ready — unprocessed rows (ImportStatus = 0)
  • OK — successfully processed rows (ImportStatus = 1)
  • Error — rows that failed (ImportStatus = 2)
  • Processing — rows currently being processed (ImportStatus = 3)

The grid

The grid shows the system columns Action, Status, Code and New Code, then every attribute column, then Source, Created and Error.

  • Status is a color-coded badge: grey (Ready), green (OK), red (Error), blue (Processing)
  • Error shows the error code as a red badge. Hover it for the human-readable description
  • The grid scrolls horizontally when the entity has many attributes
  • Pages hold 50 rows, with Prev and Next

Processing a batch

  1. Open the Staging Data tab.
  2. Optionally type a Batch tag to process only the rows that were staged with that tag, for example SSIS_2026-08-15. Leave it empty to process every Ready row. A tag that no staged row carries processes nothing.
  3. Click Process Batch.

The engine takes every row with ImportStatus = 0 and:

  1. Claims the rows into a new batch in a single step, so a row can only ever belong to one batch
  2. Validates each row — required fields, data types, code uniqueness, domain references
  3. Applies the configured merge mode per field
  4. Runs the import action (insert, update, delete)
  5. Marks each row OK (1) or Error (2) with an error-code bitmask

A progress bar shows how far the run has got.

Clearing up

ButtonWhat it removes
Retry FailedNothing. It puts failed rows back in the queue as Ready
Clear FailedFailed rows. They are never removed by retention, so this is the way
Clear ProcessedRows with ImportStatus = 1 across every batch

Retry Failed clears each row's error and its recorded reason, sets it back to Ready, and detaches it from the batch it failed in, so the next run treats it as new. Correct the values in the staging table first. The button is disabled when nothing has failed.

Batches that never finish

A batch that stops halfway — a dropped connection, a server restart mid-import — leaves its rows marked *Processing*. Only *Ready* rows are picked up, so those rows would otherwise sit there permanently: never imported, never reported as failed, invisible to a retry.

Recovery releases them back to Ready and closes the dead batch as Failed, noting how many rows it freed. A batch that is genuinely still running is left alone — it is recognized by its heartbeat, not by its age.

Error codes

A failed row's ErrorCode column holds a bitmask. Several errors can occur on one row, combined with bitwise OR.

Row-level errors

CodeNameDescription
1Duplicate codeTwo or more rows in the same batch have the same code
2Code requiredThe Code column is empty. Not raised for an insert (ImportAction 0 or 1) on an entity that auto-generates codes. Always raised for update, delete and rename, which have nothing to match on without it
4Code already existsInsert-only action, but the code already exists in production
8Code not foundUpdate or delete action, but the code does not exist in production
16Invalid ImportActionThe value is not one of 0, 1, 2, 3, 5
64Delete blockedCannot delete because other entities reference this row

Field-level errors

CodeNameDescription
128Required field emptyA required attribute has no value
256Text too longThe value exceeds the attribute's maximum length
512Invalid integerThe value cannot be converted to an integer
1024Invalid decimalThe value cannot be converted to a decimal
2048Invalid datetimeThe value cannot be converted to a date or time
4096Invalid booleanThe value is not a recognized boolean
8192Domain not foundThe referenced code does not exist in the target entity

Code rename errors

CodeNameDescription
32768NewCode already existsThe NewCode value already exists in production
65536Duplicate NewCodeTwo or more rows in the same batch have the same NewCode

System errors

CodeNameDescription
131072Processing failedAn unexpected error occurred while processing the row

Reading a combined code. ErrorCode = 130 is 128 + 2 — both "Required field empty" and "Code required".

Batch history

The Batch History tab lists every past run. Click a batch row to expand its error detail panel; click it again to collapse.

The Batch History tab with a completed batch expanded to show its per-row errors
The Batch History tab with a completed batch expanded to show its per-row errors(click to enlarge)

Batch list

ColumnDescription
BatchThe batch id
TagThe batch tag, if one was given
StatusQueued, Running, Completed, Completed w/ Errors, or Failed
TotalRows in the batch
OKRows processed successfully
ErrorsRows that failed
SkippedRows skipped during processing
Started / CompletedWhen the run started and finished
ByThe user who started the batch, or the scheduler trigger source

Error details

The expanded panel lists every failed row with its row id, code, attribute name, staged value, error-code badge and message.

Click Export CSV to download them. The file is named {entityName}_batch_{batchId}_errors.csv and holds Row ID, Code, Attribute, Staged Value, Error Code and Message.

Clear history

Clear History removes all completed and failed batch records, together with their staging rows and error details. Running and queued batches are kept.

Ready to get started?

Start managing your master data with Primentra today.

View Pricing
Processing & Errors | Integration & API | Docs | Primentra