Skip to content

Retrieve all group associations

Loads the full set of groups, then expects callers to apply in-memory filters for type, expiration, or sales plan.

Field Value
Operation ID OP-002
Trigger Caller needs the full group catalog for selection or filtering
Inputs —
Outputs A populated clsGroupAssociationCollection.
Primary components clsGroupAssociationCollection.GetGroupAssociations
Entry point Business\SAIF.Business.Policy.Group\clsGroupAssociationCollection.vb

Steps

  1. Construct the collection Criteria and call RetrieveObject.
  2. BeforeRetrieve sets the collection RetrieveSQL (no key parameters — the whole GROUP_ASSOCIATION table).
  3. Risk: this retrieve path uses SQL-022 with no WHERE clause, so filtering happens in memory after the full table is loaded.
  4. AfterRetrieve loops the reader, constructing a clsGroupAssociation per row and adding it to the inner list; the collection is marked old.
  5. Callers narrow the result in memory with the extension filters GroupType(...), NotExpired(asOfDate) and SalesPlan(...). (BR-002, BR-003, BR-004)
  6. Database statements executed or relied on by this operation: SQL-022; affected tables: GROUP_ASSOCIATION.

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

Sources

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