Мне нужно отправить часть подобъекта с именем пункты из другого объекта dial.det_dial.issues в соответствии с index id_issue :
dial.det_dial.issues(index).clauses
У меня есть два индекса (1,43) из двух выпусков объектов.
Первый индекс (1): 1 (или id_issue 1)
Последний индекс (2): 43 (или id_issue 43)
И каждый из этих индексов имеет набор из предложений:
Объект Предложения содержит: id_clause, txt_clause, date_clause, ...
Объекты, содержащие предложения: dial -> det_dial -> эмитент (id_issue) -> предложения (id_clause, txt_clause, date_clause и т. д. c).
Типы объектов вызова. Объект набор содержит объект det_dial Объект det_dial содержит объект выдает объект выдает содержит объект пункты в соответствии с id_issue из выдает
Когда я отправляю объект dial.det_dial.issues (id_issue) .clauses в функции я получаю это Oracle ошибка:
ORA-06533 Подстрочный индекс за пределами счета
Когда l oop получает индекс 2 (id_issue = 43) непосредственно перед входом в функцию.
Это код:
FUNCTION recordobjectdb(messages OUT t_iax_messages)
RETURN NUMBER IS
dial t_vw_dial;
det_dial t_vw_det_dial;
issues t_vw_issues;
BEGIN
IF dial.det_dial.issues IS NOT NULL AND dial.det_dial.issues.COUNT > 0 THEN
FOR i IN dial.det_dial.issues.FIRST .. dial.det_dial.issues.LAST
LOOP
dial.det_dial.issues.EXTEND;
id_issue := dial.det_dial.issues(i).idissue;
nerror := pk_record_data.f_record(id_issue, dial.det_dial.issues(id_issue).clauses, messages);
END LOOP;
END IF;
return nerror;
END recordobjectdb;
Я пытался использовать EXTEND, но он не работает, почему?
Ошибка перед входом в функцию при вызове из объекта пункты: ( dial.det_dial.issues (id_issue) .clauses ).
Индекс 1 отправлено в функцию pack_record_data.f_record, но когда она отправила пункты с индексом 43 получают ошибку. Индексы не являются последовательными.
Дело в том, что индекс 2 (id_issue 43) перехвачен, но он не достигнут в объекте, я полагаю.
Есть ли путь к go по каждому индексу, используя инструкцию для l oop или полностью или аналогично?
PS: Извините, мои плохие навыки письма, я плохо говорю по-английски sh.