﻿---
title: "SQL-017: Insert classcoverage"
summary: Insert classcoverage
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
---

# SQL-017: Insert classcoverage

Insert classcoverage in the context of `clsClassCoverage`.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-017 |
| **Operation type** | Insert |
| **Execution method** | NonQuery |
| **Database** | Oracle |
| **Command type** | Text |
| **Schema** | N/A — accessed via DB link @POLDB (Policy database) |
| **Business object** | `clsClassCoverage` |
| **Criteria property** | `InsertSQL` |
| **Lifecycle method** | BeforeInsert / AfterInsert |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:ClassCoverageSequenceNumber` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:PremiumSetID` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ManualClassNum` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:RateFileSequenceNum` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:EffectiveDate` | Input | Date | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ExpirationDate` | Input | Date | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:EmployeeRatingTypeCode` | Input | String* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ManualClassTypeCode` | Input | String* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:RateTypeCode` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ManualClassRate` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:LocationSequenceNumber` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:AnnualPayroll` | Input | Unknown* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ParentLocationSequenceNumber` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:PeriodPayroll` | Input | Unknown* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:PeriodPremium` | Input | Unknown* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:PremiumCalculationAmount` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:PolicyPeriodEffectiveDate` | Input | Date | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:PolicyNumber` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:BusinessSequenceNumber` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:AffiliateID` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:UpdateDate` | Input | Date | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:UpdateUser` | Input | Date | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:AffiliateEffectiveDate` | Input | Date | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ActualPayroll` | Input | Unknown* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:WaivedPayrollFlag` | Input | String (Y/N)* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:ActualPremiumAmount` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |
| `:DisplaySortNumber` | Input | Numeric* | *inferred/unknown* | Bind variable in clsClassCoverage.InsertSQL. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PREM_HIST_CLASS_COVERAGE](../database-tables.md#prem_hist_class_coverage) | INSERT | See sample SQL |

## Sample SQL

```sql
Insert into PREM_HIST_CLASS_COVERAGE (
  CLASS_COV_SEQ_NUM,
  PREM_HIST_SET_ID,
  MANUAL_CLASS_NUM,
  RATE_FILE_SEQ_NUM,
  MANUAL_CLASS_EFF_DATE,
  MANUAL_CLASS_EXP_DATE,
  EMPLOYEE_RATING_TYPE_CODE,
  MANUAL_CLASS_TYPE_CODE,
  RATE_TYPE_CODE,
  MANUAL_CLASS_RATE,
  LOC_SEQ_NUM,
  MANUAL_CLASS_ANNUAL_PAYROLL,
  PARENT_LOC_SEQ_NUM,
  MANUAL_CLASS_PERIOD_PAYROLL,
  MANUAL_CLASS_PERIOD_PREMIUM,
  MANUAL_CLASS_PREM_CALC_AMT,
  POLICY_PERIOD_EFF_DATE,
  POLICY_NUM,
  BUS_SEQ_NUM,
  OFFICER_SSN,
  UPDATE_DATE,
  UPDATE_USER,
  AFFILIATE_EFF_DATE,
  MANUAL_CLASS_ACTUAL_PAYROLL,
  WAIVED_PAYROLL_FLAG,
  MANUAL_CLASS_ACTL_PREM_AMT,
  DISPLAY_SORT_NUM)
Values (
  :ClassCoverageSequenceNumber,
  :PremiumSetID,
  :ManualClassNum,
  :RateFileSequenceNum,
  :EffectiveDate,
  :ExpirationDate,
  :EmployeeRatingTypeCode,
  :ManualClassTypeCode,
  :RateTypeCode,
  :ManualClassRate,
  :LocationSequenceNumber,
  :AnnualPayroll,
  :ParentLocationSequenceNumber,
  :PeriodPayroll,
  :PeriodPremium,
  :PremiumCalculationAmount,
  :PolicyPeriodEffectiveDate,
  :PolicyNumber,
  :BusinessSequenceNumber,
  :AffiliateID,
  :UpdateDate,
  :UpdateUser,
  :AffiliateEffectiveDate,
  :ActualPayroll,
  :WaivedPayrollFlag,
  :ActualPremiumAmount,
  :DisplaySortNumber)
```

## Operations and processes
- [Save (insert/update) a class coverage line](../operations/save-insert-update-a-class-coverage-line.md)

## Business rules
- [BR-001: Manual class number is required](../business-rules.md#br-001-manual-class-number-is-required)
- [BR-007: Manual class type must match the base class](../business-rules.md#br-007-manual-class-type-must-match-the-base-class)
- [BR-025: Rows affected must equal one for persistence success](../business-rules.md#br-025-rows-affected-must-equal-one-for-persistence-success)


> **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/clsClassCoverage.vb`
