---
title: Retrieve class coverages for a premium set
summary: Retrieve class coverages.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
operation_id: OP-002
trigger: Premium detail display, recalculation, or reporting
---

# Retrieve class coverages for a premium set

Premium detail display, recalculation, or reporting

| Field | Value |
| --- | --- |
| **Operation ID** | OP-002 |
| **Trigger** | Premium detail display, recalculation, or reporting |
| **Inputs** | Premium set identifier; optionally an affiliate identifier |
| **Outputs** | clsClassCoverageCollection populated with clsClassCoverage items |
| **Primary components** | `clsClassCoverageCollection.GetClassCoverages (two overloads)` |
| **Entry point** | `Business\SAIF.Business.Policy.Premium\clsClassCoverageCollection.vb` |

## Steps

1. The caller selects a retrieval mode via `clsClassCoverageCollection.RetrieveType` (`ByPremiumSet` or `ByPremiumSetAndAffiliate`).
2. The collection `Criteria.RetrieveSQL` is chosen accordingly. *(SQL: `PREM_HIST_CLASS_COVERAGE`, optionally `@POLDB`-suffixed.)*
3. `BeforeRetrieve` obtains a portal request (`clsClassCoverage.vb:397`), applies the SQL and parameters.
4. `ProcessPortalRequest` executes; `AfterRetrieve` loops the reader and constructs one `clsClassCoverage` per row, calling `Fill()`/`MarkOld()` on each.
5. Validation rules [BR-001](../business-rules.md#br-001-manual-class-number-is-required) through [BR-007](../business-rules.md#br-007-manual-class-type-must-match-the-base-class) are registered on each item during construction and will fire when `IsValid` is evaluated.
6. Branch: an empty result yields an empty collection rather than an error.*

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid

flowchart TD

    Start([Trigger]) --> S1[Step 1]

    S1 --> S2[Step 2]

    S2 --> EndOk([Outputs returned])

```

## Failure and edge-case behavior

- See the linked rules and SQL references above for validation failures, null-handling, and persistence contention behavior.

## Related documentation

- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **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.Premium\clsClassCoverageCollection.vb`
- `Business\SAIF.Business.Policy.Premium\clsClassCoverage.vb`
