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

Оператор 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);