The Condition tab defines a condition for the Transformation rule that must be met in order for the target attribute to be updated with the target value.
CN_Condition_Sequence – determines the order in which the conditions are processed when more than one condition is defined for the same rule.
CN_Condition_Group – optional name of the group of conditions in cases where combinations of AND and OR are needed. The conditions within a group are combined based on the Condition_AND_OR setting on all but the first condition in that group. The condition groups are combined by the setting of the Condition_AND_OR of the first condition of each group. Any condition that does not have a condition group assigned will be automatically part of a DEFAULT group and will be treated as though a group name was specified.
CN_Condition_AND_OR – specifies whether the condition must be met with the other conditions defined or
The conditions for a rule are handled in a consistent manner on a group by group basis, followed by the results of each group. The evaluation of the conditions in the group will have the following behavior:
- The first condition is evaluated to produce an outcome of true or false.
- If there are no other conditions in the group, this value is used as the outcome of the group.
- If there are additional conditions then the first condition outcome is assigned to the current condition outcome
-
Loop for each condition
- If the current condition outcome is true and the next condition is set to OR, it is skipped and the value defined for the first condition is returned.
-
If the current condition outcome is true and the next condition is set
to AND, it is evaluated.
- If the next condition is false, the false outcome is returned for the group
- If the next condition is true, the current condition outcome is set to true and return to the Loop for the next condition. All conditions for the same rule must evaluate to true in order for the rule to be applied. If this is the case, the target value associated with the last condition will be used.
- If the current condition outcome is false and the next condition is set to OR, return to the Loop for the next condition
- If the current condition outcome is false and the next condition is set to AND, the false outcome is returned for the group.
- If all conditions have been processed, return the current condition outcome. In summary, if the conditions within a group are combined with OR, the first condition to evaluate to true will be used to identify the value for the target. If the conditions within a group are combined with AND, the last condition to be evaluated will be used to identify the value for the target (providing all conditions to evaluate to true). If multiple condition groups are defined for a rule, the same logic is applied to the outcome of each condition group.
CN_Condition_Repository – name of the repository containing the attribute containing the value to be tested for the condition. This should only be set when the value to be tested is in the trigger record.
CN_Condition_Attribute – name of the attribute containing the value to be tested for the condition. Only used if the attribute is in the Trigger record
CN_Condition_SQL - SQL expression returning the value to be applied to the left-side of the condition. The SQL should identify a record that is linked to the change event repository record (as an alternative to referencing the link relationship). The query must return one or more columns, of which only one will be referenced by this condition (in the CN_Condition_Attribute_Restricted_Name attribute). Multiple columns should be specified if different conditions need different values from the same record as the data will be cached after the first time the SQL is run. If multiple rows are returned, the rows after the first are ignored.
CN_Condition_Attribute_Restricted_Name – restricted name of the attribute containing the value to be tested for the condition. Only used if the Condition_Repository and Condition_Link_Relationship, or Condition_Link_SQL are defined.
CN_Condition_Operator – operator to be used to compare the specified attribute value against the condition value. Supported operators are:
- = - the attribute has the same value as the Condition_Value
- <> - the attribute does not have the same value as the Condition_Value
- > - the attribute is greater (or alphabetically higher) than the Condition_Value
- >= - the attribute is greater or equal (or alphabetically higher or equal) than the Condition_Value
- < - the attribute is smaller (or alphabetically lower) than the Condition_Value
- <= the attribute is smaller or equal (or alphabetically lower or equal) than the Condition_Value
- Is One Of – the attribute matchs one of the delimited values in the Condition_Value
- Is Not One Of – the attribute doesn't match any of the delimited values in the Condition_Value
- Is Empty – the attribute doesn't have a value
- Is Not Empty – the attribute has a value
- Like – the attribute matches the pattern where '%' and '_' are wildcards
- True – always returns true. This can be used to act as a default rule for a sequence of exclusive rules. If no other rule is met, the rule with this condition will always be
CN_Condition_Data_Type – Data type for the condition. Both sides of the condition must be of the same type. The supported types are:
- Text – the values are to be compared as text strings
- Number – the values are to be compared as numbers
- Date – the values are to be compared as date (and optional time)
CN_Condition_Value_Literal – value used in the comparison with the Condition_Attribute. If the Condition_Operator is Is One of or Is Not One Of, the value must be a comma-delimited list.
CN_Condition_Value_Repository – name of the repository containing the record and attribute to be compared to the Condition_Attribute. Ignored if Condition_Value_Literal is set. The repository must be the same as the change event repository.
CN_Condition_Value_Attribute – name of the attribute to be compared to the Condition_Attribute. Only used if Condition_Value_Literal, Condition_Value_Repository and Condition_Value_Link_Relationship, or Condition_Value_SQL are not set.
CN_Condition_Value_SQL – SQL expression returning a row of data to be used as the source for the condition value. A column name must match the Condition_Value_Restricted_Attribute (defined below). The same SQL may be defined in multiple conditions but each referencing a different column. This allows the data for multiple conditions to be returned and used for multiple conditions and rules with a single execution of the query. This SQL can return calculated values as well as columns from linked records. For example, if the target value is revising an End Date to be one day before a new record's start date, the SQL will include an expression that subtracts one day from the snapshot view column that contains the record's start datae. This field is ignored if Condition_Value_Literal is set.
CN_Condition_Value_Restricted_Name – restricted name of the SQL result column to be compared to the Condition_Attribute. Ignored if Condition_Value_Literal or Condition_Value_Attribute is set