Я получил это на работу после перемещения команд DBMS_OUTPUT
над командами FND_FILE
. Первоначально я не проводил тестирование одновременно. Я думаю, что команды FND_FILE
, запущенные до DBMS_OUTPUT
, вызывали исключение для запуска DBMS_OUTPUT
Удаление агрегации позволило программе все еще компилироваться, но также генерировать ошибку времени выполнения.
Команды FND_FILE
работают только одновременно.
Кстати, для тех, кто не в курсе, FORMAT_ERROR_STACK
дают что-то вроде ORA-30926: невозможно получить стабильный набор строк в исходных таблицах, а FORMAT_ERROR_BACKTRACE
дает ORA-06512: в "ORA-06512 : в "APPS.procedureName", строка 21
MERGE INTO xxcb_RTL_inbnd_shipments_iface A
USING (select DISTINCT aa.shipment_line_id,aa.transaction_type,aa.last_update_date--max(aa.last_update_date)
from rcv_transactions aa --may need to examine PO or ISO/Req instead?
right join xxcb_RTL_inbnd_shipments_iface bb on aa.shipment_line_id=bb.shipment_line_id
where --aa.transaction_type='DELIVER'
bb.interface_status='RELEASED'
--group by aa.shipment_line_id,aa.transaction_type
) B ON (a.shipment_line_id=b.shipment_line_id)
when matched then update set a.interface_status='CLOSED'
,a.interface_last_update=sysdate
,a.interface_update_by='ORACLE'
where a.interface_status='RELEASED';
exception when others
then dbms_output.put_line('Error!');
DBMS_OUTPUT.PUT_line(DBMS_UTILITY.FORMAT_ERROR_STACK);
DBMS_OUTPUT.PUT_line(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
FND_FILE.PUT_LINE(FND_FILE.LOG,'Error!');
FND_FILE.PUT_LINE(FND_FILE.LOG,DBMS_UTILITY.FORMAT_ERROR_STACK);
FND_FILE.PUT_LINE(FND_FILE.LOG,DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);