ГОСТ Р ИСО 10303-22-2002
Указатели возможных ошибок
\1X_NDEFДоступ к СИДД-модели не определен.
AI_NEXSЭкземпляр агрегата не существует.
VA_NSETЗначение границы связанной совокупности не установлено.
VT_NVLD Тип значения границы не зависит от совокупности.
TR_NAVLТранзакция недоступна в текущем сеансе.
TR_EABТранзакция прервана аварийно.
EX..NSUPВычисление выражения
Гранины
не обеспечивается данной реализацией.
SY_ERR Обнаружена ошибка основной системы.
10.13 Команды агрегата прикладных экземпляров
10.13.1 С о з д а н и е э к з е м п л я р а а г р е г а т а в к а ч е с т в е т е к у щ е г о э л е
м е н т а
Данная команда заменяет значение текущего элемента экземпляра агрегата новым, пустым
экземпляром агрегата. Если ранее существовавшее значение было экземпляром агрегата
<aggregate_instance), оно уничтожается вместе со всеми вложенными в него aggregate_instance. Но
вый экземпляр агрегата заменяет предыдущее значение в качестве текущего элемента для заданного
итератора. Если областью значений агрегата, связанного с заданным итератором, является SELECT
TYPE языка EXPRESS, aggregate_primitivc, используемый в качестве ввода/пывода, должен быть
select_aggregate_instance, a select_aggregate_instance.data_type на входе должен быть установлен со
значением defined_t>pe. задающим aggregatc_type. экземпляр которого создает операция. Если опе
рация требует создание экземпляра массива, который не является applicatk>n_indexed_array_instance, а
экземпляр массива не может быть создан, так как существующая совокупность прикладной схемы не
достаточна для успешного вычисления выражения, определяющего значение индекса экземпля ра
массива, должна быть выдана ошибка VA_NSET. Если экземпляр массива не является
application_indexed_array_instance и реализация не обеспечивает вычисление выражения для индек са
массива, должна быть выдана ошибка EX_NSUP.
Вход
Итератор:iterator;
итератор, определяющий агрегат и замещаемый текущий элемент.
Вход/Выход
НовыйАгрегат:aggregate_primitive;
новый экземпляр агрегата, создаваемый в качестве текущего элемента.
Указатели возможных ошибок
TR_NRWТранзакция не имеет типа «чтение—запись».
TRJNAVLТранзакция недоступна в текущем сеансе.
TR ЕАВТранзакция прервана аварийно.
MX_NRWДоступ к СИДД-модели не имеет типа «чтение—запись*.
AI_NEXS Экземпляр агрегата не существует.
1R_NEXSИтератор не существует.
IR_NSETТекущий элемент в итераторе не установлен.
VA_NSET Значение индекса экземпляра массива связанной совокупности не установ
лено.
EX_NSUPВычисление выражения индекса не обеспечивается данной реализацией.
SY_ERR Обнаружена ошибка основной системы.
Влияние на среду СИЯЛ
НовыйАгрегат (NewAggregate) должен быть добавлен к содержимому lterator.subject. заменяя
предыдущее значение Iterator.current_memder.
Устанавливается Itcrator.current_member для ссылки на NewAggregate.
Если предыдущий текущий элемент был экземпляром агрегата (aggregateJnstance), он удаля
ется. Любой aggregate_instance, яатяющнйся вложенным элементом заменяемого aggregate_instance,
также удаляется.
10.13.2 З а д а н и е з н а ч е н и я т е к у щ е г о э л е м е н т а
Данная команда заменяет значение текущего элемента экземпляра агрегата заданным значени
ем. Если существовавшим значением был aggregate_instance. он удаляется вместе со всеми вложен
ными в него aggregatejnstance. Новое значение заменяет ранее существовавшее в качестве текущего
элемента заданного итератора.