Retrieve a single task¶
This operation loads one task row via pk82036_task.task_select (an Oracle REF CURSOR output) and materializes it via Fill/PostFill.
| Field | Value |
|---|---|
| Operation ID | OP-6 |
| Trigger | Application requests a specific task |
| Inputs | TaskSeqNum |
| Outputs | Populated clsTask instance |
| Primary components | clsTask.BeforeRetrieve, clsTask.AfterRetrieve, clsTask.Fill |
| Entry point | SAIF.Business.Tasks/clsTask.vb |
Steps¶
- Build a
StoredProcedurerequest onpk82036_task.task_selectwith input parameterTaskID=TaskSeqNumand an Oracle REF CURSOR output parameterrecordset(SQL-002, TASK).Origin: The
task_selectprocedure body resides in the Oracle database and was not retrieved in this analysis pass.** - Framework executes the request against the DPI.
AfterRetrievecastsResulttoclsSAIFDataReader, reads one row, callsFill, thenMarkOld()and returnsMe.Fillmaps 19 task columns plus the sixContext*columns onto members, then calls the abstractPostFill()so descendants can map their own additional columns.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start(["Retrieve single task<br>requested"]) --> S1["BeforeRetrieve builds<br>task_select request"]
S1 --> S2[Framework executes request]
S2 --> S3["AfterRetrieve reads one row<br>via clsSAIFDataReader"]
S3 --> S4["Fill maps 19 task + 6<br>context columns"]
S4 --> S5["PostFill —<br>descendant-specific mapping"]
S5 --> EndOk([MarkOld — task returned])
Failure and edge-case behavior¶
- No
RowsAffectedcontention check applies on retrieval (read-only path).
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/clsTask.vb