Skip to content

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

  1. GetActiveApplicationCodes builds Criteria(dpi, activeOnly:=True); GetAllApplicationCodes builds Criteria(dpi) with ActiveOnly = False. (BR-MENU-013)
  2. BeforeRetrieve selects RetrieveActiveSQL (SQL-014, adds WHERE NVL(ACTIVE_CODE,'Y') = 'Y') when ActiveOnly is set, otherwise the unfiltered RetrieveSQL (SQL-013). (table BUSONLINE_APPS_CODE)
  3. AfterRetrieve loads one clsApplicationCode per 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.

Sources

  • SAIF.Business.Menu/clsApplicationCodeCollection.vb