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

# SQL-022: Insert cancellation reason

Insert cancellation reason in the context of `clsCancellationReason`.

## Classification

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

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:DueDays` | Input | bound from `DueDays` | - | Bound in `clsCancellationReason.BeforeInsert` (line 496) |
| `:GraceDueDays` | Input | bound from `GraceDueDays` | - | Bound in `clsCancellationReason.BeforeInsert` (line 497) |
| `:CancelDays` | Input | bound from `CancelDays` | - | Bound in `clsCancellationReason.BeforeInsert` (line 498) |
| `:Code` | Input | bound from `Code` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 499) |
| `:CodeDescr` | Input | bound from `CodeDescr` | 65 | Bound in `clsCancellationReason.BeforeInsert` (line 500) |
| `:NCCICancelCode` | Input | bound from `m_NCCICancelCode` | 2 | Bound in `clsCancellationReason.BeforeInsert` (line 510) |
| `:CertholderNoticeFlag` | Input | bound from `m_CertholderNoticeFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 511) |
| `:CancelTypeCode` | Input | bound from `CancelTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 501) |
| `:BatchReasonFlag` | Input | bound from `BatchReasonFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 502) |
| `:CHNoticeTypeCode` | Input | bound from `m_CHNoticeTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 512) |
| `:HoldPrintFlag` | Input | bound from `m_HoldPrintFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 513) |
| `:PHCancelNoticeTypeCode` | Input | bound from `m_PHCancelNoticeTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 514) |
| `:PHIntentNoticeTypeCode` | Input | bound from `m_PHIntentNoticeTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 515) |
| `:PMSCancelReasonCode` | Input | bound from `PMSCancelReasonCode` | - | Bound in `clsCancellationReason.BeforeInsert` (line 503) |
| `:RequestDetailFlag` | Input | bound from `RequestDetailFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 504) |
| `:USLHWNoticeTypeCode` | Input | bound from `m_USLHWNoticeTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 516) |
| `:NoticeDescription` | Input | bound from `m_NoticeDescription` | 254 | Bound in `clsCancellationReason.BeforeInsert` (line 517) |
| `:CreditReasonFlag` | Input | bound from `CreditReasonFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 505) |
| `:USLHWIntentNoticeTypeCode` | Input | bound from `m_USLHWIntentNoticeTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 518) |
| `:CancellationCategoryCode` | Input | bound from `m_CancellationCategoryCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 519) |
| `:ShortRateDefaultFlag` | Input | bound from `ShortRateDefaultFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 506) |
| `:PrintCancelNoticeFlag` | Input | bound from `PrintCancelNoticeFlag` | 1 | Bound in `clsCancellationReason.BeforeInsert` (line 507) |
| `:CancelNoticeDescription` | Input | bound from `m_CancelNoticeDescription` | 254 | Bound in `clsCancellationReason.BeforeInsert` (line 520) |
| `:DelayDays` | Input | bound from `DelayDays` | - | Bound in `clsCancellationReason.BeforeInsert` (line 508) |
| `:ReinstateReasonCode` | Input | bound from `m_ReinstateReasonCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 521) |
| `:PHReminderTypeCode` | Input | bound from `m_PHReminderTypeCode` | 5 | Bound in `clsCancellationReason.BeforeInsert` (line 522) |
| `:ARPDepositDays` | Input | bound from `ARPDepositDays` | - | Bound in `clsCancellationReason.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,
    :NoticeDescription,
    :CreditReasonFlag,
    :USLHWIntentNoticeTypeCode,
    :CancellationCategoryCode,
    :ShortRateDefaultFlag,
    :PrintCancelNoticeFlag,
    :CancelNoticeDescription,
    :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\clsCancellationReason.vb`
