Data Management Capabilities > Managing Part Structures > Windchill Options and Variants Capabilities > Filtering a Configurable Product Structure with the Option Filter > Standard and Alternate Option Filter > Customizing Filtering Behaviors for the Option Filtering Delegate > Evaluation of Advanced Expressions
  
Evaluation of Advanced Expressions
Selection Status of Choices
An expression assigned to objects, such as parts and part usage links, is a Boolean expression. The status of the choice selections in the expression operands that use Boolean values is defined as follows:
If an option has a choice selected in the Options filter, then the selected choices are assigned the value TRUE. Unselected choices are assigned the value FALSE.
If an option has no choices selected by the user in the Options filter, then the choices are considered UNDEFINED.
Short-circuit Evaluation of Expressions
The expressions are evaluated according to the following truth tables for the three basic logical operators:
Operator
A
!A (NOT A)
Definition and Values
AND
TRUE
FALSE
If the value of one of the two operands is FALSE, the result is FALSE irrespective of the value of the other operand (TRUE, FALSE, or UNDEFINED).
If the value of one of the operands is TRUE, the result coincides with the value of the other operand.
OR
FALSE
TRUE
If the value of one of the two operands is TRUE, the result is TRUE, regardless of the value of the other operand (TRUE, FALSE, or UNDEFINED).
If the value of one of the operands is FALSE, the result coincides with the value of the other operand.
NOT
UNDEFINED
UNDEFINED
Evaluation Modes of Advanced Expressions
An expression assignable object (such as a part, a part usage link, or occurrence) can have its assigned advanced expression in the following modes:
Mode
Definition and Values
UNDEFINED
The object is assigned an advanced expression that cannot be evaluated. The result of computation is UNDEFINED.
DEFINED
The object is assigned an advanced expression that evaluates to a Boolean value – TRUE or FALSE.