rem ---------------------------------------------------------------------------- rem File: $RCSfile: CKNETREP.HPB $ rem Author: $Author: pcsmith $ rem Date: $Date: 2001/02/15 13:01:51 $ rem Version: $Revision: 1.1 $ rem Status: $State: Exp $ rem Locked_by: $Locker: $ rem Description: rem Notes: rem RealAuth: rem IncepDate: rem Copyright: (c) Oracle Corporation 1994. All Rights Reserved. rem ---------------------------------------------------------------------------- rem Log of Changes from RCS rem ---------------------------------------------------------------------------- rem $Log: CKNETREP.HPB $ rem Revision 1.1 2001/02/15 13:01:51 pcsmith rem Initial revision rem rem Revision 2.0 1999/04/21 ashenker rem Updated Package for 4.0.9 repository rem rem $Log: CKNETREP.HPB $ rem Revision 1.1 2001/02/15 13:01:51 pcsmith rem Initial revision rem rem Revision 1.8 1998/02/28 15:34:31 vdesai rem B622373 : MODULE NETWORK (CDMODNET) REPORT SETS MARKERS AT WRONG LEVEL. rem rem Revision 1.7 1997/08/13 12:09:34 vdesai rem Fixed Bug No. 525535 - receive appname and version rem into function cdi_function_network rem rem Revision 1.6 1997/05/21 09:59:50 vdesai rem Replaced reference to 'application_system_reference' rem with 'application_system_owned_by' for 209 config rem rem Revision 1.5 1996/09/30 11:05:27 vdesai rem Fixed Bug No. 406669 - need to upgrade to use views rem instead of obsolete SDD_ tables rem rem Revision 1.4 1995/09/15 14:12:10 dedwards rem Remove control Z from end of file rem rem Revision 1.3 1995/07/14 13:34:08 dedwards rem rem added to end of file rem rem Revision 1.2 1995/07/13 15:46:13 aobhrai rem Update 1.2 from 1.1 source rem rem Revision 1.1 1995/06/12 12:26:08 dedwards rem Initial revision rem rem ---------------------------------------------------------------------------- rem rem rem $Header: \\\\uknt1044\\rcsroot.7_2\\ckrpt\\\\reports\\ins\\RCS\\CKNETREP.HPB 1.1 2001/02/15 13:01:51 pcsmith Exp $ cknetrep.hpb Copyr (c) 1992, 1989 Oracle rem REM CDI_NETWORK_REPORTS - used to populate cdi_modnet for module network REM report and cdi_funnet for function hierachy PROMPT Creating package body CDI_NETWORK_REPORTS ... create or replace package body CDI_NETWORK_REPORTS as procedure cdi_module_network( root_parent_id number , parentmod number , unique_id number , depth number) is cursor get_mods_children(modid number) is Select modnet.child_module_reference child from ci_module_networks modnet , ci_modules module where modnet.parent_module_reference = module.id and module.id = modid order by called_sequence; marker char := 'N'; i binary_integer := 0; begin for kid_rec in get_mods_children(parentmod) loop mod_number := mod_number + 1; i := 0; marker := 'N'; list(mod_number) := kid_rec.child; loop i := i + 1; exit when i > mod_number - 1; if (list(i) = kid_rec.child) then marker := 'Y'; exit; end if; end loop; begin insert into cdi_modnet ( modid , id , seq , depth , parent , root_parent_id , marker) values ( kid_rec.child , unique_id , mod_number , depth , parentmod , root_parent_id , marker) ; end; commit; if (marker = 'N') then cdi_module_network(root_parent_id, kid_rec.child, unique_id, depth+1); end if; end loop; end; procedure cdi_network( unique_id number, containerid varchar2, recursechar varchar2) is cursor get_folders(container_id varchar2, recursec varchar2) is Select folders.irid folderid, folders.name foldername, 0 lev ,ck_rep_util.get_label_version(folders.ivid) version from sdd_folders folders where folders.irid like container_id and ( folders.root_flag = 'Y' or container_id <> '%') union select child_folders.irid, child_folders.name name, ilevel+1 lev ,ck_rep_util.get_label_version(child_folders.ivid) version from sdd_folders child_folders , (select member_object from i$sdd_folder_members connect by prior member_object = folder_reference start with folder_reference like container_id) h where h.member_object = child_folders.irid and recursec = 'Y' order by 2; begin for each_folder in get_folders(containerid, recursechar) loop begin cdi_function_network( unique_id , each_folder.folderid ); end; end loop; end; procedure cdi_function_network( unique_id number, folderirid number) is cursor get_all_parents is select parfun.id parent from ci_functions parfun , sdd_folder_members sdf where parfun.parent_reference is null and sdf.member_object = parfun.irid and sdf.ownership_flag = 'Y' and sdf.folder_reference = folderirid; begin for each_parent in get_all_parents loop fun_number := fun_number + 1; begin insert into cdi_funnet ( funid , session_id , seq , depth , folder_id) values ( each_parent.parent , unique_id , fun_number , 1 , folderirid); end; commit; cdi_function_network_two(each_parent.parent, unique_id, 2, folderirid); end loop; end; procedure cdi_function_network_two( parentfun number , unique_id number , depth number , folder_irid number) is cursor get_funs_children(funid number) is Select fun.id child from ci_functions fun where fun.parent_reference = funid order by fun.sequence_in_parent; begin for kid_rec in get_funs_children(parentfun) loop fun_number := fun_number + 1; begin insert into cdi_funnet ( funid , session_id , seq , depth , folder_id) values ( kid_rec.child , unique_id , fun_number , depth , folder_irid); end; commit; cdi_function_network_two(kid_rec.child, unique_id, depth+1,folder_irid); end loop; end; function cdi_function_is_parent(fun_id in number) return varchar2 is is_parent varchar2(1); cursor get_funs_children(funid number) is Select fun.id child from ci_functions fun where fun.parent_reference = funid; begin is_parent := 'N'; for i in get_funs_children(fun_id) loop is_parent := 'Y'; end loop; return is_parent; end; end cdi_network_reports; / rem ---------------------------------------------------------------------------- rem $$Header_is_done rem End of file $RCSfile: CKNETREP.HPB $ rem ---------------------------------------------------------------------------- rem