---
title: "SQL-029: Data-driven association source procedure call"
summary: Retrieve untyped associations from a data-driven procedure.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-31
library: SAIF.Business.View.Policy
reference_type: package
---

# SQL-029: Data-driven association source procedure call

`clsAssociationTypeCode` uses this call to retrieve associations for a type whose source procedure is configured as data rather than written in code. The procedure name is read from the association type code table at run time, so the executed body cannot be identified by static analysis.**

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-029 |
| **Operation type** | Read |
| **Execution method** | Stored procedure with a runtime-resolved name |
| **Database** | Oracle |
| **Schema** | `[unqualified]`** |
| **Command type** | StoredProcedure |
| **Business object** | `clsAssociationTypeCode` |
| **Criteria property** | N/A (ad hoc helper) |
| **Lifecycle method** | `GetNonTypedAssociations` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:inPolicyNumber` | Input | Decimal | not specified | Policy number passed to the data-driven source procedure. |
| `recordset` | Output (Cursor) | REF CURSOR | N/A | Result set whose shape is assumed to match `clsAssociationTypeCode.NonTypedAssociation`. |

## Tables

No table is referenced in the .NET source. The executed procedure name is read at run time from `ASSOCIATION_TYPE_CODE.SOURCE_PROCEDURE_NAME`, so the tables its body touches cannot be determined.**

## Sample SQL

```sql
-- Stored procedure call - name resolved at runtime from ASSOCIATION_TYPE_CODE.SOURCE_PROCEDURE_NAME.
-- The procedure body cannot be identified from static analysis.
CALL {SourceProcedureName}(
  inPolicyNumber => :inPolicyNumber,
  recordset      => :recordset)  -- REF CURSOR output
```

## Operations and processes

- [Resolve policy-header associations](../operations/resolve-policy-header-associations.md)

## Business rules

- [BR-015: Unrecognized relationship codes are classified as not specified](../business-rules.md#br-015-unrecognized-relationship-codes-are-classified-as-not-specified)
- [BR-017: Association rows without a matching type code are discarded](../business-rules.md#br-017-association-rows-without-a-matching-type-code-are-discarded)

> **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/Associations/clsAssociationTypeCode.vb`
