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

# SQL-123: Update cancellation reason collection

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

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-123 |
| **Operation type** | Update |
| **Execution method** | IDataRequest.SQLStatement (CommandType.Text) |
| **Database** | Oracle |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsCancellationReasonCollection` |
| **Criteria property** | `UpdateSQL` |
| **Lifecycle method** | `BeforeUpdate / AfterUpdate` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:DueDays` | Input | bound from `DueDays` | - | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 576) |
| `:GraceDueDays` | Input | bound from `GraceDueDays` | - | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 577) |
| `:CancelDays` | Input | bound from `CancelDays` | - | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 578) |
| `:Code` | Input | bound from `Code` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 579) |
| `:CodeDescr` | Input | bound from `CodeDescr` | 65 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 580) |
| `:NcciCancelCode` | Input | bound from `m_NCCICancelCode` | 2 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 590) |
| `:CertholderNoticeFlag` | Input | bound from `m_CertholderNoticeFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 591) |
| `:CancelTypeCode` | Input | bound from `CancelTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 581) |
| `:BatchReasonFlag` | Input | bound from `BatchReasonFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 582) |
| `:CHNoticeTypeCode` | Input | bound from `m_CHNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 592) |
| `:HoldPrintFlag` | Input | bound from `m_HoldPrintFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 593) |
| `:PHCancelNoticeTypeCode` | Input | bound from `m_PHCancelNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 594) |
| `:PHIntentNoticeTypeCode` | Input | bound from `m_PHIntentNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 595) |
| `:PmsCancelReasonCode` | Input | bound from `PMSCancelReasonCode` | - | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 583) |
| `:RequestDetailFlag` | Input | bound from `RequestDetailFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 584) |
| `:UslhwNoticeTypeCode` | Input | bound from `m_USLHWNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 596) |
| `:NoticeDesc` | Input | unknown | - | Bind variable present in SQL text; no matching `AddParm` located - unknown** |
| `:CreditReasonFlag` | Input | bound from `CreditReasonFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 585) |
| `:UslhwIntentNoticeTypeCode` | Input | bound from `m_USLHWIntentNoticeTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 598) |
| `:CancellationCategoryCode` | Input | bound from `m_CancellationCategoryCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 599) |
| `:ShortRateDefaultFlag` | Input | bound from `ShortRateDefaultFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 586) |
| `:PrintCancelNoticeFlag` | Input | bound from `PrintCancelNoticeFlag` | 1 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 587) |
| `:CancelNoticeDescr` | Input | unknown | - | Bind variable present in SQL text; no matching `AddParm` located - unknown** |
| `:DelayDays` | Input | bound from `DelayDays` | - | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 588) |
| `:ReinstateReasonCode` | Input | bound from `m_ReinstateReasonCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 601) |
| `:PHReminderTypeCode` | Input | bound from `m_PHReminderTypeCode` | 5 | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 602) |
| `:ArpDepositDays` | Input | bound from `ARPDepositDays` | - | Bound in `clsCancellationReasonCollection.BeforeUpdate` (line 589) |

## Tables

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

## Sample SQL

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

## 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`
