Constraints rules -
Records can be created in various ways. You can add a new record to your application or copy an existing one. You can specialize existing rules by creating a copy in a specific ruleset, against a different class or (in some cases) with a set of circumstance definitions. You can copy data instances but they do not support specialization because they are not versioned.
        Create a constraints rule by selecting
        Constraints
        from the
        Decision
        category.
      
Key parts:
A constraints rule has two key parts:
| Field | Description | 
|---|---|
| Apply to | Select a class for this rule. At runtime, a clipboard page of this class must be a top-level page. The properties to be constrained may be in this class (or in the class of an embedded page). You cannot use a Rule-Declare-* class or any ancestor of the Rule-Declare - class (including @baseclass ) here. You cannot use a class derived from the Code- or Embed- class here. | 
| Identifier | Enter a name for this constraint, unique within the Apply to class. Begin the name with a letter and use only letters, numbers, the ampersand character, and hyphens. No other rules explicitly reference this Identifier value. However, because of normal class inheritance, a constraints rule named MaximumLimit at one level in the class structure may override (and so prevent execution of) a constraints rule named MaximumLimit at a higher level in the class structure. | 
Rule resolution
When searching for instances of this rule type, the system uses full rule resolution which:
- Filters candidate rules based on a requestor's ruleset list of rulesets and versions
- Searches through ancestor classes in the class hierarchy for candidates when no matching rule is found in the starting class
- Finds circumstance-qualified rules that override base rules
- Finds time-qualified rules that override base rules