SAIF.Business.Claim.SupportOrder operations and processes¶
This page is the operation catalog and cross-operation hub for SAIF.Business.Claim.SupportOrder. The library exposes two operations: retrieval and CRUD maintenance of the CL_CLAIM_SUPPORT_ORDER header row for a worker, and management of the CL_CLAIM_SUPPORT_ORDER_CONN link rows that connect individual claims to a support order. Each operation's detailed, step-by-step logic lives in its own page under operations/.
This library implements support orders through inline CRUD SQL with no registered business rules. SAIF.Business.Claim.Maintenance separately documents a richer "Support order management" operation over the same domain concept (clsClaimSupportOrder, clsClaimSupportOrderConnection), built against the same tables but implemented through the PK82141_SUPPORT_ORDER Oracle package with a full validation rule set, to-do task derivation, and delete-blocking checks. Source tracing found no code path in this library that calls into, or is called by, that implementation — the two class hierarchies are distinct and are documented independently here rather than as one merged operation.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Support order retrieval and maintenance | Retrieve support-order header rows for a worker and create, update, or delete a single order | clsClaimSupportOrder.NewClaimSupportOrder / clsClaimSupportOrderCollection.GetClaimSupportOrderCollection, edits, then Save() |
WorkerID, caller-assigned SupportOrderID, header fields, optional AllClaimFlag filter |
Persisted or retrieved CL_CLAIM_SUPPORT_ORDER row(s); InsertError/UpdateError on contention |
BR-001, BR-002 | CL_CLAIM_SUPPORT_ORDER | SQL-001, SQL-003, SQL-004, SQL-006, SQL-007 |
| Support order connection management | Attach or detach a claim connection for a support order | clsClaimSupportOrderConnectionCollection.GetClaimSupportOrderConnectionCollection / CreateConnection / DeleteConnection, then Save() |
SupportOrderID, ClaimID values, acting user (create only) |
Persisted or removed CL_CLAIM_SUPPORT_ORDER_CONN row(s); InsertError/DeleteError on contention |
BR-003, BR-004 | CL_CLAIM_SUPPORT_ORDER_CONN | SQL-002, SQL-005, SQL-008 |
Process flow diagram¶
The following diagram shows how the two operations relate: a header order is retrieved or created and maintained, while its claim connections are retrieved and maintained as a separate collection that is not saved automatically with the header.
flowchart TD
Start([Caller requests support-order data]) --> Header[Support order retrieval<br>and maintenance]
Header --> HeaderSave{Save header}
HeaderSave --> HeaderRows{RowsAffected = 1?}
HeaderRows -->|No, insert/update| HeaderErr([InsertError / UpdateError added])
HeaderRows -->|Yes| HeaderOk([Header persisted])
HeaderRows -->|Delete: no check| HeaderDelOk([Row deleted; no confirmation])
Header -->|Connections property| Conn[Support order connection<br>management]
Conn --> ConnEdit[CreateConnection / DeleteConnection]
ConnEdit --> ConnSave{Save connections<br>separately}
ConnSave --> ConnRows{RowsAffected = 1?}
ConnRows -->|No| ConnErr([InsertError / DeleteError added])
ConnRows -->|Yes| ConnOk([Connection persisted or removed])
Database interactions¶
The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under operations/.
| Operation | SQL | Tables | Type |
|---|---|---|---|
| Support order retrieval and maintenance | SQL-001, SQL-003, SQL-004, SQL-006, SQL-007 | CL_CLAIM_SUPPORT_ORDER | Read / Write |
| Support order connection management | SQL-002, SQL-005, SQL-008 | CL_CLAIM_SUPPORT_ORDER_CONN | Read / Write |
Failure and edge-case behavior¶
- Optimistic concurrency is checked only on the header update (BR-001) and on the rows-affected count after every insert/update (BR-002, BR-004) and delete (BR-003) on connections. The header delete path performs no such check at all — see Support order retrieval and maintenance.
- No business rules are registered on either the header or the connection classes, so this library performs no field-level validation of amounts, dates, or flag values before saving — a material difference from the equivalent
SAIF.Business.Claim.Maintenanceimplementation. clsClaimSupportOrderConnectionCollection.DeleteConnectionmatches its argument againstSupportOrderIDrather thanClaimID; see Support order connection management for the full analysis.- Connections are not cascaded from the header's
Save(); callers must persist the header and itsConnectionscollection as two separate save operations.
Related documentation¶
Sources¶
Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrder.vbBusiness\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderCollection.vbBusiness\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnection.vbBusiness\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnectionCollection.vb