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

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