You are on page 1of 2

create or replace procedure asset_rollup as type asset_type is a table of asset%rowtype; asset_temp asset_type ; var_assetnum varchar2(30); var_site varchar2(30); var_con1

number(30); var_con2 number(30); var_con3 number(30); var_con4 number(30); var_con5 number(30); var_con6 number(30); var_con7 number(30); var_con8 number(30); begin select * bulk collect into asset_temp from asset ; for i in asset_temp.first ..asset_temp.last loop var_assetnum :=asset_temp(i).assetnum; var_site:=asset_temp(i).siteid; execute immediate 'Select count(*) from labtrans where labtrans.assetnum =:asset.assetnum and labtrans.genapprservreceipt = 1 and labtrans.siteid=:asset.siteid and labtrans.rollup = 0)' into var_co n1 using var_assetnum,var_site; execute immediate 'select count(*) from matusetrans where matusetrans.assetnum=: asset.assetnum and matusetrans.siteid=:asset.siteid and matusetrans.rollup = 0' into var_con2 using var_assetnum,var_site; execute immediate 'select count(*) from servrectrans where servrectrans. assetnum=:asset.assetnum and servrectrans.siteid=:asset.siteid and servrectrans.rollup = 0) ' into var_con3 using var_assetnum,var_sit e; execute immediate 'select 1 from tooltrans where tooltrans.assetnum=:ass et.assetnum and tooltrans.siteid=:asset.siteid and tooltrans.rollup = 0) ' into var_con4 using var_assetnum,var_site; execute immediate 'select count(*) from labtrans,assethierarchy where l abtrans.rollup=0 and labtrans.refwo=assethierarchy.wonum and labtrans.siteid=assethierarchy.siteid and labtrans.assetnum is not null and assethierarchy.parent=:asset.assetnum and labtrans.siteid=:asset.si teid ' into var_con5 using var_assetnum,var_site; execute immediate 'select count(*) from matusetrans,assethierarchy wher e matusetrans.rollup=0 and matusetrans.refwo=assethierarchy.wonum and matusetrans.siteid=assethierarchy.siteid and matusetrans.assetnum i s not null and assethierarchy.parent=:asset.assetnum and matusetrans.siteid=:asset .siteid' into var_con6 using var_assetnum,var_site; execute immediate 'select count(*) from servrectrans,assethierarchy whe re servrectrans.rollup=0 and servrectrans.refwo=assethierarchy.wonum and servrectrans.siteid=assethierarchy.siteid and servrectrans.assetnum

is not null and assethierarchy.parent=:asset.assetnum and servrectrans.siteid=:asse t.siteid' into var_con7 using var_assetnum,var_site; execute immediate 'select count(*) from tooltrans,assethierarchy where tooltrans.rollup=0 and tooltrans.refwo=assethierarchy.wonum and tooltrans.siteid=assethierarchy.siteid and tooltrans.assetnum is no t null and assethierarchy.parent=asset.assetnum and tooltrans.siteid=asset.sit eid' into var_con8 using var_assetnum,var_site; if (var_con1>0 or var_con2>0 or var_con3>0 or var_con4>0 or var_con5>0 or var_c on6>0 or var_con7>0 or var_con8>0) then exit; end loop;

You might also like