Skip to content

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.Maintenance implementation.
  • clsClaimSupportOrderConnectionCollection.DeleteConnection matches its argument against SupportOrderID rather than ClaimID; see Support order connection management for the full analysis.
  • Connections are not cascaded from the header's Save(); callers must persist the header and its Connections collection as two separate save operations.

Sources

  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrder.vb
  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderCollection.vb
  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnection.vb
  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnectionCollection.vb