Skip to content

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.

Execute Action task parameters

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.

Execute Action task settings

On Inputs Tab, there are the following settings:

Name Data Type Description
Name String An input name
Type Long
Decimal
DateTime
Boolean
String
Integer
The type of the input
Collection Type None
Array
Map

Screenshot showing settings options for collection type.

On the Outputs, there are the following settings:

Name Data Type Description
Name String An output name
Type Long
Decimal
DateTime
Boolean
String
Integer
The type of the output
Collection Type None
Array
`Map

Screenshot showing a settings page with options for collection type, including "None", "Array", and "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.