Skip to content

Link a policy period to a group

Maintains the effective-dated link between a policy period and its group membership details.

Field Value
Operation ID OP-010
Trigger A policy period is enrolled in, changed within, or terminated from a group
Inputs —
Outputs A persisted or retrieved clsPolicyPeriodGroupAssociation.
Primary components clsPolicyPeriodGroupAssociation factory and persistence members
Entry point Business\SAIF.Business.Policy.Group\clsPolicyPeriodGroupAssociation.vb

Steps

  1. Create or retrieve the link row keyed by :PolicyNumber + :PolicyPeriodEffectiveDate against POLICY_PERIOD_GROUP_ASSOC.
  2. Set GroupAssociationCode, GroupMembershipEffectiveDate, optional GroupMembershipExpirationDate, optional GroupTerminationDate, optional ChapterCode and optional GroupMembershipTypeCode. (BR-022)
  3. GroupAssociation lazily resolves the full clsGroupAssociation for the stored code.*
  4. Save runs the standard Before*/After* insert/update/delete cycle with row-count contention checks (BR-009, BR-010, BR-011).
  5. Database statements executed or relied on by this operation: SQL-006, SQL-014, SQL-026, SQL-034, SQL-042; affected tables: DUAL, POLICY_PERIOD_GROUP_ASSOC.
  6. Inherited BOF save behavior validates the object or collection, executes the configured criteria SQL, and surfaces row-count failures back on the business object before the caller continues.†

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Trigger]) --> Step1[Build criteria / load state]
    Step1 --> Step2[Apply local business logic]
    Step2 --> Decision{Valid and complete?}
    Decision -->|Yes| Step3[Return data or persist rows]
    Decision -->|No| EndErr([Return BOF validation or SQL-state issues])
    Step3 --> EndOk([Operation completes])

Failure and edge-case behavior

  • The create-path sequence read SQL-006 still uses a placeholder token rather than executable Oracle sequence syntax.**

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. Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service.

Sources

  • Business\SAIF.Business.Policy.Group\clsPolicyPeriodGroupAssociation.vb