Views:
TypeRead/writeAuthorAvailability
Data providerReadFINBOURNEProvided with LUSID

Providing you have sufficient access control permissions, the Workflow.TaskDefinition.Transition provider enables you to write a Luminesce SQL query that retrieves state transitions defined within task definitions from the Workflow Service.

See also: Workflow.TaskDefinition 

Basic usage

select * from Workflow.TaskDefinition.Transition where <filter-expression>

Data fields

By default, Workflow.TaskDefinition.Transition returns a table of data populated with particular fields (columns). You can return a subset of these fields.

To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run the following query using a suitable tool:

select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field where TableName = 'Workflow.TaskDefinition.Transition' and FieldType = 'Column';

Note: Fields marked 'main' are returned by queries that select a caret character, for example select ^ from Workflow.TaskDefinition.Transition.

Examples

Note: For more example Luminesce SQL queries, visit our Github repo.

Example 1: Retrieve all state transitions in a task definition

select * from Workflow.TaskDefinition.Transition where Scope = 'approvals' and Code = 'dataApproval';

Example 2: Retrieve guard condition of a particular state transition

select * from Workflow.TaskDefinition.Transition where ToState = 'Denied' and Scope = 'approvals' and Code = 'dataApproval';

Example 3: Retrieve action to be performed on completion of a state transition

In this example, Workflow.TaskDefinition.Transition is joined with Workflow.TaskDefinition.Action to retrieve the action which is performed on successful completion of a state transition, and return more details on the action.

select a.* from Workflow.TaskDefinition.Transition t
join Workflow.TaskDefinition.Action a
on t.Action = a.Action 
where t.Scope = 'approvals'
  and t.Code = 'dataApproval'
  and t.ToState = 'Approved';