CREATE OR REPLACE PACKAGE mip_bulk_load IS -- Author : HARDYA -- Created : 08/01/2008 14:26:14 -- Purpose : Bulk data load routines PROCEDURE load_meters; END mip_bulk_load; / CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS PROCEDURE load_manufacturers IS BEGIN MERGE INTO parties prty USING (SELECT field_1 FROM ext_meter) e_metr ON (upper(e_metr.field_1) = upper(prty.manu_ref)) WHEN NOT MATCHED THEN INSERT (prty.manu_ref ,NAME ,description ,created_on ,created_by ,prty_type ,id) VALUES (upper(e_metr.field_1) ,e_metr.field_1 ,'Inserted missing manufacturer (EXT_METR)' ,SYSDATE ,USER ,'MANU' ,prty_seq.NEXTVAL) log errors reject LIMIT unlimited; END load_manufacturers; PROCEDURE load_meters IS BEGIN load_manufacturers; MERGE INTO meters metr USING (SELECT field_1 ,field_2 ,field_3 ,field_4 ,field_5 ,field_6 ,field_7 ,field_8 ,field_9 ,field_10 ,field_11 ,field_12 FROM ext_meter) e_metr ON (e_metr.field_2 = metr.code) WHEN MATCHED THEN UPDATE SET prty_id = (SELECT id FROM parties p WHERE upper(p.manu_ref) = upper(e_metr.field_1) AND p.prty_type = 'MANU') ,mety_code = e_metr.field_4 WHEN NOT MATCHED THEN INSERT (metr.code ,metr.prty_id ,metr.mety_code ,metr.dim_a ,metr.dim_b ,metr.centres ,metr.dim_c ,metr.weight ,metr.qmax ,metr.valid_from ,metr.qnom ,metr.qmin) VALUES (e_metr.field_2 ,(SELECT id FROM parties p WHERE upper(p.manu_ref) = upper(e_metr.field_1) AND p.prty_type = 'MANU') ,e_metr.field_4 ,e_metr.field_5 ,e_metr.field_6 ,e_metr.field_7 ,e_metr.field_8 ,e_metr.field_9 ,e_metr.field_10 ,SYSDATE ,e_metr.field_11 ,e_metr.field_12) log errors reject LIMIT unlimited; END load_meters; BEGIN -- Initialization NULL; END mip_bulk_load; /