Table Description
Workflow Data Object Values History: An audit log of the Process Instance Data used as input and output for activities in a Process Instance.

During the life of a Process Instance, data is stored in the attributes of workflow data objects. The value of these attributes can change at many points during the execution of the process. The attributes values can also be used at many points. A Workflow Data Object Values History record is created any time an activity reads (or modifies) the value of a workflow data object attribute during the execution of a Process Instance. Hence the set of Workflow Data Object Values History rows for a given Process Instance provide an audit trail of the Process Instance Data for the life of that Process Instance.

Example

You define a workflow (Process Definition) to allow correspondence to be sent to customers whenever their payment details change. The activities defined in your workflow are:

  • system prints out a letter (automatic);
  • User puts the letter in an envelope and posts it (manual); and
  • 'End Process' (a necessary step to end the workflow which is mandated by the Process Definition Tool).

Person John Smith's payment details change due to an increase in rates. This increase raises an event which causes the Workflow Engine to enact your workflow and create a Process Instance.

The initial activity in the process is 'system prints out a letter', so the Workflow Engine gets the necessary data for printing the letter (name, case, etc) from the attributes of the workflow data objects available to it. Before the activity is executed, the engine detects that an activity is about to use some Process Instance Data and creates a Workflow Data Object Values History row to record the data values used.

The second activity in the process is 'User posts the letter'. Once this has been done, the Workflow Engine updates another Workflow Data Object attribute with the time at which the letter the letter was posted. The engine detects that an activity has changed some Process Instance Data and creates a Workflow Data Object Values History row to record the change.

Technical Notes

The pool of workflow data objects can be quite large, so it would be inefficient to log the values of the entire data pool before and after every activity. Hence the workflow engine ensures that only those workflow data object attributes that are either used (as input to) or modified (as output from) an activity are audited.

Relationship Diagram
Click the diagram to manipulate and zoom. Traverse the diagram using Click-and-Drag motions.
Attributes (7)
AttributeKeyNullableDescriptionDDL Type
wdoValuesHistoryIDYesNoThe unique identifier associated with this workflow data object values history record.SVR_INT64
activityInstanceID  The unique identifier of the associated activity instance.SVR_INT64
processInstanceID  The unique identifier of the associated process instance.SVR_INT64
executionPeriod  The point during the execution of a workflow process instance that this history record was written.SVR_STRING<10>
creationTime  The time at which this record was created.SVR_DATETIME
wdoSnapShot  The workflow data object snapshot represented as an XML string.SVR_STRING<35000>
lastWritten   SVR_DATETIME
Foreign Keys (2)
ChildParent
WDOValuesHistory.activityInstanceIDActivityInstance.activityInstanceID
WDOValuesHistory.processInstanceIDProcessInstance.processInstanceID
Indices (2)
Index NameAttributes
IND_594912366activityInstanceID
IND_832424656processInstanceID
Related Pages (0)