---
title: "SQL-030: Insert location collection"
summary: "Insert location collection"
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Core
reference_type: package
---

# SQL-030: Insert location collection

Insert location collection in the context of `clsLocationCollection`.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-030 |
| **Operation type** | Insert |
| **Execution method** | IDataRequest.SQLStatement (CommandType.Text) |
| **Database** | Oracle |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsLocationCollection` |
| **Criteria property** | `InsertSQL` |
| **Lifecycle method** | `BeforeInsert / AfterInsert` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:LocSeqNum` | Input | bound from `MyCriteria.LocSeqNum` | - | Bound in `clsLocationCollection.BeforeRetrieve` (line 456) |
| `:PolicyNum` | Input | bound from `PolicyNumber` | - | Bound in `clsLocationCollection.BeforeInsert` (line 278) |
| `:BusSeqNum` | Input | bound from `m_BusSeqNum` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 487) |
| `:AgentNum` | Input | bound from `m_AgentNum` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 488) |
| `:ParentLocSeqNum` | Input | bound from `m_ParentLocSeqNum` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 489) |
| `:LocEffDate` | Input | bound from `LocEffDate` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 481) |
| `:LocExpDate` | Input | bound from `m_LocExpDate` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 490) |
| `:LocationCode` | Input | bound from `LocationCode` | 5 | Bound in `clsLocationCollection.BeforeUpdate` (line 482) |
| `:LocationName` | Input | bound from `m_LocationName` | 40 | Bound in `clsLocationCollection.BeforeUpdate` (line 491) |
| `:LocAddr1` | Input | bound from `m_LocAddr1` | 40 | Bound in `clsLocationCollection.BeforeUpdate` (line 492) |
| `:LocAddr2` | Input | bound from `m_LocAddr2` | 40 | Bound in `clsLocationCollection.BeforeUpdate` (line 493) |
| `:LocCity` | Input | bound from `m_LocCity` | 30 | Bound in `clsLocationCollection.BeforeUpdate` (line 494) |
| `:LocCountry` | Input | bound from `m_LocCountry` | 3 | Bound in `clsLocationCollection.BeforeUpdate` (line 495) |
| `:LocCounty` | Input | bound from `m_LocCounty` | 5 | Bound in `clsLocationCollection.BeforeUpdate` (line 496) |
| `:LocPhone` | Input | bound from `m_LocPhone` | 12 | Bound in `clsLocationCollection.BeforeUpdate` (line 497) |
| `:LocPhoneExt` | Input | bound from `m_LocPhoneExt` | 4 | Bound in `clsLocationCollection.BeforeUpdate` (line 498) |
| `:LocFax` | Input | bound from `m_LocFax` | 12 | Bound in `clsLocationCollection.BeforeUpdate` (line 499) |
| `:LocState` | Input | bound from `m_LocState` | 2 | Bound in `clsLocationCollection.BeforeUpdate` (line 500) |
| `:LocZip` | Input | bound from `m_LocZip` | 5 | Bound in `clsLocationCollection.BeforeUpdate` (line 501) |
| `:LocZip4` | Input | bound from `m_LocZip4` | 4 | Bound in `clsLocationCollection.BeforeUpdate` (line 502) |
| `:ProviderNum` | Input | bound from `m_ProviderNum` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 504) |
| `:MailAddrFlag` | Input | bound from `m_MailAddrFlag` | 1 | Bound in `clsLocationCollection.BeforeUpdate` (line 505) |
| `:CreateUser` | Input | bound from `CreateUser` | 30 | Bound in `clsLocationCollection.BeforeInsert` (line 189) |
| `:CreateDate` | Input | bound from `CreateDate` | - | Bound in `clsLocationCollection.BeforeInsert` (line 190) |
| `:UpdateUser` | Input | bound from `m_UpdateUser` | 30 | Bound in `clsLocationCollection.BeforeInsert` (line 579) |
| `:UpdateDate` | Input | bound from `m_UpdateDate` | - | Bound in `clsLocationCollection.BeforeInsert` (line 589) |
| `:DivertTTFlag` | Input | bound from `m_DivertTTFlag` | 1 | Bound in `clsLocationCollection.BeforeUpdate` (line 508) |
| `:UspsBarcode` | Input | bound from `m_UspsBarcode` | 11 | Bound in `clsLocationCollection.BeforeUpdate` (line 509) |
| `:EmailAddr` | Input | bound from `m_EmailAddr` | 60 | Bound in `clsLocationCollection.BeforeUpdate` (line 510) |
| `:EmployeeCount` | Input | bound from `m_EmployeeCount` | - | Bound in `clsLocationCollection.BeforeUpdate` (line 511) |
| `:LocAddr3` | Input | bound from `m_LocAddr3` | 40 | Bound in `clsLocationCollection.BeforeUpdate` (line 512) |
| `:PrimaryLocationFlag` | Input | bound from `PrimaryLocationFlag` | 1 | Bound in `clsLocationCollection.BeforeUpdate` (line 485) |
| `:CellPhone` | Input | bound from `m_CellPhone` | 12 | Bound in `clsLocationCollection.BeforeUpdate` (line 513) |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [LOCATION](../database-tables.md#location) | INSERT | See sample SQL |

## Sample SQL

```sql
INSERT INTO
  LOCATION
  (
    LOC_SEQ_NUM,
    POLICY_NUM,
    BUS_SEQ_NUM,
    AGENT_NUM,
    PARENT_LOC_SEQ_NUM,
    LOC_EFF_DATE,
    LOC_EXP_DATE,
    LOCATION_CODE,
    LOCATION_NAME,
    LOC_ADDR1,
    LOC_ADDR2,
    LOC_CITY,
    LOC_COUNTRY,
    LOC_COUNTY,
    LOC_PHONE,
    LOC_PHONE_EXT,
    LOC_FAX,
    LOC_STATE,
    LOC_ZIP,
    LOC_ZIP4,
    PROVIDER_NUM,
    MAIL_ADDR_FLAG,
    CREATE_USER,
    CREATE_DATE,
    UPDATE_USER,
    UPDATE_DATE,
    DIVERT_TT_FLAG,
    USPS_BARCODE,
    EMAIL_ADDR,
    EMPLOYEE_COUNT,
    LOC_ADDR3,
    PRIMARY_LOCATION_FLAG,
    CELL_PHONE
  )
VALUES
  (
    :LocSeqNum,
    :PolicyNum,
    :BusSeqNum,
    :AgentNum,
    :ParentLocSeqNum,
    :LocEffDate,
    :LocExpDate,
    :LocationCode,
    :LocationName,
    :LocAddr1,
    :LocAddr2,
    :LocCity,
    :LocCountry,
    :LocCounty,
    :LocPhone,
    :LocPhoneExt,
    :LocFax,
    :LocState,
    :LocZip,
    :LocZip4,
    :ProviderNum,
    :MailAddrFlag,
    :CreateUser,
    :CreateDate,
    :UpdateUser,
    :UpdateDate,
    :DivertTTFlag,
    :UspsBarcode,
    :EmailAddr,
    :EmployeeCount,
    :LocAddr3,
    :PrimaryLocationFlag,
    :CellPhone
  )
```

## Operations and processes
- [Filter policy locations for a view](../operations/filter-policy-locations-for-a-view.md)

## Business rules
- [BR-017: A location is active as of a date](../business-rules.md#br-017-a-location-is-active-as-of-a-date)

> **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.Core\clsLocationCollection.vb`
