Load a code table¶
This operation loads one or all rows of a read-only task code table (clsTaskActionCode, clsTaskCategoryCode, clsTaskPriorityCode, clsTaskSourceCode, or their collections) for code↔description/enum translation.
| Field | Value |
|---|---|
| Operation ID | OP-9 |
| Trigger | Application requests action/category/priority/source codes |
| Inputs | Optional Code and/or TaskSourceCode filter |
| Outputs | Populated code object or collection |
| Primary components | clsTask*Code[Collection].GetCode(s) |
| Entry point | SAIF.Business.Tasks/clsTaskActionCode.vb, clsTaskActionCodeCollection.vb, clsTaskCategoryCode.vb, clsTaskCategoryCodeCollection.vb, clsTaskPriorityCode.vb, clsTaskPriorityCodeCollection.vb, clsTaskSourceCode.vb, clsTaskSourceCodeCollection.vb |
Steps¶
- Build the nested
Criteriawith the DPI (plusCodeand/orTaskSourceCodewhen applicable). - Call
DataAccessLayer.RetrieveObject(criteria). BeforeRetrieveassignsRetrieveSQLand binds:Code/:TaskSourceCodewhere applicable (SQL-003, SQL-004, SQL-006, SQL-007, SQL-009, SQL-010, SQL-011, SQL-012).AfterRetrievereads rows and, for collections, constructs and adds each code object viaLoad, which fills fields, builds a per-rowCriteria, and callsMarkOld().clsTaskCategoryCodeCollectionadditionally setsm_DataFound = Trueper row, which drives itsIsValidoverride (BR-024).- Any attempt to use the write-SQL properties (
CreateSQL/InsertSQL/UpdateSQL/DeleteSQL) on any code-table criteria throwsApplicationException(clsConstants.Messages.InvalidSQLProperty)(BR-023). - Unrecognized priority or source codes map to a safe default (
Informational/NotAssigned) rather than raising an error (BR-025).
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([GetCode/GetCodes called]) --> S1["Build Criteria with DPI +<br>Code/TaskSourceCode"]
S1 --> S2["RetrieveObject executes<br>RetrieveSQL"]
S2 --> S3["AfterRetrieve reads rows via<br>Load"]
S3 --> D{clsTaskCategoryCodeCollection?}
D -->|Yes| S4[Set m_DataFound per row]
D -->|No| EndOk(["Code object/collection<br>returned"])
S4 --> EndOk
Failure and edge-case behavior¶
- Code tables are strictly read-only; write-SQL access throws
ApplicationException(BR-023). - A category-code collection is valid only if at least one row was returned for the requested source system (BR-024).
- Unrecognized codes translate to safe enum defaults instead of throwing (BR-025).
Related documentation¶
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.
Sources¶
- SAIF.Business.Tasks/clsTaskActionCode.vb
- SAIF.Business.Tasks/clsTaskActionCodeCollection.vb
- SAIF.Business.Tasks/clsTaskCategoryCode.vb
- SAIF.Business.Tasks/clsTaskCategoryCodeCollection.vb
- SAIF.Business.Tasks/clsTaskPriorityCode.vb
- SAIF.Business.Tasks/clsTaskPriorityCodeCollection.vb
- SAIF.Business.Tasks/clsTaskSourceCode.vb
- SAIF.Business.Tasks/clsTaskSourceCodeCollection.vb