---
title: "SQL-015: Future cancellation date lookup"
summary: Retrieve the pending future cancellation date.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-31
library: SAIF.Business.View.Policy
reference_type: package
---

# SQL-015: Future cancellation date lookup

`clsPolicyData` uses this statement to find a cancellation that has been entered but has not yet taken effect. Only the most recent cancellation row is considered, and reinstated or rescinded cancellations are excluded.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-015 |
| **Operation type** | Read |
| **Execution method** | Inline SQL |
| **Database** | Oracle |
| **Schema** | `[unqualified]`** |
| **Command type** | Text |
| **Business object** | `clsPolicyData` |
| **Criteria property** | N/A (ad hoc method, not `IBusinessCriteria`) |
| **Lifecycle method** | `GetFutureCancelDate` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:PolicyNumber` | Input | Decimal | not specified | Policy number whose most recent non-reinstated, non-rescinded cancellation is requested. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [CANCELLATION](../database-tables.md#cancellation) | SELECT | POLICY_NUM, CANCELLATION_SEQ_NUM, CANCEL_DATE, REINSTATE_DATE, RESCIND_DATE |

## Sample SQL

```sql
select cancel_date
from cancellation c1
where(policy_num = :PolicyNumber)
  and cancellation_seq_num = (select max(cancellation_seq_num) from cancellation c2 where c1.policy_num = c2.policy_num)
  and reinstate_date is null
  and rescind_date is null
```

## Operations and processes

- [Lazy-load policy detail](../operations/lazy-load-policy-detail.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.View.Policy/clsPolicyData.vb`
