Load application codes¶
Loads application codes for administration or lookup, optionally restricted to active-only codes.
| Field | Value |
|---|---|
| Operation ID | OP-MENU-05 |
| Trigger | Caller requests GetAllApplicationCodes or GetActiveApplicationCodes |
| Inputs | IDataPortalInfo, active-only flag |
| Outputs | Populated clsApplicationCodeCollection |
| Primary components | clsApplicationCodeCollection.GetAllApplicationCodes, GetActiveApplicationCodes |
| Entry point | SAIF.Business.Menu/clsApplicationCodeCollection.vb |
Steps¶
GetActiveApplicationCodesbuildsCriteria(dpi, activeOnly:=True);GetAllApplicationCodesbuildsCriteria(dpi)withActiveOnly = False. (BR-MENU-013)BeforeRetrieveselectsRetrieveActiveSQL(SQL-014, addsWHERE NVL(ACTIVE_CODE,'Y') = 'Y') whenActiveOnlyis set, otherwise the unfilteredRetrieveSQL(SQL-013). (table BUSONLINE_APPS_CODE)AfterRetrieveloads oneclsApplicationCodeper row and marks each old.
Process flow¶
flowchart TD
Start([GetAllApplicationCodes / GetActiveApplicationCodes]) --> Choice{ActiveOnly?}
Choice -->|Yes| Active["RetrieveActiveSQL: WHERE NVL ACTIVE_CODE,'Y' = 'Y'"]
Choice -->|No| All[RetrieveSQL: unfiltered]
Active --> Load[AfterRetrieve: Load each clsApplicationCode, MarkOld]
All --> Load
Load --> Done([Return populated collection])
Failure and edge-case behavior¶
- No rows match (e.g., no active codes exist): an empty collection is returned, not an error.
Related documentation¶
Sources¶
- SAIF.Business.Menu/clsApplicationCodeCollection.vb