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¶
- Remove an empty in-memory premium-audit-result child before save processing begins.
- Stop the save when the audit aggregate is invalid and return
Falseinstead of throwing for broken rules. - Save the parent before children on non-delete flows, but save children before the parent on delete flows.
- Persist child collections and optional child objects in fixed order, short-circuiting on the first failure.*
- Translate rows-affected values other than one into save errors so optimistic-concurrency problems surface back to the caller.
-
Origin: The edit/session validation and child-save cascade rely on inherited BOF behavior from
clsBusinessBaseandclsBusinessCollectionBaseinSAIF.Framework.Core.* - 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.
Related documentation¶
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