Execute Action#
This task executes a MES Action Rule, mapped to a MES DEE action. This task is useful when you intend do operations on the MES side and require the use of multiple/specific MES services with minimal network traffic and inside the same transaction scope.
Details#
| Fields | Details |
|---|---|
| Scope | Connect IoT Data Platform Enterprise Integration Factory Automation |
| Workflow | Data flow Control flow |
IsProtocol flag |
Inputs#
| Name | Data Type | Description |
|---|---|---|
| action | String | Name of the action |
| inputs | Object | Object with the inputs for the action |
<custom list> | <custom> | Inputs for the action |
| Activate | any | Executes the action in MES |
Outputs#
| Name | Data Type | Description |
|---|---|---|
| outputs | Object | Object with the outputs of the action |
<custom list> | <custom> | Outputs of the action |
| Success | Boolean | If there was no problem emits a true |
| Error | Error | Error that occurred during the processing of this task |
Settings#
On the General Tab, there are the following settings:
| Name | Data Type | Description |
|---|---|---|
| Rule | Rule | Name of MES Rule to be invoked |
And the following retries settings:
| Setting | Data Type | Default | Description |
|---|---|---|---|
| Number of Retries | integer | 30 | The maximum number of attempts the IoT process (client) makes to call the MES backend if the connection or execution fails. |
| Sleep Time between retries (ms) | integer | 1000 | Number of milliseconds to wait between retries. It only applies when the previous call fails |
| Number of System Retries | integer | 10 | The maximum number of attempts the MES backend makes to call the target service if the execution fails. |
Multiplicative Retry Effect
Retry limits are cumulative. In the event of a persistent target service failure, the total number of requests generated will be the product of the Client Retries (N) and the Backend Retries (M). For example, if both are set to 10, a single IoT request could result in up to 100 total attempts (N x M), which may lead to system congestion or high latency.
On Inputs Tab, there are the following settings:
| Name | Data Type | Description |
|---|---|---|
| Name | String | An input name |
| Type | LongDecimalDateTimeBooleanStringInteger | The type of the input |
| Collection Type | NoneArrayMap |
On the Outputs, there are the following settings:
| Name | Data Type | Description |
|---|---|---|
| Name | String | An output name |
| Type | LongDecimalDateTimeBooleanStringInteger | The type of the output |
| Collection Type | NoneArray`Map |
Behavior#
This task executes a MES Rule which is mapped to a MES DEE action. It loads the corresponding MES Rule and MES DEE action and executes it with the given inputs. After executing it, it emits all the DEE outputs and the individual outputs.
Note
A MES Rule is a reusable object that maps to a DEE rule used to evaluate or process something.
Note
MES DEE Actions are soft-rules defined in C# which are loaded and compiled into memory and executed during runtime.
Note
The inputs and outputs object should be an array with objects with a name string, a type of type complexValueType with at least the type defined (here type is a numeric value see enum PropertyValueType).
Remarks#
For the MES Rule to be visible to the settings it needs to be of classification ConnectIoT. It's advisable to use MES DEEs to make calls to MES services instead of the Execute Service task, because it will have a lesser load impact in the MES Service calls load and therefore on the overall Connect IoT performance. Also, the execution context of the entire action shares the same transaction.



