Пример запроса из коллекции.
-- создаем глобальный тип данных, локальный нельзя использовать
create or replace type xx_test_type is object ( id number, descr varchar2(20));
create or replace type xx_test_tab is table of xx_test_type;
Пример заполнения и вывода данных
declare
vcollect xx_test_tab := xx_test_tab(); -- инициализация
begin
-- заполняем данными
vcollect.extend;
vcollect(vcollect.count) := xx_test_type(1,'test1');
vcollect.extend;
vcollect(vcollect.count) := xx_test_type(2,'test2');
-- запрос из коллекции
for i in (select * from Table(vcollect) order by id )
loop
dbms_output.put_line(i.descr);
end loop;
end;
Построение команд для удаления объектов
select 'drop '||object_type||' '||object_name
||decode(object_type,'TABLE',' cascade constraints;','TYPE',' force;',';')
from user_objects
where object_type in ('TABLE','VIEW','SEQUENCE','PACKAGE','PROCEDURE','FUNCTION','TYPE')
order by object_type;
Дополнительно можно почистить корзину
-- удалить все объекты из корзины текущего пользователя
purge recyclebin;
В 10 версии добавилась возможность востанавливать удаленные таблицы и индексы используя корзину.
Для того что бы включить\выключить корзину:
-- Отключить корзину для сессии
ALTER SESSION SET RECYCLEBIN=OFF;
-- Отключить корзину
ALTER SYSTEM SET RECYCLEBIN=OFF SCOPE=SPFILE;
-- Включить корзину для сессии
ALTER SESSION SET RECYCLEBIN=ON;
-- Включить корзину
ALTER SYSTEM SET RECYCLEBIN=ON SCOPE=SPFILE;
По умолчанию корзина включена.
Читать дальше про “Использование RECYCLE BIN” »
В 10.2 появилось логирование ошибок при выполнение DML команд INSERT, UPDATE, MERGE и DELETE.
Если DML-операция при массовой обработке данных вызывает ошибки при добавлении или изменении, какой либо записи, то вся операция DML будет отменена. Новая инструкция — LOG ERRORS, предназначена для обхода подобных ситуация. Если в процессе выполнения DML операции возникает ошибка, то информация о ней запишется в заранее созданную (при помощи пакета DBMS_ERRLOG) таблицу логов, на которую указывает конструкция LOG ERRORS.
Читать дальше про “DML Error Logging” »
Модуль GMD R12.GMD.A.6 (Разработка продукции УНП; Process Manufacturing Product Development)
Процедура для создания производственного задания (batch).
Читать дальше про “Модуль GMD — Создание производственного задания” »
Select moq.organization_id as org_id,
sysdate as date_val,
moq.inventory_item_id as item_id,
moq.subinventory_code as subinventory_code,
moq.locator_id as locator_id,
moq.lot_number as lot_number,
msi.segment1 as item,
msi.primary_uom_code as uom_code,
sum(moq.primary_transaction_quantity) as actual_qty
from mtl_onhand_quantities_detail moq,
mtl_system_items_b msi
where 1=1
-- msi
and msi.inventory_item_id = moq.inventory_item_id
and msi.organization_id = moq.organization_id
--and moq.inventory_item_id = :1
--and moq.organization_id = :2
--and moq.subinventory_code = :3
--and moq.lot_number = :4
group by moq.organization_id ,
sysdate,
moq.inventory_item_id,
msi.segment1,
msi.primary_uom_code,
moq.subinventory_code,
moq.locator_id,
moq.lot_number
order by moq.organization_id, moq.inventory_item_id
Так же есть API для просмотра текущего количества OEBS API INV – Текущее количество для позиции (ONHAND)
-- заявка на приобретение
select prl.destination_organization_id as org_id,
prl.need_by_date as date_val,
prl.item_id as item_id,
msi.segment1 as item,
msi.primary_uom_code as uom_code,
-- запрошенно
prl.quantity as demand_qty
from po_requisition_lines_all prl,
po_requisition_headers_all phr,
mtl_system_items_b msi
where 1=1
-- prl
-- ! ограничиваем период
and prl.need_by_date >= trunc(sysdate, 'mm')
-- phr
and phr.requisition_header_id = prl.requisition_header_id
and phr.authorization_status = 'APPROVED' -- утверждённые заявки
-- msi
and msi.inventory_item_id = prl.item_id
and msi.organization_id = prl.destination_organization_id
order by prl.destination_organization_id,
msi.inventory_item_id,
prl.need_by_date
Последние комментарии