Conditional action statements can execute different actions based on some condition. Note that the condition here is not the same as the rule condition (if clause of the rule); but is a condition used inside the Action part of the rules, which means it is checked only when the rule is successfully triggered.
The general syntax for a conditional statement is:
Note: The else part is optional. The condition follows exactly the same syntax as for the main condition part of the rule.
In the following example of this rule, a sequence of three action statements exists in the Action part.
rule earlybird_discount
activated by evt1 of BP Server::PI_ACTIVATED{PROCESSTEMPLATENAME : "CustomerRequest"}
then {
if ( (evt1.totalamount >= 500)
and (evt1.reqtype = "ProductOrder")
and (ReqStats["ProductOrder"][ evt1.region].count < 1001))
ReqStats["ProductOrder"][ evt1.region].count += 1;
ReqStats["ProductOrder"][ evt1.region].totalamount += evt1.amount;
}
The second one is the conditional statement, which uses a complex condition. It has a functional statement ReqStats["ProductOrder"][ evt1.region].count += 1;