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¶
- Construct the collection
Criteriaand callRetrieveObject. BeforeRetrievesets the collectionRetrieveSQL(no key parameters — the wholeGROUP_ASSOCIATIONtable).- Risk: this retrieve path uses SQL-022 with no
WHEREclause, so filtering happens in memory after the full table is loaded. AfterRetrieveloops the reader, constructing aclsGroupAssociationper row and adding it to the inner list; the collection is marked old.- Callers narrow the result in memory with the extension filters
GroupType(...),NotExpired(asOfDate)andSalesPlan(...). (BR-002, BR-003, BR-004) - 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¶
- SQL-022 returns every row from GROUP_ASSOCIATION; consumers depend on in-memory filters afterward.
Related documentation¶
Sources¶
Business\SAIF.Business.Policy.Group\clsGroupAssociationCollection.vb