---
title: Guard a rate file master delete
summary: `clsRateFileMaster.CanDeleteRateFileMasterRecord` (`clsRateFileMaster.vb:494-534`)
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Rating
reference_type: package
operation_id: OP-008
trigger: Maintenance wants to delete a rate file
---

# Guard a rate file master delete

`clsRateFileMaster.CanDeleteRateFileMasterRecord` (`clsRateFileMaster.vb:494-534`)

| Field | Value |
| --- | --- |
| **Operation ID** | OP-008 |
| **Trigger** | Maintenance wants to delete a rate file |
| **Inputs** | WCIS rate file sequence number |
| **Outputs** | Boolean eligibility |
| **Primary components** | ``clsRateFileMaster.CanDeleteRateFileMasterRecord` (`clsRateFileMaster.vb:494-534`)` |
| **Entry point** | `Business\SAIF.Business.Policy.Rating\clsRateFileMaster.vb` |

## Steps

1. Execute the scalar probe
2. Return `False` when the count is greater than zero — the rate file still has manual classes
3. Wrap any exception as `ApplicationException(clsMessages.ErrMsgMediaFilesCheck & ex.Message, ex)`.
4. Use the related data-access statements and tables for this operation: [SQL-032](../sql/SQL-032-saif-business-policy-rating.md), [MANUAL_CLASS_BASE](../database-tables.md#manual_class_base).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
  Start([Trigger: maintenance wants to delete a rate file]) --> S1[Execute scalar probe: count manual classes on the rate file]
  S1 --> D1{Count greater than 0?}
  D1 -->|Yes| S2[Return False - rate file still has manual classes]
  D1 -->|No| S3[Return True - eligible for delete]
  S1 -.->|Exception| S4[Wrap as ApplicationException ErrMsgMediaFilesCheck]
  S2 --> Done([Boolean eligibility])
  S3 --> Done
  S4 --> Done
```

## Failure and edge-case behavior
- Review the linked business rules and SQL documents for the validation or data-access conditions that can block this operation.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.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.Policy.Rating\clsRateFileMaster.vb`
