Process Logic

Introduction

When you create and modify workflows, it is important to know the basic principles of the workflow engine which result in the behavior of the ticket during the process. Therefore, we will give you a short overview of the basic rules of ConSol CM ticket processing.

Activities

Basic rules:

Example 1:

Figure 125: ConSol CM Process Designer - Process logic example 1

Example 2:

Figure 126: ConSol CM Process Designer - Process logic example 2

Interrupts and Exceptions

In the course of a process, i.e during the time when the ticket is open and engineers work on it, there might be events which have to be taken care of. For example, when an email is received by the ticket or when a time range for an SLA has run out, it is important to register the event and to react accordingly.

There are two ways to define the reaction and behavior of the tickets. You can implement an ...

Interrupts

Interrupts ...

Figure 127: ConSol CM Process Designer - Two interrupts

Exceptions

Exceptions ...

Figure 128: ConSol CM Process Designer - Exception

Loops (Errors in Workflows)

(Infinite) Loops will cause errors in a process. They cannot be detected by the Process Designer, so you could deploy a workflow which contains a loop as shown in the figure below.

However, the process engine detects such loops at run-time and throws an InfiniteWorkflowLoopException to prevent the complete system failure. You can of course see the exception in the server.log file. In the Web Client, an error message is displayed.

Figure 129: ConSol CM Process Designer - Loop in workflow

In the Web Client, an error message will be displayed shortly. It is not possible to save the ticket when an infinite loop exception would be caused.

The exception which you can see in the server.log file will contain lines like the following:

2017-08-02 10:30:46,684 ERROR [flow.engine.WorkflowEngineImpl] [Susan-917e766e-775c-11e7-a9f8-c5c4447a9199] Error during firing ticket change event: com.consol.cmas.workflow.common.InfiniteWorkflowLoopException: Path: defaultScope/Service_Desk/Forwarding_Activity-defaultScope/Service_Desk/Do_something was already executed

Business event triggers can also cause loops when the automatic activity which is attached to the trigger changes the parameter to which the trigger reacts. See section Avoid Self-Triggering Business Event Triggers.

Process Logic of Time Triggers

See section Business Logic and Initialization of a Time Trigger.

Process Logic of Business Event Triggers

See section Business Logic of Business Event Triggers .