Инструкция <- WHEN
Инструкция <- WHEN
- создание вычисляемого события.
Синтаксис
propertyId(param1, ..., paramN) <- valueExpr WHEN eventExpr;
Описание
Инструкция <- WHEN
создает вычисляемое событие для свойства, указанного в левой части инструкции. Этот оператор может объявлять свои локальные параметры при задании свойства, значение которого будет изменяться. Затем эти параметры могут быть использованы в выражениях условия и значения, на которое будет изменяться свойство.
Для свойства можно задать только одно вычисляемое событие.
Параметры
propertyId
Идентификатор свойства, значение которого будет изменено при наступлении события.
param1, ..., paramN
Типизированные параметры свойства, значение которого будет изменено при наступлении события. Количество этих параметров должно совпадать с количеством параметров изменяемого свойства.
valueExpr
Выражение, на значение которого необходимо изменить значение свойства.
eventExpr
Выражение, значение которого является условием создаваемого события.
Примеры
// при добавлении клиента, по умолчанию, предоставить ему заданную скидку
defaultDiscount = DATA NUMERIC[6,2] ();
discount = DATA NUMERIC[6,2] (Customer);
discount(Customer c) <- defaultDiscount() WHEN SET(c IS Customer);
quantity = DATA NUMERIC[10,2] (OrderDetail);
price = DATA NUMERIC[10,2] (OrderDetail);
sum = DATA NUMERIC[10,2] (OrderDetail);
sum(OrderDetail d) <- quantity(d) * price(d) WHEN CHANGED(quantity(d)) OR CHANGED(price(d));