---
title: SAIF.Business.Claim.SupportOrder business rules
summary: Enumerated business rules with per-rule trigger, enforcement, and outcomes.
status: draft
owner: SAIF
last_reviewed: 2026-07-28
library: SAIF.Business.Claim.SupportOrder
reference_type: package
---

# SAIF.Business.Claim.SupportOrder business rules

This page captures business rules enforced by this library.

## BR-001: Support-order updates require a current row version

| Field | Value |
| --- | --- |
| **Statement** | Updating a support-order row requires the caller's `UPDATE_NUM` value to match the current database row. |
| **Trigger** | When `clsClaimSupportOrder` performs an update. |
| **Enforcement** | `clsClaimSupportOrder.Criteria.UpdateSQL` constrains the update by `WORKER_ID` and `UPDATE_NUM`. |
| **Outcome** | Stale updates affect zero rows and are treated as contention. |
| **Tables** | [CL_CLAIM_SUPPORT_ORDER](database-tables.md#cl-claim-support-order) |
| **SQL** | [SQL-006](sql/sql-006-update.md) |
| **Source** | `Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrder.vb` |

---

## BR-002: Support-order inserts and updates must affect one row

| Field | Value |
| --- | --- |
| **Statement** | Support-order insert and update operations must report exactly one affected row. |
| **Trigger** | After a support-order insert or update completes. |
| **Enforcement** | `clsClaimSupportOrder.AfterInsert` and `AfterUpdate` raise BOF contention errors when `RowsAffected <> 1`. |
| **Outcome** | Consumers receive an explicit concurrency failure instead of assuming success. |
| **Tables** | [CL_CLAIM_SUPPORT_ORDER](database-tables.md#cl-claim-support-order) |
| **SQL** | [SQL-001](sql/sql-001-insert.md), [SQL-006](sql/sql-006-update.md) |
| **Source** | `Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrder.vb` |

---

## BR-003: Connection deletes must affect one row

| Field | Value |
| --- | --- |
| **Statement** | Deleting a support-order connection must affect exactly one connection row. |
| **Trigger** | After a connection delete request finishes. |
| **Enforcement** | `clsClaimSupportOrderConnection.AfterDelete` raises a contention error when the delete does not affect one row. |
| **Outcome** | Delete failures are surfaced to the caller. |
| **Tables** | [CL_CLAIM_SUPPORT_ORDER_CONN](database-tables.md#cl-claim-support-order-conn) |
| **SQL** | [SQL-008](sql/sql-008-delete.md) |
| **Source** | `Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnection.vb` |

---

## BR-004: Connection inserts must affect one row

| Field | Value |
| --- | --- |
| **Statement** | Creating a support-order connection must insert exactly one link row. |
| **Trigger** | After a connection insert finishes. |
| **Enforcement** | `clsClaimSupportOrderConnection.AfterInsert` raises a contention error when `RowsAffected <> 1`. |
| **Outcome** | Connection-save failures are visible to consumers. |
| **Tables** | [CL_CLAIM_SUPPORT_ORDER_CONN](database-tables.md#cl-claim-support-order-conn) |
| **SQL** | [SQL-002](sql/sql-002-insert.md) |
| **Source** | `Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnection.vb` |

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

## Sources
- `Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrder.vb`
- `Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnection.vb`
