This appendix covers the following topics:
This appendix lists which Model structure nodes and System Properties are valid when defining a Logic, Numeric, or Comparison Rule. For general information about System Properties, see System Properties.
When defining a rule, you specify which Model structure nodes participate in the rule. When defining a Logic Rule, Numeric Rule, or Comparison Rule, you can also specify whether a node’s System Property participates in the rule. You do this by clicking "Choose Properties" after selecting nodes from the Model structure. For example, you can contribute a value to a participating node’s runtime quantity by defining a Numeric Rule and selecting the node’s Quantity System Property. See Using Properties when Defining a Numeric Rule.
If you do not specify which System Property to use in a rule expression, Configurator Developer assigns an implicit node.property() reference, depending on the node type and the context established by the expression operator. For details, refer to the table Node Types and Implicit System Properties Used in Rule Expressions.
If the context is ... | and the node type is ... | Then the implicit System Property is ... |
---|---|---|
A logic expression in a rule (for example, Requires, Implies, Excludes, Negates, AND, OR, NOT, and so on) | BOM, Option Feature, Boolean Feature, or Option | State |
Any other type of node | None (invalid operand) | |
A numeric expression in a rule (for example, any arithmetic or comparison operator, including +, -, *, /, <, >, ADD...TO, SUBTRACT... FROM, and so on) | BOM or Counted Option | Quantity |
Integer or Decimal Feature, Total, or Resource | Value | |
Any other type | None (invalid operand) |
Configurator Developer also assigns an implicit Property reference if you do not specify a System Property when creating a runtime condition or text expression. Refer to the table below for details.
If the context is ... | and the node type is ... | Then the implicit System Property is ... |
---|---|---|
A display condition or text expression | BOM, Option Feature, Boolean Feature, Option | State |
Integer, Decimal, or Text Feature, Total, or Resource | Value |
Note: For node types that have both the State and Quantity System Property, State takes precedence.
This section lists which nodes and System Properties can participate as:
The table Rules, Valid Node Types, and System Properties summarizes all available node types and System Properties that you can use when defining Logic, Numeric, or Comparison Rules. When reviewing the table, consider the following:
When using any_node.Selection(), the node must be mutually exclusive.
When using any_node.State(), the node in First Operand is converted to a numeric value.
Using any_node.State() in Second Operand causes an error when generating logic.
A blank cell in the table indicates that the node or System Property is not valid, and is therefore not available when defining the rule.
Node Type | Logic | Numeric | Numeric | Comparison | Comparison |
---|---|---|---|---|---|
First Operand & Second Operand | First Operand | Second Operand | First Operand | Second Operand | |
any_node.Property(true/false) | Yes | (converted to numeric) | (converted to numeric) | Yes | |
any_node.Property(numeric) | Yes | Yes | |||
Required or Optional BOM Model | Yes | Yes | Yes | Yes | Yes |
Required or Optional BOM Model.Options() | Yes | Yes | Yes | ||
Required or Optional BOM Model.Selection() | Yes | Yes | Yes | Yes | |
Required or Optional BOM Model.State() | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Required or Optional BOM Model.Quantity() | Yes | Yes | Yes | ||
Required or Optional BOM Model.MinInstances() | Yes | Yes (optional BOM Model only) | Yes | ||
Required or Optional BOM Model.MaxInstances() | Yes | Yes | |||
Required or Optional BOM Model.InstanceCount() | Yes | Yes | |||
Multiple BOM Model | Yes | Yes | Yes | Yes | Yes |
Multiple BOM Model.Options() | Yes | Yes | Yes | ||
Multiple BOM Model.Selection() | Yes | Yes | Yes | Yes | |
Multiple BOM Model.State() | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Multiple BOM Model.Quantity() | Yes | Yes | Yes | ||
Multiple BOM Model.MinInstances() | Yes | Yes | Yes | ||
Multiple BOM Model.MaxInstances() | Yes | Yes | Yes | ||
Multiple BOM Model.InstanceCount() | Yes | Yes | |||
Option Class | Yes | Yes | Yes | ||
Option Class.Options() | Yes | Yes | Yes | ||
Option Class.Selection() | Yes | Yes | Yes | ||
Option Class.State() | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Option Class.Quantity() | Yes | Yes | Yes | ||
Standard Item | Yes | Yes | Yes | Yes | Yes |
Standard Item.State() | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Standard Item.Quantity() | Yes | Yes | Yes | ||
Optional NonBOM Model.MinInstances() | Yes | Yes | Yes | Yes | |
Optional NonBOM Model.MaxInstances() | Yes | Yes | Yes | ||
Optional or Multiple NonBOM Model.InstanceCount() | Yes | Yes | |||
Multiple NonBOM Model.MinInstances() | Yes | Yes | Yes | ||
Multiple NonBOM Model.MaxInstances() | Yes | Yes | Yes | ||
Optional Component.MinInstances() | Yes | Yes | Yes | Yes | |
Optional Component.MaxInstances() | Yes | Yes | Yes | ||
Optional or Multiple Component Model.InstanceCount() | Yes | Yes | |||
Multiple Component.MinInstances() | Yes | Yes | Yes | ||
Multiple Component.MaxInstances() | Yes | Yes | Yes | ||
Boolean or Option Feature | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Boolean Feature.State() or Count Feature.State() | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Count Feature | Yes | Yes | Yes | Yes | Yes |
Count Feature.Quantity() | Yes | Yes | Yes | ||
Option Feature.Options() | Yes | Yes | Yes | ||
Option Feature.Selection() | Yes | Yes | Yes | Yes | |
Option Feature.State() | Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Option | Yes | (converted to numeric) | Yes | (converted to numeric) | Yes |
Counted Option | Yes | Yes | Yes | Yes | Yes |
Option.State() or Counted Option.State() |
Yes | (converted to numeric) | (logic generation error) | (converted to numeric) | Yes |
Option.Quantity() or Counted Option.Quantity() |
Yes | Yes | Yes | ||
Integer or Decimal Feature | Yes | Yes | Yes | ||
Integer or Decimal Feature.Value() | Yes | Yes | Yes | ||
Total or Resource | Yes | Yes | Yes | ||
Total.Value() or Resource.Value() | Yes | Yes | Yes | ||
Constant | Yes | Yes |
The following nodes and System Properties are valid participants on both sides of a Logic Rule:
any_node.Property(true/false)
Required, Optional, or Multiple BOM Model
Required, Optional, or Multiple BOM Model.Options()
Required, Optional, or Multiple BOM Model.Selection() [Note: Mutually exclusive only.]
Required, Optional, or Multiple BOM Model.State()
Option Class
Option Class.Options()
Option Class.Selection()
Option Class.State()
Standard Item
Standard Item.State()
Boolean or Option Feature
Boolean Feature.State() or Count Feature.State()
Count Feature
Option Feature.Options()
Option Feature.Selection()
Option Feature.State()
Option
Counted Option
Option.State() or Counted Option.State()
The value of operands in a Logic Rule are Boolean or a Boolean Collection.
The following nodes and System Properties are valid participants on the First Operand side of a Numeric Rule:
any_node.Property(true/false) [Note: Converted to a numeric value.]
any_node.Property(numeric)
Required, Optional, or Multiple BOM Model
Required, Optional, or Multiple BOM Model.Options()
Required, Optional, or Multiple BOM Model.Selection() [Note: Mutually exclusive only.]
Required, Optional, or Multiple BOM Model.State() [Note: Converted to a numeric value.]
Required or Optional BOM Model.Quantity()
Required or Optional BOM Model.MinInstances()
Required or Optional BOM Model.MaxInstances()
Required or Optional BOM Model.InstanceCount()
Option Class
Option Class.Selection()
Option Class.State() [Note: Converted to a numeric value.]
Option Class.Quantity()
Standard Item
Standard Item.State() [Note: Converted to a numeric value.]
Standard Item.Quantity()
Optional NonBOM Model.MinInstances()
Optional NonBOM Model.MaxInstances()
Optional or Multiple NonBOM Model.InstanceCount()
Multiple NonBOM Model.MinInstances()
Multiple NonBOM Model.MaxInstances()
Optional Component.MinInstances()
Optional Component.MaxInstances()
Optional or Multiple Component Model.InstanceCount()
Multiple Component.MinInstances()
Multiple Component.MaxInstances()
Boolean or Option Feature [Note: Converted to a numeric value.]
Boolean Feature.State() or Count Feature.State() [Note: Converted to a numeric value.]
Count Feature
Count Feature.Quantity()
Option Feature.Selection()
Option Feature.State() [Note: Converted to a numeric value.]
Option [Note: Converted to a numeric value.]
Counted Option
Option.State() or Counted Option.State() Note: Converted to a numeric value.]
Option.Quantity()or Counted Option.Quantity()
Integer or Decimal Feature
Integer or Decimal Feature.Value()
Total or Resource
Constant
Total.Value() or Resource.Value()
The value of First Operand in a Numeric Rule is Decimal.
The following nodes and System Properties are valid participants on the Second Operand side of a Numeric Rule:
Required, Optional, or Multiple BOM Model
Required, Optional, or Multiple BOM Model.State() [Note: Causes an error when generating logic.]
Required, Optional, or Multiple BOM Model.Quantity()
Multiple BOM Model.MinInstances()
Multiple BOM Model.MaxInstances()
Option Class
Option Class.State() [Note: Causes an error when generating logic.]
Option Class.Quantity()
Standard Item
Standard Item.State() [Note: Causes an error when generating logic.]
Standard Item.Quantity()
Multiple NonBOM Model.MinInstances()
Multiple NonBOM Model.MaxInstances()
Multiple Component.MinInstances()
Multiple Component.MaxInstances()
Boolean or Option Feature [Note: Causes an error when generating logic.]
Boolean Feature.State() or Count Feature.State() [Note: Causes an error when generating logic.]
Count Feature
Count Feature.Quantity()
Option Feature.Options()
Option Feature.Selection()
Option Feature.State() [Note: Causes an error when generating logic.]
Option
Counted Option
Option.State() or Counted Option.State() [Note: Causes an error when generating logic.]
Option.Quantity() or Counted Option.Quantity()
Optional BOM Model.MinInstances()
Optional NonBOM Model.MinInstances()
Integer or Decimal Feature
Integer or Decimal Feature.Value()
Total or Resource
Total.Value() or Resource.Value()
The value of Second Operand in a Numeric Rule is Decimal and mutable.
The following nodes and System Properties are valid participants on the First Operand side of a Comparison Rule:
any_node.Property(true/false): Converted to a numeric value
any_node.Property(numeric)
Required, Optional, or Multiple BOM Model
Required, Optional, or Multiple BOM Model.Selection() [Note: Mutually exclusive only.]
Required, Optional, or Multiple BOM Model.State() [Note: Converted to a numeric value.]
Required or Optional BOM Model.Quantity()Required or Optional BOM Model.MinInstances()Required or Optional BOM Model.MaxInstances()Required or Optional BOM Model.InstanceCount()
Option Class
Option Class.Selection()
Option Class.State() [Note: Converted to a numeric value.]
Option Class.Quantity()
Standard Item
Standard Item.State() [Note: Converted to a numeric value.]
Standard Item.Quantity()
Optional NonBOM Model.MinInstances()
Optional NonBOM Model.MaxInstances()
Optional or Multiple NonBOM Model.InstanceCount()
Multiple NonBOM Model.MinInstances()
Multiple NonBOM Model.MaxInstances()
Optional Component.MinInstances()
Optional Component.MaxInstances()
Optional or Multiple Component Model.InstanceCount()
Multiple Component.MinInstances()
Multiple Component.MaxInstances()
Boolean or Option Feature [Note: Converted to a numeric value.]
Boolean Feature.State() or Count Feature.State() [Note: Converted to a numeric value.]
Count Feature
Count Feature.Quantity()
Option Feature.Selection()
Option Feature.State() [Note: Converted to a numeric value.]
Option [Note: Converted to a numeric value.]
Counted Option
Option.State() or Counted Option.State() [Note: Converted to a numeric value.]
Option.Quantity()or Counted Option.Quantity()
Integer or Decimal Feature
Integer or Decimal Feature.Value()
Total or Resource
Total.Value() or Resource.Value()
Constant
The value of First Operand in a Comparison Rule is Decimal.
The following nodes and System Properties are valid participants on the Second Operand side of a Comparison Rule:
any_node.Property(true/false)
Required, Optional, or Multiple BOM Model
Required, Optional, or Multiple BOM Model.Options()
Required, Optional, or Multiple BOM Model.Selection(): Mutually exclusive only.
Required, Optional, or Multiple BOM Model.State()
Option Class
Option Class.Options()
Option Class.Selection()
Option Class.State()
Standard Item
Standard Item.State()
Boolean or Option Feature
Boolean Feature.State() or Count Feature.State()
Count Feature
Option Feature.Options()
Option Feature.Selection()
Option Feature.State()
Option
Counted Option
Option.State() or Counted Option.State()
The value of Second Operand in a Comparison Rule is Boolean or a Boolean Collection.