ГОСТ Р ИСО 10303-22-2002
application_inde\ed_array_instance. а экземпляр массива не может быть создан, так как
существую
щая совокупность прикладной схемы недостаточна для успешного вычисления выражения, опреде
ляющего значение индекса экземпляра массива, должна быть выдана ошибка VA_NSET. Если эк
земпляр массива не является application_indexed_array_instance и реализация не обеспечивает вы
числение выражения для индекса массива, должна быть вышка ошибка EX_NSUP.
Вход
Итератор:iterator;
итератор Агрегата (Aggregate), определяющий позицию, перед которой до
бавляется значение.
Выход
НоаыйАгрегат:aggregate primitive;
новый экземпляр агрегата, добавляемый в Aggregate перед позицией, за
данной Итератором (Iterator).
Указатели возможных ошибок
TR_NRWТранзакция не имеет типа «чтение—запись».
TR__.NAVL Транзакция недоступна в текущем сеансе.
TR_EAB Транзакция прервана аварийно.
\1X_NRWДоступ к СИДД-моделн не имеет типа «чтение—запись*.
Al_NEXS Экземпляр агрегата не существует.
AI_NVLDЭкземпляр агрегата не яатяется списком.
IR_NEXSИтератор не существует.
IR_NSETТекущий элемент итератора не установлен.
VA_NSET Значение индекса экземпляра массива соответствующей совокупности не
установлено.
EX_NSUPВычисление выражения индекса не обеспечивается данной реализацией.
SY_ERR Обнаружена ошибка основной системы.
Влияние на среду СИДД
НовыйАгрегат (NewAggregate) должен быть новым пустым экземпляром агрегата, имеющим
тип элемента соответствующего Агрегата (Aggregate».
NewAggregate должен быть элементом соответствующего Aggregate, вставленным в позицию,
предшествующую позиции, заданной Итератором (Iterator).
10.19.5 С о з д а н и е э к з е м п л я р а а г р е г а т а п о с л е т е к у щ е г о э л е м е н т а
Данная команда добавляет новый пустой экземпляр агрегата в качестве элемента существую
щего экземпляра агрегата. Новый экземпляр агрегата добавляется непосредственно после позиции,
указанной итератором. Если итератор установлен в начале или в конце агрегата, новый экземпляр
агрегата становится соответственно первым или последним элементом. Текущий элемент итератора не
меняется. Если областью значений экземпляра агрегата, связанного с заданным итератором,
является выбираемый тип (SELECT TYPE) языка EXPRESS. aggregate_primitive.использу
емым в качестве ввода/вывода, должен быть select_aggregate_instance. а для определения типа
(TYPE) экземпляра, создаваемого командой, на входе должен быть установлен атрибут
select_aggregate_instance.data_type. Если операция требует создания экземпляра массива, который не
является application_indexed_array_instance. а экземпляр массива не может быть создан, так как
существующая совокупность прикладной схемы не достаточна для успешного вычисления выраже
ния. определяющего значение индекса экземпляра массива, должна быть выдана ошибка VA_NSET.
Если экземпляр массива не является application_indexed_array_instance и реализация не обеспечива ет
вычисление выражения для индекса массива, должна быть выдана ошибка EX_NSUP.
Вход
Итератор:iterator;
итератор Агрегата (Aggregate), определяющий позицию, после которой до
бавляется значение.
Выход
НовыйАгре гат:aggregate_primitive;
новый экземпляр агрегата, добавляемый в Aggregate после позиции, за
данной Итератором (Iterator).
Указатели возможных ошибок
TR ..NRWТранзакция не имеет типа «чтение—запись».
95