Rule Definition

Rule is defined as follows:

IF (RuleCondition) THEN
    ActionList
ELSE 
    ActionList

where RuleCondition defines one or more conditions that have to hold true before the specified ActionList is executed. IF and ELSE statements are optional, so it is possible to have a rule which only has action statement(s) – such rules are called unconditional rules. It is also possible to include IF statement within ELSE:

IF (RuleCondition) THEN
    ActionList
ELSE IF (RuleCondition) THEN
    ActionList
ELSE
    ActionList 

Rules operate on business objects and/or their attributes, i.e. both the condition and action parts of a rule may refer to a business object and its attribute. Business objects are referred to by name, for example Account. Attributes of a business object are referred to by the attribute name where the name of the attribute is separated from the name of the business object by the dot symbol, for example Account.State.

Examples of rules:

IF Account.State='CLOSED' AND Account.Balance<>0 THEN
    REPORT ERROR 'Account with non-zero balance cannot be closed' 
CreditAccount.AvailableFunds = CreditAccount.CreditLimit+CreditAccount.Balance-CreditAccount.NonClearedFunds 
IF Account.Type IS UNDEFINED THEN
    FIND AccountType WHERE AccountType.Name='Credit' Account.Type=AccountType 
  • Last modified: 2022/09/13 18:15