Skip to content

Save a premium audit

Premium-audit workflow detail.

Field Value
Operation ID OP-009
Trigger Caller invokes clsAudit.Save() or SaveChild()
Inputs Dirty audit aggregate, child collections, optional WCIS result payload
Outputs Persisted audit aggregate or failed save with broken rules
Primary components clsAudit.Save, SaveChild, SaveObject
Entry point Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb

Steps

  1. Remove an empty in-memory premium-audit-result child before save processing begins.
  2. Stop the save when the audit aggregate is invalid and return False instead of throwing for broken rules.
  3. Save the parent before children on non-delete flows, but save children before the parent on delete flows.
  4. Persist child collections and optional child objects in fixed order, short-circuiting on the first failure.*
  5. Translate rows-affected values other than one into save errors so optimistic-concurrency problems surface back to the caller.
  6. Origin: The edit/session validation and child-save cascade rely on inherited BOF behavior from clsBusinessBase and clsBusinessCollectionBase in SAIF.Framework.Core.*

  7. Traceability summary. Primary rules: BR-020, BR-021, BR-027, BR-028, BR-029, BR-031, BR-032, BR-035, BR-036, BR-037, BR-041, BR-051, BR-057, BR-058, BR-067, BR-069, BR-070, BR-072. SQL and Oracle calls: SQL-001, SQL-002, SQL-004, SQL-006, SQL-007, SQL-010, SQL-011, SQL-012, SQL-013, SQL-014, SQL-016, SQL-017, SQL-018, SQL-019, SQL-020, SQL-021, SQL-022, SQL-023, SQL-024, SQL-030, SQL-031, SQL-038, SQL-039, SQL-040, SQL-041, SQL-042, SQL-043, SQL-044, SQL-045, SQL-046, SQL-047, SQL-048, SQL-049, SQL-050, SQL-051, SQL-052, SQL-053, SQL-054, SQL-066, SQL-067, SQL-068, SQL-069, SQL-070, SQL-071, SQL-076, SQL-078, SQL-081, SQL-082, SQL-083, SQL-084, SQL-085, SQL-087, SQL-088, SQL-089, SQL-091, SQL-092, SQL-093, SQL-094, SQL-095.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
 Start([Trigger]) --> S1[Load context]
 S1 --> S2[Run core logic]
 S2 --> EndOk([Outcome])

Failure and edge-case behavior

  • Review the linked rule and SQL documents for operation-specific validation failures and persistence behavior.
  • Remote-wrapper SQL and not-found Oracle references are documented in the linked SQL and procedure pages where applicable.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb