> For the complete documentation index, see [llms.txt](https://docs.advantys.com/workflowgen-administration-module-reference-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.advantys.com/workflowgen-administration-module-reference-guide/7.12.0-8/raiseexception-workflow-application.md).

# 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.<br>
* Use optional parameters to cancel a list of action instantiations in a list of requests or to cancel on behalf of a specific user.<br>
* 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.                                                                                                                                                                                                                                              |
| <p>(WorkflowGen Web Exception)<br>HTTP Status: ...Response error: ... or The <code>FUNCTION\_NAME</code> parameter was not found</p>                                                     | An error occurred while trying to send the HTTP request  to WorkflowGen              | <p>Check the HTTP status:<br><code>401</code>: Security error <br></p><p>Check your authenticating parameters:</p><p><code>404</code>: Unable to connect to the URL</p><p><code>500</code>: Internal server error<br></p><p>Check for indications in the returned error message.</p> |
| <p>Error while trying to connect to WorkflowGen database<br>Error message: ...</p>                                                                                                       | An error occurred while trying to connect to the WorkflowGen database                | <p>Check your connection string in the configuration file.<br></p><p>Check for indications in the returned error message</p>                                                                                                                                                         |
| 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    | <p>Check <code>IDENTITY\_USERNAME</code> and <code>IDENTITY\_PASSWORD</code> parameters.</p><p></p><p>Identify the request with parameters names returned in the error message.</p>                                                                                                  |
| 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. | <p>Check the <code>RAISE\_EXCEPTION</code> parameters.</p><p></p><p>Check for indications in the returned message.</p>                                                                                                                                                               |
| 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                                             | <p>Check the <code>RAISE\_EXCEPTION</code> parameters.</p><p></p><p>Check for indications in the returned message.</p><p></p><p>To ignore this error, set <code>IGNORE\_NOTHINGTODO\_ERROR</code> parameter to <code>Y</code>.</p>                                                   |
