rem rem $Header: L:\\\\model\\repman40\\api\\RCS\\CIPRU.HPB 1.3 1998/12/30 14:59:43 loldham Exp $ rem Rem Copyright (c) 1994 by Oracle Corporation Rem NAME Rem cipru.hpb - Rem DESCRIPTION Rem Rem RETURNS Rem Rem NOTES Rem Rem MODIFIED (MM/DD/YY) Rem aheath 04/21/95 - Enable creation of item group user preference Rem aheath 09/06/94 - Creation REM *************************************************************************** REM Hand-carved package body for PREFERENCE SET USAGE created on 05-SEP-94 REM *************************************************************************** CREATE OR REPLACE PACKAGE BODY cihpru IS -- Type-specific post-process routines PROCEDURE check_delete(id rm.reference); str_type constant varchar2(6) := 'PRU'; use_type constant varchar2(6) := 'PRS'; --======================== PRE-PROCESS (INS,UPD) ============================-- PROCEDURE pre_process(operation varchar2,id rm.reference, pl in out NOCOPY ciopreference_set_usage.data) IS --#BEGIN mod_ref number; supertype varchar2(10); --#END BEGIN --#BEGIN -- Perform INSERT-specific processing if operation = 'INS' then -- Check for existence of the use of if pl.v.preference_set_usage_for is null then ciierr.fatal(1301,'PREFERENCE_SET_USAGE_FOR'); end if; if ciiutl.el_exists(pl.v.cielement_reference, pl.v.preference_set_usage_for) = false then ciierr.fatal(3500,'PREFERENCE SET USAGE', ciiutl.nls_type_name_s(pl.v.preference_set_usage_for), pl.v.cielement_reference); end if ; -- Check for existence of preference set elements if ciiutl.el_exists(pl.v.preference_set_reference,use_type) = false then ciierr.fatal(3500,'PREFERENCE SET USAGE','preference_set', pl.v.preference_set_reference); end if; else if ciiutl.el_exists(id,str_type) = false then ciierr.fatal(3504,ciiutl.nls_type_name('PREFERENCE_SET_USAGE'),id); end if; end if; -- Access rights for preference set usage derive from the arced properties if pl.v.preference_set_usage_for = 'APP' then if pl.v.cielement_reference != cdapi.app_sys_ref then ciierr.fatal(2055,ciiutl.identify(id, pl.v.types),'User Preference'); end if; -- else -- providing supertype is set correctly, access rights code -- will determine owning PAC using the pac_ref -- select cet.supertype -- into supertype -- from ci_element_types cet -- where short_name = pl.v.preference_set_usage_for; -- ciiacc.check_access_rights(pl.v.cielement_reference, pl.v.preference_set_usage_for ,'UPD',supertype); end if; -- if operation = 'INS' then -- ciiacc.check_access_rights(pl.v.preference_set_reference, use_type, -- 'SEL','SHR'); -- end if; -- Check that preference set usage with this preference_set and -- table_definition doesn't already exist on insert -- CHECK REPLACED BY DEFERRED CONSTRAINT AT 4.0.6 if operation = 'INS' then -- Initialize unassigned properties with default values on INSERT pl.v.element_type_name := str_type; pl.i.element_type_name := true; end if; --#END END; --======================== PRE-PROCESS (DEL,SEL) ============================-- PROCEDURE pre_process(operation varchar2,id rm.reference) IS BEGIN -- Access rights for preference set usage derive from the preference set -- Access rights checking performed by triggers in config 4.0.9 -- if operation = 'DEL' then -- ciiacc.check_access_rights(id,str_type,'UPD','MM'); -- else -- ciiacc.check_access_rights(id,str_type,operation,'MM'); -- end if; null; END; --===================== POST-PROCESS (INS,UPD,SEL) ==========================-- PROCEDURE post_process(operation varchar2,id rm.reference, pl ciopreference_set_usage.data) IS BEGIN null; END; --========================= POST PROCESS (DEL) ==============================-- PROCEDURE post_process(operation varchar2,id rm.reference) IS BEGIN null; END; --============================= CHECK DELETE ================================-- PROCEDURE check_delete(id rm.reference) IS dummy number; error_count number := 0; BEGIN null; END; --================================== END ====================================-- -- -- Package instantiation block -- BEGIN is_installed := true; END; /