Оператор DATA
Оператор DATA - создание первичного свойства.
Синтаксис
DATA [LOCAL [NESTED [MANAGESESSION | NOMANAGESESSION]]] returnClass [(argumentClass1, ..., argumentClassN)]
Описание
Оператор DATA создает первичное свойство. Этот оператор-свойство не может использоваться внутри выражений. Первичное свойство может быть создано локальным, за это отвечает ключевое слово LOCAL.
Для локального свойства можно дополнительно указать NESTED. Тогда свойство становится вложенным, и его значения сохраняются при операциях управления сессиями. Если после NESTED не указан дополнительный модификатор, вложенность действует и для создания новой сессии, и для операций управления текущей сессией. Модификатор MANAGESESSION оставляет вложенность только для APPLY / CANCEL, а NOMANAGESESSION - только для NEWSESSION.
Этот оператор нельзя использовать в операторе JOIN (внутри [ ]), так как для первичного свойства обязательно должно быть задано имя.
Параметры
-
LOCALКлючевое слово, при указании которого создается локальное первичное свойство.
-
NESTEDКлючевое слово, которое можно использовать только после
LOCAL. Помечает локальное свойство как вложенное. Без дополнительных модификаторов это означает, что свойство будет считаться вложенным и при создании новой сессии, и приAPPLY/CANCEL. -
MANAGESESSION|NOMANAGESESSIONКлючевые слова, которые можно использовать только после
NESTED.MANAGESESSION- свойство считается вложенным только для операций, управляющих текущей сессией (APPLY,CANCEL).NOMANAGESESSION- свойство считается вложенным только при переходе вNEWSESSIONи обратно.
-
returnClassИдентификатор класса возвращаемого значения свойства.
-
argumentClass1, ..., argumentClassNСписок идентификаторов классов аргументов свойства. Может быть пустым; в этом случае обычно используется
().
Примеры
CLASS Item;
quantity = DATA LOCAL INTEGER (Item);
sessionOwners = DATA LOCAL NESTED MANAGESESSION INTEGER ();
CLASS Order;
selected = DATA LOCAL NESTED NOMANAGESESSION BOOLEAN (Order);
CLASS Country;
isDayOff = DATA BOOLEAN (Country, DATE);