---
title: Retrieve the class description paragraph
summary: `clsManualClassBase.GetClassParagraph(inDPI, ManualClassNumberAndUsageCode, inParagraphEffectiveDate, inMarketType)` (`clsManualClassBase.vb:848-884`)
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Rating
reference_type: package
operation_id: OP-009
trigger: Documents or screens need the printed description paragraph for a class
---

# Retrieve the class description paragraph

`clsManualClassBase.GetClassParagraph(inDPI, ManualClassNumberAndUsageCode, inParagraphEffectiveDate, inMarketType)` (`clsManualClassBase.vb:848-884`)

| Field | Value |
| --- | --- |
| **Operation ID** | OP-009 |
| **Trigger** | Documents or screens need the printed description paragraph for a class |
| **Inputs** | Class number/usage code, paragraph effective date, market type |
| **Outputs** | Paragraph text, trimmed; empty string when none |
| **Primary components** | ``clsManualClassBase.GetClassParagraph(inDPI, ManualClassNumberAndUsageCode, inParagraphEffectiveDate, inMarketType)` (`clsManualClassBase.vb:848-884`)` |
| **Entry point** | `Business\SAIF.Business.Policy.Rating\clsManualClassBase.vb` |

## Steps

1. Build the scalar SQL joining `manual_class_paragraph_usage pu` and `manual_class_paragraph p`
2. Obtain the portal request via `DAL.GetPortalRequest(inDPI.PortalID)`,
3. Add parameters `ManualClassNumber` (6), `ARD`, and `MarketTypeCode` (5, converted from the
4. Execute; if `DataRequest.Result` is not `Nothing`, return `Result.ToString.Trim`, else `""`.
5. Use the related data-access statements and tables for this operation: [SQL-018](../sql/SQL-018-saif-business-policy-rating.md), [MANUAL_CLASS_PARAGRAPH_USAGE](../database-tables.md#manual_class_paragraph_usage), [MANUAL_CLASS_PARAGRAPH](../database-tables.md#manual_class_paragraph).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
  Start([Trigger: need the printed class description paragraph]) --> S1[Build scalar SQL joining manual_class_paragraph_usage and manual_class_paragraph]
  S1 --> S2[Obtain portal request via DAL.GetPortalRequest]
  S2 --> S3[Add parameters: ManualClassNumber, ARD, MarketTypeCode]
  S3 --> S4[Execute]
  S4 --> D1{DataRequest.Result is not Nothing?}
  D1 -->|Yes| S5[Return Result.ToString.Trim]
  D1 -->|No| S6[Return empty string]
  S5 --> Done([Paragraph text or empty string])
  S6 --> 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\clsManualClassBase.vb`
