Skip to content

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

  1. Build a StoredProcedure request on pk82036_task.task_select with input parameter TaskID = TaskSeqNum and an Oracle REF CURSOR output parameter recordset (SQL-002, TASK).

    Origin: The task_select procedure body resides in the Oracle database and was not retrieved in this analysis pass.**

  2. Framework executes the request against the DPI.
  3. AfterRetrieve casts Result to clsSAIFDataReader, reads one row, calls Fill, then MarkOld() and returns Me.
  4. Fill maps 19 task columns plus the six Context* columns onto members, then calls the abstract PostFill() 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 RowsAffected contention check applies on retrieval (read-only path).

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