---
title: "SQL-012: clsProviderEFTCollection"
summary: Read statement for clsProviderEFTCollection.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Provider.PaymentPreference
reference_type: package
---

# SQL-012: clsProviderEFTCollection

SELECT provider EFT locations with external-user email.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-012 |
| **Operation type** | Read |
| **Execution method** | Inline SQL |
| **Database** | Oracle |
| **Schema** | Unqualified in SQL text |
| **Command type** | Text |
| **Business object** | `clsProviderEFTCollection` |
| **Criteria property** | `N/A — direct SQL` |
| **Lifecycle method** | `GetProviderEFTLocEmails` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:inProviderID` | Input | String | 30 | Provider identifier used to retrieve location-level EFT email addresses. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PROVIDER_LOCATION](../database-tables.md#provider_location) | READ | See sample SQL. |
| [PROVIDER_EFT_INTERFACE](../database-tables.md#provider_eft_interface) | READ | See sample SQL. |
| [EXT_USER_TYPE](../database-tables.md#ext_user_type) | READ | See sample SQL. |
| [EXT_USER](../database-tables.md#ext_user) | READ | See sample SQL. |
| [EMAIL_ADDRESS](../database-tables.md#email_address) | READ | See sample SQL. |

## Sample SQL

```sql
SELECT
    LOC.PROVIDER_SEQ_NUM AS ProviderSeqNum,
    LOC.PROVIDER_LOCATION_SEQ_NUM AS ProviderLocationSeqNum,
    CASE WHEN EFT.UPDATE_USER IS NULL THEN 'Y' ELSE 'N' END AS IsNewEFTFlag,
    EFT.EXT_USER_TYPE_SEQ_NUM AS ExtUserTypeSeqNum,
    ADDR.EMAIL_ADDRESS AS ExtUserEmailAddr,
    EFT.EFF_DATE AS EffDate,
    EFT.EXP_DATE AS ExpDate,
    CASE WHEN EFT.DEFAULT_TO_PRIMARY_FLAG IS NULL THEN 'N' ELSE EFT.DEFAULT_TO_PRIMARY_FLAG END AS DefaultToPrimaryFlag,
    EFT.UPDATE_DATE AS UpdateDate,
    EFT.UPDATE_NUM AS UpdateNum,
    EFT.UPDATE_USER AS UpdateUser
FROM PROVIDER_LOCATION LOC
LEFT OUTER JOIN PROVIDER_EFT_INTERFACE EFT
    ON LOC.PROVIDER_LOCATION_SEQ_NUM = EFT.PROVIDER_LOCATION_SEQ_NUM
LEFT OUTER JOIN EXT_USER_TYPE EUT
    ON EUT.EXT_USER_TYPE_SEQ_NUM = EFT.EXT_USER_TYPE_SEQ_NUM
LEFT OUTER JOIN EXT_USER EUSER
    ON EUSER.EXT_USER_SEQ_NUM = EUT.EXT_USER_SEQ_NUM
LEFT OUTER JOIN EMAIL_ADDRESS ADDR
    ON ADDR.EMAIL_ADDRESS_SEQ_NUM = EUSER.EMAIL_ADDRESS_SEQ_NUM
WHERE LOC.PROVIDER_SEQ_NUM = :inProviderID
```

## Operations and processes
- [EFT payment location assignment](../operations/eft-payment-location-assignment.md)

## Business rules
- [BR-09: Assigning EFT always queues customer email notification.](../business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)

## Sources
- `Business\SAIF.Business.Provider.PaymentPreference\clsProviderEFT.vb`


