Rule editor
As an example, let's look at a user defined profile named ProductInfo. ProductInfo has these fields:
- Destination
- Origin
- ECCN-Cat
- ECCN-Group
- productId
I want to evaluate the data to determine if the current request should be restricted based on the following requirements:
- Exports from the US of aerospace technology are not allowed to UA or TU.
- Exports from the US of security software are not allowed to TK or BZ.
First, start with a rule decision with an activation of ProductInfo.Origin match_ignore_case US.
Next, create two rule facts, one for each requirement. For example:
- Security Software
- Aerospace Tech. This table shows the values for the rule fact.
OR ProductInfo_Destination match_case_ignore UA ProductInfo_Destination ProductInfo_Destination TU AND ProductInfo.ECCN-cat = 9 ProductInfo.ECCN-Group match_ignore_case E
In this rule ECCN codes are used to determine the type of product. Category 9, Group E corresponds to Aerospace Technology. The rule is:
( (Destination = UA) OR (Destination = TU) ) AND ( (ECCN_Cat = 9) AND (ECCN_Group = E) )
The profile name, ProductInfo, has been removed for simplification. The equal sign (=) is used for string comparison to represent the match_ignore_case operator.
A rule is composed of one or more rule statements. Rule statements evaluate to true or false. Two rule statements can be combined using AND or OR. The resulting group is also considered a statement. An individual statement or a group of statements can be negated by selecting the
icon for the statement.There are two types of rule statement: binary and unary. The rule operator determines the type of statement. For example, the = operator is use to compare two things and is there for binary while the isEmpty operator applies to a single thing and is unary. The general structure of a rule is <Left Hand Side> operator <Right Hand Side>. Binary operators require both left hand and right hand side values while a unary operator only requires the left hand side.
The Rule editor provides a list of profile fields for the left had side. Once a field has been selected the data type of the field is used to filter the list of available operators. The right hand side is for user specified values. If the operator selected is a unary operator, the right hand side field is removed.