Skip to content

SQL-077: Retrieve policy location collection

Retrieve policy location collection in the context of clsPolicyLocationCollection.

Classification

Field Value
SQL ID SQL-077
Operation type Read
Execution method IDataRequest.SQLStatement (CommandType.Text)
Database Oracle
Schema [unqualified]**
Command type Text
Business object clsPolicyLocationCollection
Criteria property RetrieveSQL
Lifecycle method BeforeRetrieve / AfterRetrieve

Parameters

Parameter Direction Type Max length Description
:PolicyNumber Input bound from MyCriteria.PolicyNumber - Bound in clsPolicyLocationCollection.BeforeRetrieve (line 182)

Tables

Table Access Columns used
LOCATION SELECT See sample SQL

Sample SQL

SELECT
  L.LOC_SEQ_NUM as LocationSequenceNumber,
  L.POLICY_NUM as PolicyNumber,
  L.BUS_SEQ_NUM as BusinessSequenceNumber,
  L.PARENT_LOC_SEQ_NUM as ParentLocationSequenceNumber,
  L.LOC_EFF_DATE as EffectiveDate,
  L.LOC_EXP_DATE as ExpirationDate,
  L.LOCATION_CODE as LocationCode,
  L.LOCATION_NAME as Name,
  L.LOC_ADDR1 as AddressLine1,
  L.LOC_ADDR2 as AddressLine2,
  L.LOC_CITY as City,
  L.LOC_COUNTRY as CountryCode,
  L.LOC_COUNTY as CountyCode,
  L.LOC_PHONE as PhoneNumber,
  L.LOC_PHONE_EXT as PhoneNumberExtension,
  L.LOC_FAX as Fax,
  L.LOC_STATE as StateCode,
  L.LOC_ZIP as ZipCode,
  L.LOC_ZIP4 as ZipCodeExtension,
  L.MAIL_ADDR_FLAG as MailFlag,
  L.CREATE_USER as CreateUser,
  L.CREATE_DATE as CreateDate,
  L.UPDATE_USER as UpdateUser,
  L.UPDATE_DATE as UpdateDate,
  L.EMAIL_ADDR as Email,
  L.EMPLOYEE_COUNT as EmployeeCount,
  L.LOC_ADDR3 as AddressLine3,
  L.PRIMARY_LOCATION_FLAG as PrimaryLocationFlag,
  L.CELL_PHONE as CellPhoneNumber
FROM
  LOCATION L
WHERE
  1 = 1
  AND L.POLICY_NUM = :PolicyNumber
  AND L.LOCATION_CODE IN ('POL','AUD','BUS')
  AND L.LOC_EXP_DATE IS NULL
ORDER BY
  CASE
    WHEN L.LOCATION_CODE = 'POL' THEN '1'
    WHEN L.LOCATION_CODE = 'AUD' THEN '2'
    WHEN L.LOCATION_CODE = 'BUS' AND L.PRIMARY_LOCATION_FLAG = 'Y' THEN '3'
    ELSE '4'
  END
-- Alternate runtime branch
SELECT
  L.LOC_SEQ_NUM as LocationSequenceNumber,
  L.POLICY_NUM as PolicyNumber,
  L.BUS_SEQ_NUM as BusinessSequenceNumber,
  L.PARENT_LOC_SEQ_NUM as ParentLocationSequenceNumber,
  L.LOC_EFF_DATE as EffectiveDate,
  L.LOC_EXP_DATE as ExpirationDate,
  L.LOCATION_CODE as LocationCode,
  L.LOCATION_NAME as Name,
  L.LOC_ADDR1 as AddressLine1,
  L.LOC_ADDR2 as AddressLine2,
  L.LOC_CITY as City,
  L.LOC_COUNTRY as CountryCode,
  L.LOC_COUNTY as CountyCode,
  L.LOC_PHONE as PhoneNumber,
  L.LOC_PHONE_EXT as PhoneNumberExtension,
  L.LOC_FAX as Fax,
  L.LOC_STATE as StateCode,
  L.LOC_ZIP as ZipCode,
  L.LOC_ZIP4 as ZipCodeExtension,
  L.MAIL_ADDR_FLAG as MailFlag,
  L.CREATE_USER as CreateUser,
  L.CREATE_DATE as CreateDate,
  L.UPDATE_USER as UpdateUser,
  L.UPDATE_DATE as UpdateDate,
  L.EMAIL_ADDR as Email,
  L.EMPLOYEE_COUNT as EmployeeCount,
  L.LOC_ADDR3 as AddressLine3,
  L.PRIMARY_LOCATION_FLAG as PrimaryLocationFlag,
  L.CELL_PHONE as CellPhoneNumber
FROM
  LOCATION L
WHERE
  1 = 1
  AND L.POLICY_NUM = :PolicyNumber
  AND L.LOCATION_CODE IN ('POL','AUD','BUS','PAY')
  AND L.LOC_EXP_DATE IS NULL
ORDER BY
  CASE
    WHEN L.LOCATION_CODE = 'AUD' THEN '1'
    WHEN L.LOCATION_CODE = 'PAY' THEN '2'
    WHEN L.LOCATION_CODE = 'POL' THEN '3'
    WHEN L.LOCATION_CODE = 'BUS' AND L.PRIMARY_LOCATION_FLAG = 'Y' THEN '4'
    ELSE '5'
  END

Operations and processes

Business rules

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\clsPolicyLocationCollection.vb