Как я смог установить ошибка возникает в этих запросах:
SELECT MAX(did) into last_id from DEV_OCS.Revisions
where ((to_char(DINDATE,'dd.mm.yy') < data_reg) or (to_char(DINDATE,'dd.mm.yy') = data_reg)) and (dsecuritygroup = SEQURITYGROUP);
-- здесь получаем последний id на который был зарегистрирован документ за введенное число или раньше с нужной группой защиты
SELECT XZID_VKH_NOMER into last_reg_nomer from dev_ocs.docmeta
where docmeta.did = last_id; --получаем регистрационный номер нужного документа. Вот в этом месте вылетает с ошибкой.
Если во втором запросе подставить значение индекса документа вместо last_id, то отрабатывает нормально. Если обрабатывать не в триггере, а просто в sql редакторе, то тоже работает. Но я не могу понять почему не работает так как есть.