Namespace: Consultingwerk.SmartFramework.Workflow
Class 
WorkflowEngine Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object
Implements: Consultingwerk.SmartFramework.Workflow.IWorkflowEngine

File:WorkflowEngine
Purpose:Implementation of the Workflow Engine
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Sun May 10 07:34:52 CEST 2020



Top Method Summary
Options Name Purpose
+ CreateWorkflowStatusRecord (handle, character, handle, character) Creates and populates a ttWorkflowStatus
# FetchWorkflowDefinition (FetchDataRequest) Fetches the Workflow definition
# Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext GetDefaultWorkflowContext (character, character) Returns the Context instance of a Default Workflow
# GetDefaultWorkflowInstances () Populates the default workflow instances
+ CHARACTER GetDefaultWorkflowInstanceStatusGuid (character) Returns the GUID of the WorkflowStatus of the given WorkflowInstanceGuid
+ CHARACTER GetDefaultWorkflowInstanceStatusName (character) Returns the Name of the WorkflowStatus of the given WorkflowInstanceGuid
+ Consultingwerk.Framework.Collections.CharacterList GetEndSteps (character) Returns the names of the end steps of the given workflow
+ CHARACTER GetNonDefaultWorkflowRecord (character, character, dataset-handle) Returns the Dataset with the workflow record of a non-default workflow
+ CHARACTER GetNonDefaultWorkflowStatusGuid (character, character) Returns the GUID of the workflow status of a non-default workflow
+ CHARACTER GetNonDefaultWorkflowStatusName (character, character) Returns the Name of the workflow status of a non-default workflow
+ Consultingwerk.Framework.Collections.CharacterList GetStartSteps (character) Returns the names of the start steps of the given workflow
+ GetWorkflowDefinition (character, character, character, dataset) Returns the dsWorkflow for the given Business Entity Table and workflow name
+ GetWorkflowDefinition (character, dataset) Returns the dsWorkflow for the given Workflow GUID
+ GetWorkflowInstances (dataset) Returns the datasets with the status of the current workflow instances
+ CHARACTER GetWorkflowStatusGuid (character, character) Returns the WorkflowStatusGuid
+ LOGICAL HasDefaultStatus (character) Returns if the workflow has a default status
+ LOGICAL IsDefaultWorkflow (character) Determines if the given Workflow is a default Workflow
+ CHARACTER LaunchWorkflowInstance (character, character, IWorkflowInstanceContext) Launches an instance of a default workflow
+ CHARACTER LaunchWorkflowInstance (character, integer, character, IWorkflowInstanceContext) Launches an instance of a default workflow
+ CHARACTER LaunchWorkflowInstance (character, integer, IWorkflowInstanceContext) Launches an instance of a default workflow
+ CHARACTER LaunchWorkflowInstance (character, IWorkflowInstanceContext) Launches an instance of a default workflow
# OnAfterPerformWorkflowStatusActivity (AfterPerformWorkflowStatusActivityEventArgs) Raises the AfterPerformWorkflowStatusActivity
# OnBeforePerformWorkflowStatusActivity (BeforePerformWorkflowStatusActivityEventArgs) Raises the BeforePerformWorkflowStatusActivity
# OnCollectWorkflowInstances (dataset) Raises the GetWorkflowInstances event
# OnOpenWorkflowInstance (OpenWorkflowInstanceEventArgs) Raises the OpenWorkflowIntance event
# OnPerformWorkflowStatusActivity (PerformWorkflowStatusActivityEventArgs) Raises the PerformWorkflowStatusActivity
# OnUpdateDefaultWorkflowItem (UpdateDefaultWorkflowItemEventArgs) Raises the UpdateDefaultWorkflowItem
# OnWorkflowInstanceSelected (WorkflowInstanceSelectedEventArgs) Raises the WorkflowInstanceSelected event
+ OpenWorkflowInstance (handle) Opens the workflow instance
# CHARACTER PerformDefaultWorkflowStatusActivity (character, WorkflowStatusActivity) Performs a workflow activity of a default workflow
# CHARACTER PerformNonDefaultWorkflowStatusActivity (character, WorkflowStatusActivity) Performs a workflow activity of a non-default workflow
+ CHARACTER PerformWorkflowActivity (character, character) Performs a workflow activity
+ CHARACTER PerformWorkflowActivity (character, character, character) Performs a workflow activity
+ RaiseUpdateDefaultWorkflowItemEvent (UpdateDefaultWorkflowItemEventArgs) Raises the UpdateDefaultWorkflowItem event
+ SelectWorkflowInstance (handle) Raises an event when a workflow instance was selected
+ UpdateDefaultWorkflowContext (character, IWorkflowInstanceContext) Updates the stored Context Object of a default workflow instance
+ LOGICAL ValidateStatusTransition (handle, character) Validation Routine for Status transitions in non-default workflows

Top Event Summary
Options Name Purpose
+ AfterPerformWorkflowStatusActivity (Object, AfterPerformWorkflowStatusActivityEventArgs) Raised after a workflow status activity is performed
+ BeforePerformWorkflowStatusActivity (Object, BeforePerformWorkflowStatusActivityEventArgs) Raised before a workflow status activity is performed
+ CollectWorkflowInstances (dataset) Event raised to collect ttWorkflowStatus records of various providers
+ OpenWorkflowInstance (Object, OpenWorkflowInstanceEventArgs) Event raised to open a workflow instance in the application
+ PerformWorkflowStatusActivity (Object, PerformWorkflowStatusActivityEventArgs) Raised when a workflow status activity is performed
+ UpdateDefaultWorkflowItem (Object, UpdateDefaultWorkflowItemEventArgs) Raised from GetDefaultWorkflowInstances() in the WorkflowInstanceBusinessEntity to allow updating the description and due date
+ WorkflowInstanceSelected (Object, WorkflowInstanceSelectedEventArgs) Event raised when a workflow instance is selected


Method Detail
Top

PUBLIC CreateWorkflowStatusRecord (handle, character, handle, character)

Purpose: Creates and populates a ttWorkflowStatus
Notes: Populates WorkflowGuid, RecordKey, RecordStatusValue, WorkflowStatusGuid
Interface cannot use BUFFER parameter

Parameters:
phWorkflowStatusBuffer HANDLE
The handle of the ttWorkflowStatus buffer to create the record in
pcEntityName CHARACTER
The name of the BusinessEntity
phRecordBuffer HANDLE
The handle of the record that contains the status (application table)
pcWorkflowName CHARACTER
The name of the workflow of the BusinessEntity
Top

PROTECTED FetchWorkflowDefinition (FetchDataRequest)

Purpose: Fetches the Workflow definition
Notes:

Parameters:
poRequest Consultingwerk.OERA.FetchDataRequest
The FetchDataRequest
Top

PROTECTED Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext GetDefaultWorkflowContext (character, character)

Purpose: Returns the Context instance of a Default Workflow
Notes:

Parameters:
pcWorkflowGuid CHARACTER
The GUID of the Workflow
pcWorkflowInstanceGuid CHARACTER
The GUID of the Workflow Instance
Returns Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext
The IWorkflowInstanceContext instance
Top

PROTECTED GetDefaultWorkflowInstances ()

Purpose: Populates the default workflow instances
Notes:

Top

PUBLIC CHARACTER GetDefaultWorkflowInstanceStatusGuid (character)

Purpose: Returns the GUID of the WorkflowStatus of the given WorkflowInstanceGuid
Notes:

Parameters:
pcWorkflowInstanceGuid CHARACTER
The GUI of the Workflow Instance
Returns CHARACTER
The GUID of the workflow status
Top

PUBLIC CHARACTER GetDefaultWorkflowInstanceStatusName (character)

Purpose: Returns the Name of the WorkflowStatus of the given WorkflowInstanceGuid
Notes:

Parameters:
pcWorkflowInstanceGuid CHARACTER
The GUI of the Workflow Instance
Returns CHARACTER
The Name of the workflow status
Top

PUBLIC Consultingwerk.Framework.Collections.CharacterList GetEndSteps (character)

Purpose: Returns the names of the end steps of the given workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or name of the workflow
Returns Consultingwerk.Framework.Collections.CharacterList
The comma delimited list of the end steps of the given workspace
Top

PUBLIC CHARACTER GetNonDefaultWorkflowRecord (character, character, dataset-handle)

Purpose: Returns the Dataset with the workflow record of a non-default workflow
Notes:

Parameters:
pcRecordKey CHARACTER
The record key value
pcWorkflow CHARACTER
The name or GUID of the workflow
phDataset DATASET-HANDLE
Output Dataset Handle
Returns CHARACTER
The name of the status table buffer
Top

PUBLIC CHARACTER GetNonDefaultWorkflowStatusGuid (character, character)

Purpose: Returns the GUID of the workflow status of a non-default workflow
Notes:

Parameters:
pcRecordKey CHARACTER
The record key value
pcWorkflow CHARACTER
The name or GUID of the workflow
Returns CHARACTER
The GUID of the workflow status
Top

PUBLIC CHARACTER GetNonDefaultWorkflowStatusName (character, character)

Purpose: Returns the Name of the workflow status of a non-default workflow
Notes:

Parameters:
pcRecordKey CHARACTER
The record key value
pcWorkflow CHARACTER
The name or GUID of the workflow
Returns CHARACTER
The GUID of the workflow status
Top

PUBLIC Consultingwerk.Framework.Collections.CharacterList GetStartSteps (character)

Purpose: Returns the names of the start steps of the given workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or name of the workflow
Returns Consultingwerk.Framework.Collections.CharacterList
The comma delimited list of the end steps of the given workspace
Top

PUBLIC GetWorkflowDefinition (character, character, character, dataset)

Purpose: Returns the dsWorkflow for the given Business Entity Table and
workflow name
Notes:

Parameters:
pcEntityName CHARACTER
The name of the Business Entity
pcEntityTable CHARACTER
The name of the Entity Table
pcWorkflowName CHARACTER
The name of the Workflow
dsWorkflow DATASET dsWorkflow
Top

PUBLIC GetWorkflowDefinition (character, dataset)

Purpose: Returns the dsWorkflow for the given Workflow GUID
Notes:

Parameters:
pcWorkflowGuid CHARACTER
The GUID of the workflow to return
dsWorkflow DATASET dsWorkflow
Top

PUBLIC GetWorkflowInstances (dataset)

Purpose: Returns the datasets with the status of the current workflow instances
Notes: Raises the GetWorkflowInstances event to collect instances

Parameters:
dsWorkflowStatus DATASET dsWorkflowStatus
INPUT-OUTPUT Dataset with workflow status records
Top

PUBLIC CHARACTER GetWorkflowStatusGuid (character, character)

Purpose: Returns the WorkflowStatusGuid
Notes:

Parameters:
pcRecordKey CHARACTER
The WorkflowInstanceGuid for default workflows or the RecordKey for non default workflows
pcWorkflow CHARACTER
The name or GUID of the Workflow
Returns CHARACTER
The WorkflowStatusGuid
Top

PUBLIC LOGICAL HasDefaultStatus (character)

Purpose: Returns if the workflow has a default status
Notes: The default status indicates that activities can be used from
any workflow status

Parameters:
pcWorkflowGuid CHARACTER
The GUID of the workflow to determine
Returns LOGICAL
Logical value indicating if the workflow has a default status
Top

PUBLIC LOGICAL IsDefaultWorkflow (character)

Purpose: Determines if the given Workflow is a default Workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or name of the workflow
Returns LOGICAL
Logical value indicating if the workflow is a default workflow
Top

PUBLIC CHARACTER LaunchWorkflowInstance (character, character, IWorkflowInstanceContext)

Purpose: Launches an instance of a default workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or the name of the workflow to start
pcInitialStatus CHARACTER
The Initial Workflow Status
poContextObject Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext
The Context Object instance
Returns CHARACTER
The GUID of the Workflow intance that was launched
Top

PUBLIC CHARACTER LaunchWorkflowInstance (character, integer, character, IWorkflowInstanceContext)

Purpose: Launches an instance of a default workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or the name of the workflow to start
piDueInSeconds INTEGER
The number of seconds before the initial step is due
pcInitialStatus CHARACTER
The Initial Workflow Status
poContextObject Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext
The Context Object instance
Returns CHARACTER
The GUID of the Workflow intance that was launched
Top

PUBLIC CHARACTER LaunchWorkflowInstance (character, integer, IWorkflowInstanceContext)

Purpose: Launches an instance of a default workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or the name of the workflow to start
piDueInSeconds INTEGER
The number of seconds before the initial step is due
poContextObject Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext
The Context Object instance
Returns CHARACTER
The GUID of the Workflow intance that was launched
Top

PUBLIC CHARACTER LaunchWorkflowInstance (character, IWorkflowInstanceContext)

Purpose: Launches an instance of a default workflow
Notes:

Parameters:
pcWorkflow CHARACTER
The GUID or the name of the workflow to start
poContextObject Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext
The Context Object instance
Returns CHARACTER
The GUID of the Workflow intance that was launched
Top

PROTECTED OnAfterPerformWorkflowStatusActivity (AfterPerformWorkflowStatusActivityEventArgs)

Purpose: Raises the AfterPerformWorkflowStatusActivity
Notes:

Parameters:
e Consultingwerk.SmartFramework.Workflow.AfterPerformWorkflowStatusActivityEventArgs
The AfterPerformWorkflowStatusActivityEventArgs with the data for the event
Top

PROTECTED OnBeforePerformWorkflowStatusActivity (BeforePerformWorkflowStatusActivityEventArgs)

Purpose: Raises the BeforePerformWorkflowStatusActivity
Notes:

Parameters:
e Consultingwerk.SmartFramework.Workflow.BeforePerformWorkflowStatusActivityEventArgs
The BeforePerformWorkflowStatusActivityEventArgs with the data for the event
Top

PROTECTED OnCollectWorkflowInstances (dataset)

Purpose: Raises the GetWorkflowInstances event
Notes:

Parameters:
dsWorkflowStatus DATASET dsWorkflowStatus
INPUT-OUTPUT Dataset with workflow status records
Top

PROTECTED OnOpenWorkflowInstance (OpenWorkflowInstanceEventArgs)

Purpose: Raises the OpenWorkflowIntance event
Notes:

Parameters:
e Consultingwerk.SmartFramework.Workflow.OpenWorkflowInstanceEventArgs
The OpenWorkflowIntance with the data for the event
Top

PROTECTED OnPerformWorkflowStatusActivity (PerformWorkflowStatusActivityEventArgs)

Purpose: Raises the PerformWorkflowStatusActivity
Notes:

Parameters:
e Consultingwerk.SmartFramework.Workflow.PerformWorkflowStatusActivityEventArgs
The PerformWorkflowStatusActivityEventArgs with the data for the event
Top

PROTECTED OnUpdateDefaultWorkflowItem (UpdateDefaultWorkflowItemEventArgs)

Purpose: Raises the UpdateDefaultWorkflowItem
Notes:

Parameters:
e Consultingwerk.SmartFramework.Workflow.UpdateDefaultWorkflowItemEventArgs
The UpdateDefaultWorkflowItemEventArgs with the data for the event
Top

PROTECTED OnWorkflowInstanceSelected (WorkflowInstanceSelectedEventArgs)

Purpose: Raises the WorkflowInstanceSelected event
Notes:

Parameters:
e Consultingwerk.SmartFramework.Workflow.WorkflowInstanceSelectedEventArgs
The OpenWorkflowIntance with the data for the event
Top

PUBLIC OpenWorkflowInstance (handle)

Purpose: Opens the workflow instance
Notes:

Parameters:
phWorkflowStatus HANDLE
The buffer handle of the ttWorkflowStatus record
Top

PROTECTED CHARACTER PerformDefaultWorkflowStatusActivity (character, WorkflowStatusActivity)

Purpose: Performs a workflow activity of a default workflow
Notes:

Parameters:
pcRecordKey CHARACTER
The key of the workflow record
poWorkflowStatusActivity Consultingwerk.SmartFramework.Workflow.WorkflowStatusActivity
The GUID of the workflow status activity to perform
Returns CHARACTER
The new workflow status name
Top

PROTECTED CHARACTER PerformNonDefaultWorkflowStatusActivity (character, WorkflowStatusActivity)

Purpose: Performs a workflow activity of a non-default workflow
Notes:

Parameters:
pcRecordKey CHARACTER
The key of the workflow record
poWorkflowStatusActivity Consultingwerk.SmartFramework.Workflow.WorkflowStatusActivity
The GUID of the workflow status activity to perform
Returns CHARACTER
The new workflow status name
Top

PUBLIC CHARACTER PerformWorkflowActivity (character, character)

Purpose: Performs a workflow activity
Notes:

Parameters:
pcRecordKey CHARACTER
The key of the workflow record
pcWorkflowStatusActivity CHARACTER
The GUID of the workflow status activity to perform
Returns CHARACTER
The new workflow status name
Top

PUBLIC CHARACTER PerformWorkflowActivity (character, character, character)

Purpose: Performs a workflow activity
Notes:

Parameters:
pcRecordKey CHARACTER
The key of the workflow record
pcWorkflowName CHARACTER
The name of the workflow
pcWorkflowActivityName CHARACTER
The name of the workflow activity to perform
Returns CHARACTER
The new workflow status name
Top

PUBLIC RaiseUpdateDefaultWorkflowItemEvent (UpdateDefaultWorkflowItemEventArgs)

Purpose: Raises the UpdateDefaultWorkflowItem event
Notes: Invoked from GetDefaultWorkflowInstances() in the WorkflowInstanceBusinessEntity

Parameters:
poEventArgs Consultingwerk.SmartFramework.Workflow.UpdateDefaultWorkflowItemEventArgs
: UpdateDefaultWorkflowItemEventArgs
Top

PUBLIC SelectWorkflowInstance (handle)

Purpose: Raises an event when a workflow instance was selected
Notes:

Parameters:
phWorkflowStatus HANDLE
The buffer handle of the ttWorkflowStatus record
Top

PUBLIC UpdateDefaultWorkflowContext (character, IWorkflowInstanceContext)

Purpose: Updates the stored Context Object of a default workflow instance
Notes:

Parameters:
pcWorkflowInstanceGuid CHARACTER
The GUID of the Workflow Instance
poContext Consultingwerk.SmartFramework.Workflow.IWorkflowInstanceContext
The IWorkflowInstanceContext instance
Top

PUBLIC LOGICAL ValidateStatusTransition (handle, character)

Purpose: Validation Routine for Status transitions in non-default workflows
Notes:

Parameters:
phBufferHandle HANDLE
The handle of the record to validate
pcWorkflow CHARACTER
The name or GUID of the workflow
Returns LOGICAL
Logical value indicating that validation has passed


Event Detail
Top

PUBLIC AfterPerformWorkflowStatusActivity (Object, AfterPerformWorkflowStatusActivityEventArgs)

Purpose: Raised after a workflow status activity is performed
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the AfterPerformWorkflowStatusActivity event
e Consultingwerk.SmartFramework.Workflow.AfterPerformWorkflowStatusActivityEventArgs
The AfterPerformWorkflowStatusActivityEventArgs with the data for the event
Top

PUBLIC BeforePerformWorkflowStatusActivity (Object, BeforePerformWorkflowStatusActivityEventArgs)

Purpose: Raised before a workflow status activity is performed
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the BeforePerformWorkflowStatusActivity event
e Consultingwerk.SmartFramework.Workflow.BeforePerformWorkflowStatusActivityEventArgs
The BeforePerformWorkflowStatusActivityEventArgs with the data for the event
Top

PUBLIC CollectWorkflowInstances (dataset)

Purpose: Event raised to collect ttWorkflowStatus records of various providers
Notes:

Parameters:
dsWorkflowStatus DATASET dsWorkflowStatus
INPUT-OUTPUT Dataset with workflow status records
Top

PUBLIC OpenWorkflowInstance (Object, OpenWorkflowInstanceEventArgs)

Purpose: Event raised to open a workflow instance in the application
Notes:

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.SmartFramework.Workflow.OpenWorkflowInstanceEventArgs
The OpenWorkflowIntanceEventArgs with the data for this event
Top

PUBLIC PerformWorkflowStatusActivity (Object, PerformWorkflowStatusActivityEventArgs)

Purpose: Raised when a workflow status activity is performed
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the PerformWorkflowStatusActivity event
e Consultingwerk.SmartFramework.Workflow.PerformWorkflowStatusActivityEventArgs
The PerformWorkflowStatusActivityEventArgs with the data for the event
Top

PUBLIC UpdateDefaultWorkflowItem (Object, UpdateDefaultWorkflowItemEventArgs)

Purpose: Raised from GetDefaultWorkflowInstances() in the WorkflowInstanceBusinessEntity
to allow updating the description and due date
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the UpdateDefaultWorkflowItem event
e Consultingwerk.SmartFramework.Workflow.UpdateDefaultWorkflowItemEventArgs
The UpdateDefaultWorkflowItemEventArgs with the data for the event
Top

PUBLIC WorkflowInstanceSelected (Object, WorkflowInstanceSelectedEventArgs)

Purpose: Event raised when a workflow instance is selected
Notes:

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.SmartFramework.Workflow.WorkflowInstanceSelectedEventArgs
The OpenWorkflowIntanceEventArgs with the data for this event


ProDataset Detail

ProDataset dsWorkflow

Member tables: eSmartWorkflow, eSmartWorkflowActivity, eSmartWorkflowStatus, eSmartWorkflowStatusActivity, eSmartWorkflowSwimlane

ProDataset dsWorkflowStatus

Member tables: ttWorkflowStatus


Temp-Table Detail

Temp-Table eSmartWorkflow

Defined in:

Temp-Table eSmartWorkflowActivity

Defined in:

Temp-Table eSmartWorkflowStatus

Defined in:

Temp-Table eSmartWorkflowStatusActivity

Defined in:

Temp-Table eSmartWorkflowSwimlane

Defined in:

Temp-Table ttWorkflowStatus

Defined in:


©2006-2023 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       15.04.2024 06:14:57