Skip to content

DEE Actions#

🔒 Administration.DynamicBusinessRules

Dynamic Execution Engine (DEE) Actions provides access to the available DEE Actions. DEE Actions are soft-rules defined in C# which are loaded and compiled into memory and executed during runtime. The most common use for DEE Actions is to implement pre and post transaction logic.

An Action Group represents a context where the rule is executed automatically by the system.

dee00

Browsing DEE Actions#

By selecting the DEE Actions entry in the Administrators Page Group all available DEE Action Groups and DEE Actions are shown. From this tree it is possible to:

  • Create a new Action - by selecting the New button on the top ribbon.
  • Compile all DEE Actions - by selecting the Compile All button on the top ribbon, you can validate the code structure and integrity for all the actions.
  • Enable all DEE Actions - by selecting the Enable All button on the top ribbon, you can enable all DEE Actions in the system.
  • Disable all DEE Actions - by selecting the Disable All button on the top ribbon, you can disable all DEE Actions in the system.

You can filter the DEE Actions that are displayed on the grid by choosing the appropriate Status of the DEE Actions to display:

  • All - shows all DEE Actions.
  • Enabled - only displays enabled DEE Actions.
  • Disabled - only displays disabled DEE Actions.

Info

If a DEE Action has an Effective version, the versions displayed on the grid follow this sequence graph:

graph LR
A{Status filter} --> All[All]
A --> Enabled[Enabled]
A --> Disabled[Disabled]

All --> EffectiveAll{Is there an Effective<br> version?}
Enabled --> EffectiveEnabled{Is there an Effective<br> version?}
Disabled --> EffectiveDisabled{Is there an Effective<br> version?}

EffectiveAll -->|Yes| E[Shows the Effective<br> Version]
EffectiveEnabled -->|Yes| F[Shows the Effective Version<br> if it is Enabled,<br> otherwise don't show anything]
EffectiveDisabled -->|Yes| G[Shows the Effective Version if it is Disabled,<br> otherwise don't show anything]

EffectiveAll -->|No, all versions<br> are Active| H[Shows the most recent Version]
EffectiveEnabled -->|No, all versions<br> are Active| I[Shows the most recent Version<br> if it is Enabled,<br> otherwise don't show anything]
EffectiveDisabled -->|No, all versions<br> are Active| J[Shows the most recent Version<br> if it is Enabled,<br> otherwise don't show anything]

DEE Action Details#

To view the details of a specific DEE Action, simply select its name to display information similar to the example below. Each DEE Action includes an information button that provides the ID, the creation date and creator, as well as the last modification date and the person who made the changes.

dee06

Creating a DEE Action#

🔒 DynamicBusinessRules.Create

🔒 ActionGroup.Create

To create a new Action Group, you should select the New Action Group button accessible through the tree dot menu in the Action Groups panel, as shown below.

Info

To create a Sub Action Group, add a dot (.) in the name. For instance, the folder Main.Sub1.Sub2 will create a Sub Folder Sub1 under Main and a Sub Folder Sub2 under Sub1.

When drilling down to a particular Action Group leaf of the tree, it is possible to change the order (be sure to select Save), add and remove DEE Rules from the Action Group. Note that removing a DEE Rule from an Action Group does not delete the DEE Rule.

dee05

To create a DEE Action, simply select the New button on the top ribbon, then provide a Name. Optionally, you can add a Description and a Classification. You can also create a Rule by enabling the Create Rule option, which will then be associated with the DEE Action. Afterwards, you can assign it to an Action Group, which defines where and when the DEE Action will be executed. Finally, select Create to complete the operation.

Once the DEE Action is created, you need to add the code for its functionality. A DEE Action is logic represented in C# code and consists of a test condition and the action itself. The action is only executed during runtime if the test condition evaluates to true. The DEE Action editor also provides various utilities, as shown below.

dee08

Warning

The configuration of Actions should be performed only by expert personnel and be tested first in a development environment. A misconfigured DEE Action can cause the system to behave erratically.

To save a DEE Action, open it and then select the Enable button in the ribbon.

dee09

The Save operation creates a new version of the DEE Action. This new version can have a Description and Classification. Optionally, you can set this newly created version as immediately effective.

dee10

Editing a DEE Action#

🔒 DynamicBusinessRules.Edit

To edit a DEE Action, change the View Mode by selecting the View button and then select Code.

Disabling a DEE Action#

🔒 DynamicBusinessRules.Edit

To disable a DEE Action, open it and then select the Disable button on the top ribbon.

dee12

Note

It is only possible to disable an already enabled DEE Action.

Enabling a DEE Action#

🔒 DynamicBusinessRules.Edit

To enable a DEE Action, open it and then select the Enable button on the top ribbon.

dee11

Note

It is only possible to enable an already disabled DEE Action.

Deleting a DEE Action#

🔒 DynamicBusinessRules.Delete

To delete a DEE Action, select it first and then select the Delete button on the top ribbon.

dee14

Validating a DEE Action#

To validate a DEE Action, select the Validate button in the DEE Actions ribbon. This will trigger a syntax check and a verification of the code.

dee13

Executing a DEE Action#

To execute a DEE Action, select the Execute button in the DEE Actions ribbon.

dee15

Importing a DEE Action#

To import a DEE Action Code, select the Import button in the DEE Actions ribbon. This allows you to upload a C# file of your choice.

dee16

Info

For more information, see Importing DEE Actions using the Master Data Loader.

Set a DEE Action as Effective#

As any other version controlled object, it is possible to make effective a version that is different from the actual effective version. To do so, select the Set Effective button.

dee17

Note

This option is only available once you select in Version History view.

dee18

System DEE Actions#

The following table lists the enabled DEE Actions provided by the system:

Name Description Classification
AreaAutoStateChange This action is used for the automatic state change of an Area. Area
AutomaticClockOutCheckOut This action automates the checkout and clock of Employees. LaborManagement
CalculateMaterialProcessingTime This action calculates the Material processing time. ParameterCalculatingFunction
CalculateMaterialQuantity This action calculates the Material quantity. ParameterCalculatingFunction
CalculateMaterialYield This action calculates the Material yield. ParameterCalculatingFunction
ClearNotifications This action clears (terminates) all automatic notifications. AlarmManagement
ContainerAutoStageChange This action is used for the automatic stage change of a Container. Container
ERPOutputMessageHandlerAction This action enables changing the way Critical Manufacturing MES checks if the output of a BAPI call was or not successful. EPR
EvaluateCalendarForEntity This action evaluates the Calendar that applies to a given entity instance.
EvaluateCalendarForMaintenance This action evaluates the Calendar that applies to a given Maintenance Context. MaintenanceManagement
EvaluateContextDataForMaintenance This action evaluates Contextual Data that applies to a given Maintenance Context. MaintenanceManagement
ExceptionManagementHoldMaterial In the context of Exception Management, this action is used to put a Material on hold. ExceptionManagementAction
ExceptionManagementPutEquipmentDown In the context of Exception Management, this action is used to put a Resource (equipment) in the Unscheduled Down state in accordance with the SEMI-E10 state model state attribute. ExceptionManagementAction
ExceptionManagementSendMail In the context of Exception Management, this action is used to send an email to the established support distribution list. ExceptionManagementAction
GenerateMaintenancePlanInstanceName This action is used as a default instance name generator for a Maintenance Plan Instance. MaintenanceManagement
ManageDocumentContexts This action is used to manage Document contexts. ManageDocumentContexts
MaterialTransferGetTransferToFlowPath In the context of a Material transfer, this action is used to evaluate the transfer Flow Path. WarehouseManagement
NameGeneratorNoInputRule This action is used as the default instance name generator when the instance name is absent and no other naming rule applies. NameGenerator
ProcessRemoteMaterialShipment This action is used to handle the Integration Entries that were generated as a result of a Material remote shipping.
PurgeAttachmentsTemporaryFileShareAction This action purges the outdated files from the attachments' temporary folder. General
PurgeTemporaryFolderAction This action purges the outdated files from the common temporary folder. General
RemindTasks This action is used to timely trigger User reminders using Notifications. ExceptionManagement
ResolveMapDefinitionNameForNameGenerator This action resolves the name for a Map Definition for a given Map. Resource
ResolveNameGenerator This action is used to resolve the Name Generator for a given entity instance. NameGenerator
ResourceAutoStateChange This action is used for the automatic state change of a Resource. Resource
ResourcePropagateUp This is a user-configurable behavior to propagate up (so as to synchronize) the parent resource state. Although this only works one level up, it may trigger a recursive call if the parent has the property PropagateUp defined.
ResourceValidateDown This is a user-configurable behavior to evaluate whether a certain Resource state change is possible depending on the state of its sub-resources (first level only).
SetOrUnsetMaterialDispatchable This action sets or unsets the Material as dispatchable. Material
SetOrUnsetResourceDispatchable This actions sets or unsets the Resource as dispatchable. Resource
SPCHoldMaterial In the context of SPC, this action is used to put a Material on hold. SPCAction
SPCPutEquipmentDown In the context of SPC, this action is used to put a Resource (equipment) in the Unscheduled Down state in accordance with the SEMI-E10 state model state attribute. SPCAction
SPCSendMail In the context of SPC, this action is used to send an email to the established support distribution list. SPCAction
SynchronizeEmployeeQualificationsAndCertifications This action synchronizes all Employee qualifications and certifications. Certification Management
SynchronizePlanTimeFrames This action is used to synchronize all active Plan Time Frame(s) according to the current date. General
SynchronizeResourceMainStateWithSystemState This action synchronizes the Resource state with the System state. Resource
SystemCreateAndPerformMasterData This action loads the master data into Critical Manufacturing MES by creating and performing a Master Data Package.
SystemExecuteCode This action is used for execute code dynamically.
SystemImportObjects This action is used to import objects into Critical Manufacturing MES.
SystemPerformMasterData This action performs a Master Data Package.
AppFrameworkCreateAndPerformMasterData This action creates and performs a Master Data Package in the App Framework host. Used for App installations that require custom objects.
TerminateAutomationJobsInErrorAction This action is used to terminate automation jobs when an error occurs.
TestRule This action executes a rule to throw exception as a test.

Table: System DEE Actions