Перейти к основному содержимому
Версия: 7.0

Инструкция AFTER

Инструкция AFTER - вызов действия после вызова другого действия.

Синтаксис​

AFTER action(param1, ..., paramN) DO aspectAction;

Описание​

Инструкция AFTER задает действие (будем называть его аспектом), которое будет вызываться после вызова указанного действия.

Аспект получает те же значения параметров, что и основное действие, и выполняется после его тела, в том числе когда тело завершилось оператором RETURN. Если вызов отменен аспектом инструкции BEFORE или прерван ошибкой, аспект не выполняется. Выход из самого аспекта завершает только его. Несколько аспектов одного действия выполняются в порядке объявления.

Параметры​

Примеры​

changePrice(Sku s, DATE d, NUMERIC[10,2] price)  { price(s, d) <- price; }

// Сообщение будет показано после каждого вызова changePrice
AFTER changePrice(Sku s, DATE d, NUMERIC[10,2] price) DO MESSAGE 'Price was changed';