create or replace procedure BACKUP_INVENTORY
as
type balance is ref cursor;
balanceDaylly balance;
INV_ID NUMBER(19);LOCATION_ID NUMBER(19);
ITEM_KEY_ID VARCHAR2(50);PACKAGE_UNIT_ID VARCHAR2(50);
QUANTITY FLOAT;QUANTITY_BU FLOAT;PUTAWAY_QUANTITY_BU FLOAT;
ALLOCATED_QUANTITY_BU FLOAT;STATUS VARCHAR2(100);
HASH_CODE VARCHAR2(80);BE_QUALITY NUMBER(1);
begin
open balanceDaylly for select i.id,i.location_id,i.item_key_id,i.package_unit_id
,i.quantity,i.quantity_bu,i.putaway_quantity_bu,i.allocated_quantity_bu
,i.status,i.hash_code,i.be_quality
from wms_inventory i;
loop
fetch balanceDaylly into INV_ID,LOCATION_ID,ITEM_KEY_ID,PACKAGE_UNIT_ID,QUANTITY
,QUANTITY_BU,PUTAWAY_QUANTITY_BU,ALLOCATED_QUANTITY_BU,STATUS,HASH_CODE
,BE_QUALITY;
exit when balanceDaylly%notfound;
insert into WMS_INVENTORY_BACKUP
values(INV_ID,LOCATION_ID,ITEM_KEY_ID,PACKAGE_UNIT_ID,QUANTITY
,QUANTITY_BU,PUTAWAY_QUANTITY_BU,ALLOCATED_QUANTITY_BU,STATUS,HASH_CODE
,BE_QUALITY,SYSDATE);
end loop;
exception
when others
then rollback;
close balanceDaylly;
commit;
end;
------------
--SQL> set serveroutput on;
--SQL> exec BACKUP_INVENTORY;