--- alias: user-guide-rule-index description: "Reusable objects, called Rules, map to DEE rules for evaluating or processing data" --- # Rule :lock: Rule.**Show** ## Overview A **Rule** is a reusable object that maps to a DEE rule used to evaluate or process something. There are the following types of **Rules** defined by its scope: * **AlarmManagement** - used for notifications operations. * **BOMQuantityCalculation** - used for quantity calculations of **BOM Products** in Weigh & Dispense operations. * **CertificationManagement** - used for Certification Management operations. * **ConnectIoT** - used for Connect IoT operations. * **EDC** - a rule that can be used in a **Data Collection** for a calculating a parameter. * **EFC** - used for Electronic Failure Catalogue operations. * **ExceptionManagementAction** - a rule which executes an action (manual or automatic) in a **Protocol** **Checklist**. * **ExceptionManagementSource** - a rule which feeds the possible values for a parameter in an **Protocol**. * **General** - a general purpose rule. * **InspectionReducing** - rules to be used when applying **Inspection Plan** Reducing methods. * **InspectionTightening** - rules to be used when applying **Inspection Plan** Tightening procedures. * **KPIDataSource** - used for **KPI** calculations. * **LaborManagement** - used for Labor Management operations. * **MaintenanceManagementAction** - a rule which executes actions when managing Maintenance Management operations. * **MaterialFutureActions** - used to maintain Future Actions for a **Material**. * **MaterialManagementAction** - used for Material Management operations. * **OrderManagementAction** - used for Order Management operations. * **PrintableDocumentContextItem** - a rule which is used to calculate a variable in a **Printable Document**. * **PrintingIntegration** - a rule for printing using a third party Printing System. * **RecipeManagement** - a rule that can be used in **Recipe** for a calculating a parameter. * **SamplingSelection** - a rule used to apply a **Sampling Pattern** to a **Material**. * **SendAheadSelection** - a rule used when performing **Send-Ahead Run** scenarios. * **ShiftPlanning** - an action to be called to validate a **Shift Plan** **Calendar**. * **SmartTable** - an action that will be triggered by a change in a Smart Table.. * **SortRuleSetMaterial** - a rule which is used to sort the list of dispatch Materials from the point of view of the **Material**. * **SortRuleSetResource** - a rule which is used to sort the list of dispatch *Resources* from the point of view of the **Step**. * **SPC** - a rule which is used evaluate if some chart rules are violated or not. * **SPCAction** - an action that will be triggered by SPC when a SPC rule is violated. * **System** - system rules provided out of the box. * **TaskManagement** - used for Task Management operations. * **TimeConstraint** - a rule which is fired when a time constraint warning or limit is reached. !!! info The DEE rules classification available for each Rule Scope is defined in the generic table Scope Classifications. ## System Rules The system comes pre-configured with the following rules in several different scopes, listed on the [System Rules](system_rules.md) page. ## Tying Everything Together ```mermaid graph LR A1[Printable Document Context Item] -.- Main[Rule] --- A2[Chart Rule] --- A3[Chart] A4[Sort Rule Set] --- Main -.- A5[Checklist Item] --- A6[Checklist] classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200; classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden; classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%; classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%; classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%; classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%; classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%; classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5; class Main mermaid_entity class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14 mermaid_businessdata class L1,L2,L3,L4,L5,L6,L7 mermaid_entitylinked class C1,C2,C3,C4,C5,C6 mermaid_context class N1,N2,N3,N4,N5,N6 mermaid_nonbusinessdata click Main "../../business-data/resource" click A3 "../../business-data/chart" click A4 "../../business-data/sort-rule-set" click A5 "../../business-data/checklist" click A6 "../../business-data/checklist" ``` ## Sequence Of Steps !!! info It is only possible to create user defined rules, which require a Dynamic Exception Engine rule The necessary steps for correctly using a **Sort Rule** are the following: 1. Create the Dynamic Execution Engine rule. 2. Create the Rule. {{ generate_index() }}