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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Executing a DEE Action#
To execute a DEE Action, select the Execute button in the DEE Actions ribbon.
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.
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.
Note
This option is only available once you select in Version History view.
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













