---
title: "SQL-023: Insert cancellation reason collection"
summary: "Insert cancellation reason collection"
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Core
reference_type: package
---

# SQL-023: Insert cancellation reason collection

Insert cancellation reason collection in the context of `clsCancellationReasonCollection`.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-023 |
| **Operation type** | Insert |
| **Execution method** | IDataRequest.SQLStatement (CommandType.Text) |
| **Database** | Oracle |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsCancellationReasonCollection` |
| **Criteria property** | `InsertSQL` |
| **Lifecycle method** | `BeforeInsert / AfterInsert` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:DueDays` | Input | bound from `DueDays` | - | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 496) |
| `:GraceDueDays` | Input | bound from `GraceDueDays` | - | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 497) |
| `:CancelDays` | Input | bound from `CancelDays` | - | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 498) |
| `:Code` | Input | bound from `Code` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 499) |
| `:CodeDescr` | Input | bound from `CodeDescr` | 65 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 500) |
| `:NcciCancelCode` | Input | bound from `m_NCCICancelCode` | 2 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 510) |
| `:CertholderNoticeFlag` | Input | bound from `m_CertholderNoticeFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 511) |
| `:CancelTypeCode` | Input | bound from `CancelTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 501) |
| `:BatchReasonFlag` | Input | bound from `BatchReasonFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 502) |
| `:CHNoticeTypeCode` | Input | bound from `m_CHNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 512) |
| `:HoldPrintFlag` | Input | bound from `m_HoldPrintFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 513) |
| `:PHCancelNoticeTypeCode` | Input | bound from `m_PHCancelNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 514) |
| `:PHIntentNoticeTypeCode` | Input | bound from `m_PHIntentNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 515) |
| `:PmsCancelReasonCode` | Input | bound from `PMSCancelReasonCode` | - | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 503) |
| `:RequestDetailFlag` | Input | bound from `RequestDetailFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 504) |
| `:UslhwNoticeTypeCode` | Input | bound from `m_USLHWNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 516) |
| `:NoticeDesc` | Input | unknown | - | Bind variable present in SQL text; no matching `AddParm` located - unknown** |
| `:CreditReasonFlag` | Input | bound from `CreditReasonFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 505) |
| `:UslhwIntentNoticeTypeCode` | Input | bound from `m_USLHWIntentNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 518) |
| `:CancellationCategoryCode` | Input | bound from `m_CancellationCategoryCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 519) |
| `:ShortRateDefaultFlag` | Input | bound from `ShortRateDefaultFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 506) |
| `:PrintCancelNoticeFlag` | Input | bound from `PrintCancelNoticeFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 507) |
| `:CancelNoticeDescr` | Input | unknown | - | Bind variable present in SQL text; no matching `AddParm` located - unknown** |
| `:DelayDays` | Input | bound from `DelayDays` | - | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 508) |
| `:ReinstateReasonCode` | Input | bound from `m_ReinstateReasonCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 521) |
| `:PHReminderTypeCode` | Input | bound from `m_PHReminderTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 522) |
| `:ArpDepositDays` | Input | bound from `ARPDepositDays` | - | Bound in `clsCancellationReasonCollection.BeforeInsert` (line 509) |

## Tables

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

## Sample SQL

```sql
INSERT INTO
  CANCEL_REASON_CODE
  (
    DUE_DAYS,
    GRACE_DUE_DAYS,
    CANCEL_DAYS,
    CODE,
    CODE_DESCR,
    NCCI_CANCEL_CODE,
    CERTHOLDER_NOTICE_FLAG,
    CANCEL_TYPE_CODE,
    BATCH_REASON_FLAG,
    CH_NOTICE_TYPE_CODE,
    HOLD_PRINT_FLAG,
    PH_CANCEL_NOTICE_TYPE_CODE,
    PH_INTENT_NOTICE_TYPE_CODE,
    PMS_CANCEL_REASON_CODE,
    REQUEST_DETAIL_FLAG,
    USLHW_NOTICE_TYPE_CODE,
    NOTICE_DESC,
    CREDIT_REASON_FLAG,
    USLHW_INTENT_NOTICE_TYPE_CODE,
    CANCELLATION_CATEGORY_CODE,
    SHORT_RATE_DEFAULT_FLAG,
    PRINT_CANCEL_NOTICE_FLAG,
    CANCEL_NOTICE_DESCR,
    DELAY_DAYS,
    REINSTATE_REASON_CODE,
    PH_REMINDER_TYPE_CODE,
    ARP_DEPOSIT_DAYS
  )
VALUES
  (
    :DueDays,
    :GraceDueDays,
    :CancelDays,
    :Code,
    :CodeDescr,
    :NcciCancelCode,
    :CertholderNoticeFlag,
    :CancelTypeCode,
    :BatchReasonFlag,
    :CHNoticeTypeCode,
    :HoldPrintFlag,
    :PHCancelNoticeTypeCode,
    :PHIntentNoticeTypeCode,
    :PmsCancelReasonCode,
    :RequestDetailFlag,
    :UslhwNoticeTypeCode,
    :NoticeDesc,
    :CreditReasonFlag,
    :UslhwIntentNoticeTypeCode,
    :CancellationCategoryCode,
    :ShortRateDefaultFlag,
    :PrintCancelNoticeFlag,
    :CancelNoticeDescr,
    :DelayDays,
    :ReinstateReasonCode,
    :PHReminderTypeCode,
    :ArpDepositDays
  )
```

## Operations and processes
- [Record a cancellation reason override](../operations/record-a-cancellation-reason-override.md)

## Business rules
- [BR-033: New sequence values for writable entities are obtained](../business-rules.md#br-033-new-sequence-values-for-writable-entities-are-obtained)

> **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.Core\clsCancellationReasonCollection.vb`
