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

Вызов (EXEC)

Оператор вызова действия создает действие, которое выполняет другое действие, передавая ему заданные значения аргументов для его параметров.

Если у вызываемого действия есть результат, этот результат можно записать в свойство в точке вызова. Если сам результат является свойством от дополнительных параметров, это свойство должно иметь такие же классы параметров.

Действия, возвращающие результат, можно также использовать как значение — результат подставляется в позиции вызова.

Язык

Синтаксис оператора вызова действия описывается оператором EXEC.

Примеры

// объявление действие importData с двумя параметрами
importData(Sku sku, Order order) {
MESSAGE 'Run import for ' + id(sku) + ' ' + customer(order);
}

order = DATA Order (OrderDetail) NONULL DELETE;
// объявление действия runImport, которое будет вызывать importData
runImport(OrderDetail d) { importData(sku(d), order(d)); }

// вызов действия с результатом и запись его в свойство
getPrice (Item i) ABSTRACT NUMERIC[10,2];
currentPrice = DATA LOCAL NUMERIC[10,2] ();

showPrice (Item i) {
getPrice(i) TO currentPrice;
MESSAGE 'Price: ' + currentPrice();
}