RAISEEXCEPTION Workflow Application

Overview

The RAISEEXCEPTION workflow application raises the cancel exceptions on specified actions, as controlled by the action cancellation workflow exception in the conditions definition panel. This workflow application can thus be called by an action to cancel one or several other actions in a running request. The application is converted as an assembly workflow to simplify the configuration and improve the performance.

Note: The RAISEEXCEPTION web app in IIS and the file system folder (\wfgen\WfApps\WebServices\RaiseException) can be disabled and removed. Authentication settings at the application level are not required.

This feature is useful when one or more actions need to be cancelled after a certain point in the workflow has been reached, even though those actions have already been activated. For example, if three parallel actions are ongoing, but one of the parallel actions is concluded ahead of the others and your workflow rules have determined that the two other actions are no longer required, you can activate RAISEEXCEPTION to cancel the other two actions and allow the workflow to continue.

Additionally, you can:

  • Use default parameters to cancel all open actions in a specific request.

  • Use optional parameters to cancel a list of action instantiations in a list of requests or to cancel on behalf of a specific user.

  • Use additional parameters to define multiple pairs of action references.

Using default parameters

The REQUEST_ID and ACTIVITY_NAME parameters must always be used together.

Request identifier

This parameter indicates the ID of the request where the action will be cancelled.

Name: REQUEST_ID  
Data type: Numeric  
Direction: IN

Activity name

This parameter indicates the name of the action that will be cancelled.

Name: ACTIVITY_NAME  
Data type: TEXT  
Direction: IN

Example

In this example, the application will cancel all instances of the PENDING_ACTION action in request 455:

REQUEST_ID = 455  
ACTIVITY_NAME = "PENDING_ACTION"

Using optional parameters

The REQUEST_ID_LIST and ACTIVITY_NAME_LIST parameters must always be used together.

List of request identifiers

This parameter indicates a list of request IDs where the action will be cancelled.

Name: REQUEST_ID_LIST

Data type: TEXT

Direction: IN

List of activity names

This parameter indicates a list of action names that will be cancelled.

Name: ACTIVITY_NAME_LIST

Data type: TEXT

Direction: IN

Username

This parameter is used to set the username used to cancel the action. The username used must be part of a participant of the process.

Name: USERNAME

Data type: TEXT

Direction: IN

Note: If this parameter is not specified then the account used is the one specified as the Workflow engine service default identity in the Security section on the General tab in the Configuration Panel.

Password

This parameter is used to set the password corresponding to the username used to cancel the action.

Name: PASSWORD

Data type: TEXT

Direction: IN

EXCEPTION_NAME

Possible values for this parameter are:

  • CANCEL

  • ERROR

  • TIMEOUT

  • ASSIGNMENT_ERROR

The corresponding exception will be triggered on the action.

EXCEPTION_MESSAGE

This parameter is used with the ERROR exception name to provide more details about the error in the follow-up action.

Examples

In this example, the application will cancel all the instances of the actions PENDING_ACTION1 and PENDING_ACTION2 in each of requests 445, 446, and 447:

REQUEST_ID_LIST = "455, 456, 457"  

ACTIVITY_NAME_LIST = "PENDING_ACTION1, PENDING_ACTION2"

In this example, the application will cancel all the instances of the action named PENDING_ACTION in request 445 on behalf of John Doe (jdoe):

REQUEST_ID = "455"  

ACTIVITY_NAME = "PENDING_ACTION"  

USERNAME = "jdoe"  

PASSWORD = "1234"

Using additional parameters

Request identifier

This parameter indicates the ID of the request where the action will be cancelled for the pair specified by the ? (question mark).

Name: EX?_REQUEST_ID

Data type: Numeric

Direction: IN

Activity name

This parameter indicates the name of the action that will be cancelled for the pair specified by the ? (question mark).

Name: EX?_ACTIVITY_NAME

Data type: TEXT

Direction: IN

Ignore Nothing to do error

By default, RAISE_EXCEPTION returns an error if you try to cancel an action that doesn’t have any open instantiation. If you set this parameter value to Y, the application will ignore this type of error.

Name: IGNORE_NOTHINGTODO_ERROR

Data type: TEXT

Direction: IN

Example

In this example, the application will cancel all instances of the PENDING_ACTION1 action in request 455 and all instantiations of the PENDING_ACTION2 action in request 456. If actions 455 and 456 have no instance then no error is raised.

EX1_REQUEST_ID = 455  

EX1_ACTIVITY_NAME = "PENDING_ACTION1"  

EX2_REQUEST_ID = 456  

EX2_ACTIVITY_NAME = "PENDING_ACTION2"  

IGNORE_NOTHINGTODO_ERROR = "Y"

Possible execution errors

The following errors can occur during the execution of the transactions:

Error

Cause

Solution

WorkflowGen Context is empty

All the RAISE_EXCEPTION parameters are empty

Check the RAISE_EXCEPTION parameters.

Application parameters are not correctly entered

The RAISE_EXCEPTION parameters are not correctly filled

Check the RAISE_EXCEPTION parameters.

(WorkflowGen Web Exception) HTTP Status: ...Response error: ... or The FUNCTION_NAME parameter was not found

An error occurred while trying to send the HTTP request to WorkflowGen

Check the HTTP status: 401: Security error

Check your authenticating parameters:

404: Unable to connect to the URL

500: Internal server error

Check for indications in the returned error message.

Error while trying to connect to WorkflowGen database Error message: ...

An error occurred while trying to connect to the WorkflowGen database

Check your connection string in the configuration file.

Check for indications in the returned error message

Parameters: <Request Id parameter name>/<Activity Name parameter name>, Error: WorkflowGen has raised a security exception.

The user defined by the IDENTITY parameters is not a participant of the process

Check IDENTITY_USERNAME and IDENTITY_PASSWORD parameters.

Identify the request with parameters names returned in the error message.

Parameters <Request Id parameter name>/<Activity Name parameter name>, Error: The activity name <Activity Name> doesn’t exist in the request <Request Identifier>.

One of the activity names defined in the RAISE_EXCEPTION parameters doesn’t exist.

Check the RAISE_EXCEPTION parameters.

Check for indications in the returned message.

Parameters <Request Id parameter name>/<Activity Name parameter name>, Error: The action <Activity Name> doesn’t have any open instantiation in the request <Request Identifier>".

One of the actions to cancel is not open

Check the RAISE_EXCEPTION parameters.

Check for indications in the returned message.

To ignore this error, set IGNORE_NOTHINGTODO_ERROR parameter to Y.

Last updated