DBA Data[Home] [Help]

APPS.PJI_PJP_SUM_DENORM SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 127

	-- delete WBS/XBS slices for specific struct_version_id		-- ###delete###

	if 	g_pa_debug_mode = 'Y'
	then
		PJI_UTILS.WRITE2LOG(
			'PJI_PJP -   Delete specific WBS/XBS slices -'
				|| ' p_wbs_version_id = '
				|| p_wbs_version_id,
			null,
			g_msg_level_high_detail
			);
Line: 141

	delete /*+ index(xbs, PA_XBS_DENORM_N2) */
  	from	pa_xbs_denorm xbs
  	where	struct_type in ('WBS', 'XBS')
	and	struct_version_id = p_wbs_version_id;
Line: 146

	-- delete PRG slices for specific prg_group and p_wbs_version_id
	begin
		-- get prg_group information from versions table
		select
		distinct
			prg_group
		into 	l_prg_group_id
		from 	pa_proj_element_versions
		where 	element_version_id = p_wbs_version_id;
Line: 165

			'PJI_PJP -   Deleted specific PRG slices -'
				|| ' p_wbs_version_id = '
				|| p_wbs_version_id
				|| ' prg_group_id = '
				|| l_prg_group_id,
			null,
			g_msg_level_high_detail
			);
Line: 181

		delete
	  	from	pa_xbs_denorm
  		where	struct_type = 'PRG'
		and 	prg_group = l_prg_group_id;
Line: 197

		delete /*+ index(prg, PA_XBS_DENORM_N1) */
	  	from	pa_xbs_denorm prg
  		where	struct_type = 'PRG'
		and 	struct_version_id is null
		and 	sup_id = p_wbs_version_id
		and 	sub_id = p_wbs_version_id;
Line: 228

	-- don't delete contents from PJI_FP_AGGR_XBS_T

	-- Sadiq will call cleanup_xbs_denorm(p_worker_id, 'ONLINE')


-- -----------------------------------------------------
-- PRG Online Mode --

elsif 	l_denorm_type = 'PRG'
then

  	null; -- do nothing for now
Line: 320

		-- delete WBS/XBS slices for specific struct_version_id 	-- ###delete###
		FOR WBS_DELETE_NODE IN
		(
		 select
		 distinct
			decode(	invert.id,
				1, i_log.event_object,
				2, i_log.attribute2
			) event_object_id
		 from	PJI_PA_PROJ_EVENTS_LOG i_log,
			(
			 select	1 id
			 from	dual
			UNION ALL
			 select 2 id
			from	dual
			) invert
		 where 	1=1
		 and 	i_log.worker_id = P_WORKER_ID
		 and 	i_log.event_type in ('WBS_CHANGE', 'WBS_PUBLISH')
		) LOOP

			if 	g_pa_debug_mode = 'Y'
			then
				PJI_UTILS.WRITE2LOG(
					'PJI_PJP -   Delete specific WBS/XBS slices -'
						|| ' struct_version_id = '
						|| WBS_DELETE_NODE.event_object_id,
					null,
					g_msg_level_high_detail
					);
Line: 353

			delete
			from   	PA_XBS_DENORM
			where  	1=1
			and 	STRUCT_TYPE in ('WBS', 'XBS')
			and 	STRUCT_VERSION_ID = WBS_DELETE_NODE.event_object_id;
Line: 362

		-- delete PRG slices for specific prg_group

		FOR PRG_DELETE_NODE IN
		(
		 select
		 distinct
		 	decode( invert.id,
				1, i_log.event_object,
			 	2, i_log.attribute1
				) event_object_id
		 from	PJI_PA_PROJ_EVENTS_LOG i_log,
			(
			 select	1 id
			 from	dual
			UNION ALL
			 select 2 id
			 from	dual
			) invert
		 where 	1=1
		 and 	i_log.worker_id = P_WORKER_ID
		 and 	i_log.event_type = 'PRG_CHANGE'
		 and 	i_log.event_object <> -1
		) LOOP

			if 	g_pa_debug_mode = 'Y'
			then
				PJI_UTILS.WRITE2LOG(
					'PJI_PJP -   Program groups to be deleted -'
						|| ' prg_group = '
						|| PRG_DELETE_NODE.event_object_id,
					null,
					g_msg_level_high_detail
					);
Line: 401

			 select
			 distinct
				project_id
			 from	pa_proj_element_versions
			 where 	1=1
			 and 	object_type = 'PA_STRUCTURES'
			 and    prg_group IS NOT NULL   /*	4904076 */
			 and 	prg_group = PRG_DELETE_NODE.event_object_id
			) LOOP

				-- delete all slices of all projects belonging
				-- to specific projects in a group

				if 	g_pa_debug_mode = 'Y'
				then
					PJI_UTILS.WRITE2LOG(
						'PJI_PJP -    Delete -'
							|| ' sup_project_id = '
							|| PRG_PROJECT_NODE.project_id,
						null,
						g_msg_level_high_detail
						);
Line: 425

				delete
				from	PA_XBS_DENORM
				where	1=1
				-- and 	struct_type = 'PRG'
				and 	sup_project_id = PRG_PROJECT_NODE.project_id;
Line: 437

		-- delete All slices for sup_project_id

		FOR PRG_2_DELETE_NODE IN
		(
		 select
		 distinct
			i_log.ATTRIBUTE1
		 from	PJI_PA_PROJ_EVENTS_LOG i_log
		 where 1=1
		 and 	i_log.worker_id = P_WORKER_ID
		 and 	i_log.event_type = 'PRG_CHANGE'
		 and 	i_log.event_object = -1
		) LOOP

/* Bug 5006375 , 5608947 */
                     FOR PRG_PROJECT_NODE IN
			(
			 select
			 distinct
				project_id
			 from	pa_proj_element_versions
			 where 	1=1
			 and 	object_type = 'PA_STRUCTURES'
			 and    prg_group IS NULL   /*	4904076 */
			 and 	project_id = PRG_2_DELETE_NODE.attribute1
			) LOOP

			if 	g_pa_debug_mode = 'Y'
			then
				PJI_UTILS.WRITE2LOG(
					'PJI_PJP -   Delete specific ALL slices -'
						|| ' sup_project_id = '
						|| PRG_PROJECT_NODE.project_id,
					null,
					g_msg_level_high_detail
					);
Line: 475

			delete
			from	PA_XBS_DENORM
			where	1=1
			-- and 	struct_type = 'PRG'
			and 	sup_project_id = PRG_PROJECT_NODE.project_id;
Line: 495

		--  OPERATION_TYPE in ('I', 'U', 'D') ==> since we delete the entire
		--version or program we do not
		--use this parameter for now
		--
		--

		--  *** Use PJI_PA_PROJ_EVENTS_LOG *** to determine which PRG/WBS
		--  data to process. ***

		prg_denorm(
			p_worker_id,
			l_extraction_type
			);
Line: 574

cursor c_version_exists is select 1 from dual
                           where exists (select 1
                                         from  pa_xbs_denorm
                                         where struct_version_id is null
                                           and sup_id=p_wbs_version_id_from
                                           and sub_id=p_wbs_version_id_from );
Line: 586

l_last_update_date  date;
Line: 587

l_last_updated_by   number;
Line: 590

l_last_update_login number;
Line: 619

           select 1
           into l_prg_exists
           from dual
           where exists (select 1
                           from  pa_xbs_denorm
                           where struct_version_id is null
                           and   sup_id=p_wbs_version_id_to
                           and  sub_id=p_wbs_version_id_to);
Line: 635

l_last_update_date  := sysdate;
Line: 636

l_last_updated_by   := FND_GLOBAL.USER_ID;
Line: 639

l_last_update_login := FND_GLOBAL.LOGIN_ID;
Line: 642

	select proj_element_id  ,project_id
	into l_top_proj_element_id ,l_target_project_id
	from PA_PROJ_ELEMENT_VERSIONS
	where parent_structure_version_id= p_wbs_version_id_to
	and object_type='PA_STRUCTURES';
Line: 657

    /* First inserting all the records  of the old version changing the project_element_id mapping to element_number i.e
      sup_emt_id,sub_emt_id,subro_id   to    sup_element_numbner,sub_element_numbner,subroelement_numbner ,
      once that is done   getting the pro_element_id back for the new version by mapping the same element number
      to the new proj_element_ids*/
          declare
            cursor c_temp(p_wbs_version_id_from in number,p_wbs_version_id_to in number,l_top_proj_element_id in number) is
            select  temp.struct_type,temp.prg_group,projv1s.project_id sup_project_id, projv1s.proj_element_id sup_emt_id
			,projv1s.element_version_id sup_id,projv1s.parent_structure_version_id struct_version_id
			,temp.sub_leaf_flag, temp.sup_level, temp.sub_level,temp.relationship_type
			, decode( temp.struct_type,'WBS',l_top_proj_element_id,null) struct_emt_id
			,temp.sub_rollup_id,0,0,0,temp.sub_element_number,temp.subro_element_number
			 from  	pa_xbs_denorm_temp temp
		        ,PA_PROJ_ELEMENT_VERSIONS projv1s
		        ,pa_proj_elements proje1s
	       where    proje1s.element_number= temp.sup_element_number
	        and     proje1s.proj_element_id =projv1s.proj_element_id
			and projv1s.parent_structure_version_id=temp.struct_version_id
	        and 	projv1s.parent_structure_version_id=p_wbs_version_id_to;
Line: 695

    insert into	PA_XBS_DENORM_temp
		(
		struct_type,	prg_group,		sup_project_id,
		sup_emt_id,		sup_id,		struct_version_id,
		sub_leaf_flag,		sup_level,		sub_level,
        relationship_type,		struct_emt_id,	sub_rollup_id,
		sub_id,		sub_emt_id,		subro_id,
		sub_element_number,
		sup_element_number,
		subro_element_number
		)
		 select    xbs.struct_type,
		null prg_group
		,xbs.sup_project_id
		 ,xbs.sup_emt_id,xbs.sup_id,p_wbs_version_id_to struct_version_id
	        , xbs.sub_leaf_flag,xbs.sup_level, xbs.sub_level
		, xbs.relationship_type,xbs.struct_emt_id,xbs.sub_rollup_id
                ,xbs.sub_id,xbs.sub_emt_id,xbs.subro_id
				,(select projeb.element_number  from pa_proj_elements projeb
				  where projeb.proj_element_id= xbs.sub_emt_id ) sub_element_number
				  ,(select decode( proje.object_type,'PA_TASKS',proje.element_number,'PA_STRUCTURES',to_char(l_top_proj_element_id ),null)   from pa_proj_elements proje
				 where proje.proj_element_id= xbs.sup_emt_id  ) sup_element_number
		                ,(select projec.element_number  from pa_proj_elements projec
				 where projec.proj_element_id= xbs.subro_id)  subro_element_number
			 from pa_xbs_denorm xbs
			      ,PA_PROJ_ELEMENT_VERSIONS projsup
			 where xbs.sup_emt_id =projsup.proj_element_id
			  and  xbs.sup_id=projsup.element_version_id
			  and  xbs.struct_version_id =p_wbs_version_id_from
			  and  projsup.parent_structure_version_id=xbs.struct_version_id;
Line: 746

        delete from pa_xbs_denorm_temp;
Line: 749

		              insert into	PA_XBS_DENORM_temp
		(
		struct_type
		,prg_group
		,sup_project_id
		,sup_emt_id
		,sup_id
		,struct_version_id
		,sub_leaf_flag
		,sup_level
		,sub_level
		,relationship_type
		,struct_emt_id
		,sub_rollup_id
		,sub_id
		,sub_emt_id
		,subro_id
		,sub_element_number
		,subro_element_number
		)
         VALUES
        (	struct_typetab(i)
		,prg_grouptab(i)
		,sup_project_idtab(i)
		,sup_emt_idtab(i)
		,sup_idtab(i)
		,struct_version_idtab(i)
		,sub_leaf_flagtab(i)
		,sup_leveltab(i)
		,sub_leveltab(i)
		,relationship_typetab(i)
		,struct_emt_idtab(i)
		,sub_rollup_idtab(i)
		,sub_idtab(i)
		,sub_emt_idtab(i)
		,subro_idtab(i)
		,sub_element_numbertab(i)
		,subro_element_numbertab(i)
		);
Line: 796

             select temp.struct_type,temp.prg_group
                    ,temp.struct_version_id ,temp.sup_project_id
                    ,temp.sup_emt_id  , projv1b.proj_element_id sub_emt_id
		    ,temp.sup_id  ,projv1b.element_version_id sub_id
		    ,temp.sup_level,   temp.sub_level
                    ,temp.relationship_type   ,temp.sub_leaf_flag
                    ,temp.struct_emt_id,temp.sub_rollup_id
                    ,(select  proje1.proj_element_id from pa_proj_elements proje1
                                                         ,PA_PROJ_ELEMENT_VERSIONS projv1
	                                               	 WHERE PROJE1.PROJECT_ID=TEMP.SUP_PROJECT_ID
										              AND  PROJE1.OBJECT_TYPE='PA_TASKS'
									                  AND  PROJE1.ELEMENT_NUMBER= TEMP.SUBRO_ELEMENT_NUMBER
										              AND  PROJE1.PROJ_ELEMENT_ID=  PROJV1.PROJ_ELEMENT_ID
										              AND  PROJV1.PARENT_STRUCTURE_VERSION_ID=  TEMP.STRUCT_VERSION_ID
										              AND  PROJV1.PARENT_STRUCTURE_VERSION_ID=p_wbs_version_id_to
                        	) subro_id
			  from  pa_xbs_denorm_temp temp
		  	      ,PA_PROJ_ELEMENT_VERSIONS projv1b
			      ,pa_proj_elements proje1b
			where  proje1b.element_number= temp.sub_element_number
		        and  proje1b.proj_element_id 		=projv1b.proj_element_id
			and     projv1b.parent_structure_version_id=temp.struct_version_id
			and 	projv1b.parent_structure_version_id=p_wbs_version_id_to;
Line: 859

           insert into	PA_XBS_DENORM(
		struct_type
		,prg_group
		,struct_version_id
		,sup_project_id
		,sup_emt_id
		,sub_emt_id
		,sup_id
		,sub_id
		,sup_level
		,sub_level
       		,relationship_type
		,sub_leaf_flag
		,struct_emt_id
		,sub_rollup_id
		,subro_id
		,LAST_UPDATE_DATE
		,LAST_UPDATED_BY
		,CREATION_DATE
		,CREATED_BY
		,LAST_UPDATE_LOGIN
		)
         VALUES
        ( struct_typetab(i)
		,prg_grouptab(i)
		,struct_version_idtab(i)
		,sup_project_idtab(i)
		,sup_emt_idtab(i)
		,sub_emt_idtab(i)
		,sup_idtab(i)
		,sub_idtab(i)
		,sup_leveltab(i)
		,sub_leveltab(i)
       		,relationship_typetab(i)
       		,sub_leaf_flagtab(i)
		,struct_emt_idtab(i)
		,sub_rollup_idtab(i)
		,subro_idtab(i)
		,l_last_update_date
		,l_last_updated_by
		,l_creation_date
		,l_created_by
		,l_last_update_login
		);
Line: 904

     /* The below insert replaces the call to Pji_Pjp_Sum_Rollup.update_xbs_denorm
      it inserts all the data to pji_xbs_Denorm from pa_xbs_Denorm*/
      IF struct_typetab.COUNT <>0 then
     FORALL i IN struct_typetab.FIRST..struct_typetab.LAST
        insert into	PJI_XBS_DENORM(
		struct_type
		,prg_group
		,struct_version_id
		,sup_project_id
		,sup_emt_id
		,sub_emt_id
		,sup_id
		,sub_id
		,sup_level
		,sub_level
       		,relationship_type
		,sub_leaf_flag
	--	,struct_emt_id
		,sub_rollup_id
		,subro_id
		,LAST_UPDATE_DATE
		,LAST_UPDATED_BY
		,CREATION_DATE
		,CREATED_BY
		,LAST_UPDATE_LOGIN
		)
         VALUES
        ( struct_typetab(i)
		,prg_grouptab(i)
		,struct_version_idtab(i)
		,sup_project_idtab(i)
		,sup_emt_idtab(i)
		,sub_emt_idtab(i)
		,sup_idtab(i)
		,sub_idtab(i)
		,sup_leveltab(i)
		,sub_leveltab(i)
		,relationship_typetab(i)
		,sub_leaf_flagtab(i)
	--	,struct_emt_idtab(i)
		,sub_rollup_idtab(i)
		,subro_idtab(i)
		,l_last_update_date
		,l_last_updated_by
		,l_creation_date
		,l_created_by
		,l_last_update_login
		);
Line: 954

	--	write_log('insert bulk into xbs_Denorm done 1');
Line: 956

    /* inserting the PRG lines*/
	insert
	into 	PA_XBS_DENORM
		(
		struct_type,
		prg_group,
		struct_version_id,
		sup_project_id,
		sup_emt_id,
		sub_emt_id,
		subro_id,
		sup_level,
		sub_rollup_id,
		sub_leaf_flag,
		sub_level,
		relationship_type,
		 struct_emt_id,
   		sup_id,
		  sub_id,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
		)
    select xbs.struct_type,
           null prg_group,
           xbs.struct_version_id,l_target_project_id sup_project_id,
           l_top_proj_element_id sup_emt_id,l_top_proj_element_id sub_emt_id,
           xbs.subro_id,1,
           l_top_proj_element_id sub_rollup_id,xbs.sub_leaf_flag,
           1,xbs.relationship_type,
           xbs.struct_emt_id,to_number(p_wbs_version_id_to) wsup_id,
           to_number(p_wbs_version_id_to) wsub_id,l_last_update_date,
           l_last_updated_by,l_creation_date,
           l_created_by ,l_last_update_login
    from   PA_XBS_DENORM xbs
    where  xbs.struct_version_id is null
    and    xbs.sup_id=p_wbs_version_id_from
    and    xbs.sub_id=p_wbs_version_id_from;
Line: 999

   insert into PJI_XBS_DENORM
        (
          STRUCT_TYPE,
          PRG_GROUP,
          STRUCT_VERSION_ID,
          SUP_PROJECT_ID,
          SUP_ID,
          SUP_EMT_ID,
          SUBRO_ID,
          SUB_ID,
          SUB_EMT_ID,
          SUP_LEVEL,
          SUB_LEVEL,
          SUB_ROLLUP_ID,
          SUB_LEAF_FLAG,
          RELATIONSHIP_TYPE,
          LAST_UPDATE_DATE,
          LAST_UPDATED_BY,
          CREATION_DATE,
          CREATED_BY,
          LAST_UPDATE_LOGIN
        )
        select
          den.STRUCT_TYPE,
          den.PRG_GROUP,
          den.STRUCT_VERSION_ID,
          den.SUP_PROJECT_ID,
          den.SUP_ID,
          den.SUP_EMT_ID,
          den.SUBRO_ID,
          den.SUB_ID,
          den.SUB_EMT_ID,
          1 SUP_LEVEL,
          1 SUB_LEVEL,
          den.SUB_ROLLUP_ID,
          den.SUB_LEAF_FLAG,
          den.RELATIONSHIP_TYPE,
          l_last_update_date,
          l_last_updated_by,
          l_creation_date,
          l_created_by,
          l_last_update_login
        from
          PA_XBS_DENORM den
        where  den.struct_version_id is null
        and    den.sup_id=p_wbs_version_id_to
        and    den.sub_id=p_wbs_version_id_to;
Line: 1054

          select xbs.struct_type,xbs.prg_group,
                to_number(p_wbs_version_id_to) wstruct_version_id,xbs.sup_project_id,
                xbs.sup_emt_id,xbs.sub_emt_id,
                projsup.element_version_id sup_id,
                (select projsub.element_version_id  from PA_PROJ_ELEMENT_VERSIONS projsub
  	             where   projsub.proj_element_id= xbs.sub_emt_id
	             and projsup.parent_structure_version_id=projsub.parent_structure_version_id) sub_id,
     	   xbs.sup_level,xbs.sub_level,
           xbs.relationship_type,xbs.sub_leaf_flag,
           xbs.struct_emt_id,xbs.sub_rollup_id,
           xbs.subro_id
         from  pa_xbs_denorm xbs,
               PA_PROJ_ELEMENT_VERSIONS projsup
        where projsup.parent_structure_version_id= p_wbs_version_id_to
        and   projsup.proj_element_id= xbs.sup_emt_id
        and   xbs.struct_version_id= p_wbs_version_id_from;
Line: 1109

           insert into	PA_XBS_DENORM(
		struct_type
		,prg_group
		,struct_version_id
		,sup_project_id
		,sup_emt_id
		,sub_emt_id
		,sup_id
		,sub_id
		,sup_level
		,sub_level
	 	,relationship_type
		,sub_leaf_flag
		,struct_emt_id
		,sub_rollup_id
		,subro_id
		 ,LAST_UPDATE_DATE
		,LAST_UPDATED_BY
		,CREATION_DATE
		,CREATED_BY
		,LAST_UPDATE_LOGIN
		)
         VALUES
        ( struct_typetab(i)
		,prg_grouptab(i)
		,struct_version_idtab(i)
		,sup_project_idtab(i)
		,sup_emt_idtab(i)
		,sub_emt_idtab(i)
		,sup_idtab(i)
		,sub_idtab(i)
		,sup_leveltab(i)
		,sub_leveltab(i)
		,relationship_typetab(i)
		,sub_leaf_flagtab(i)
		,struct_emt_idtab(i)
		,sub_rollup_idtab(i)
		,subro_idtab(i)
		,l_last_update_date
		 ,l_last_updated_by
		  ,l_creation_date
		  ,l_created_by
		  ,l_last_update_login
		);
Line: 1154

     /* The below insert replaces the call to Pji_Pjp_Sum_Rollup.update_xbs_denorm
      it inserts all the data to pji_xbs_Denorm from pa_xbs_Denorm*/
      IF struct_typetab.COUNT <>0 then
     FORALL i IN struct_typetab.FIRST..struct_typetab.LAST
        insert into	PJI_XBS_DENORM(
		struct_type
		,prg_group
		,struct_version_id
		,sup_project_id
		,sup_emt_id
		,sub_emt_id
		,sup_id
		,sub_id
		,sup_level
		,sub_level
	       	,relationship_type
		,sub_leaf_flag
	--	,struct_emt_id
		,sub_rollup_id
		,subro_id
		,LAST_UPDATE_DATE
		,LAST_UPDATED_BY
		,CREATION_DATE
		,CREATED_BY
		,LAST_UPDATE_LOGIN
		)
         VALUES
        ( struct_typetab(i)
		,prg_grouptab(i)
		,struct_version_idtab(i)
		,sup_project_idtab(i)
		,sup_emt_idtab(i)
		,sub_emt_idtab(i)
		,sup_idtab(i)
		,sub_idtab(i)
		,sup_leveltab(i)
		,sub_leveltab(i)
       		,relationship_typetab(i)
       		,sub_leaf_flagtab(i)
	--	,struct_emt_idtab(i)
		,sub_rollup_idtab(i)
		,subro_idtab(i)
		,l_last_update_date
		 ,l_last_updated_by
		,l_creation_date
		,l_created_by
		,l_last_update_login
		);
Line: 1204

	--	write_log('insert bulk into xbs_Denorm done 1');
Line: 1206

    /* inserting the PRG lines*/
	insert
	into 	PA_XBS_DENORM
		(
		struct_type,
		prg_group,
		struct_version_id,
		sup_project_id,
		sup_emt_id,
		sub_emt_id,
		subro_id,
		sup_level,
		sub_rollup_id,
		sub_leaf_flag,
		sub_level,
       		relationship_type,
		struct_emt_id,
   		sup_id,
		sub_id,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
		)
    select xbs.struct_type,xbs.prg_group,
           xbs.struct_version_id,xbs.sup_project_id,
           xbs.sup_emt_id,xbs.sub_emt_id,
           xbs.subro_id,1,
           xbs.sub_rollup_id,xbs.sub_leaf_flag,
           1,xbs.relationship_type,
           xbs.struct_emt_id,to_number(p_wbs_version_id_to) wsup_id,
           to_number(p_wbs_version_id_to) wsub_id,l_last_update_date,
           l_last_updated_by,l_creation_date,
           l_created_by ,l_last_update_login
    from   PA_XBS_DENORM xbs
    where  xbs.struct_version_id is null
    and    xbs.sup_id=p_wbs_version_id_from
    and    xbs.sub_id=p_wbs_version_id_from;
Line: 1246

     insert into PJI_XBS_DENORM
        (
          STRUCT_TYPE,
          PRG_GROUP,
          STRUCT_VERSION_ID,
          SUP_PROJECT_ID,
          SUP_ID,
          SUP_EMT_ID,
          SUBRO_ID,
          SUB_ID,
          SUB_EMT_ID,
          SUP_LEVEL,
          SUB_LEVEL,
          SUB_ROLLUP_ID,
          SUB_LEAF_FLAG,
          RELATIONSHIP_TYPE,
          LAST_UPDATE_DATE,
          LAST_UPDATED_BY,
          CREATION_DATE,
          CREATED_BY,
          LAST_UPDATE_LOGIN
        )
        select
          den.STRUCT_TYPE,
          den.PRG_GROUP,
          den.STRUCT_VERSION_ID,
          den.SUP_PROJECT_ID,
          den.SUP_ID,
          den.SUP_EMT_ID,
          den.SUBRO_ID,
          den.SUB_ID,
          den.SUB_EMT_ID,
          den.SUP_LEVEL,
          den.SUB_LEVEL,
          den.SUB_ROLLUP_ID,
          den.SUB_LEAF_FLAG,
          den.RELATIONSHIP_TYPE,
          l_last_update_date,
          l_last_updated_by,
          l_creation_date,
          l_created_by,
          l_last_update_login
        from
          PA_XBS_DENORM den
        where  den.struct_version_id is null
        and    den.sup_id=p_wbs_version_id_to
        and    den.sub_id=p_wbs_version_id_to;
Line: 1418

	-- delete RBS slices for specific struct_version_id 	-- ###delete###

	if 	g_pa_debug_mode = 'Y'
	then
		PJI_UTILS.WRITE2LOG(
			'PJI_PJP -   Delete specific RBS slices -'
				|| ' p_rbs_version_id = '
				|| p_rbs_version_id,
			null,
			g_msg_level_high_detail
			);
Line: 1431

	delete
  	from	PA_RBS_DENORM
  	where	1=1
	and	STRUCT_VERSION_ID = p_rbs_version_id;
Line: 1455

	-- don't delete contents from PJI_FP_AGGR_RBS_T

	-- Sadiq will call cleanup_xbs_denorm(p_worker_id, 'ONLINE')



-- -----------------------------------------------------
-- Bulk Mode --

elsif 	p_denorm_type = 'ALL'

then

	-- ----------------------------------------------
  	-- process RBS hiearchies during PJP summarization

	if 	(
		 not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(
			l_process,
			'PJI_PJP_SUM_DENORM.POPULATE_RBS_DENORM(p_worker_id);'
Line: 1545

		delete
		from 	PA_RBS_DENORM
		where	STRUCT_VERSION_ID in
			(
			select	EVENT_OBJECT
	  		from   	PJI_PA_PROJ_EVENTS_LOG
			where  	1=1
			and	EVENT_TYPE = 'PJI_RBS_CHANGE'
			and     WORKER_ID = P_WORKER_ID
			);
Line: 1646

l_last_update_date	date;
Line: 1647

l_last_updated_by	number;
Line: 1650

l_last_update_login 	number;
Line: 1673

delete
from	PA_RBS_DENORM
where 	STRUCT_VERSION_ID = p_rbs_version_id;
Line: 1677

delete
from 	PJI_RBS_DENORM
where 	STRUCT_VERSION_ID = p_rbs_version_id;
Line: 1702

l_last_update_date  := sysdate;
Line: 1703

l_last_updated_by   := FND_GLOBAL.USER_ID;
Line: 1706

l_last_update_login := FND_GLOBAL.LOGIN_ID;
Line: 1711

insert
into 	PJI_RBS_DENORM
  	(
	struct_version_id,
	sup_id,
	subro_id,
	sub_id,
	sup_level,
	sub_level,
	sub_leaf_flag,
	LAST_UPDATE_DATE,
	LAST_UPDATED_BY,
	CREATION_DATE,
	CREATED_BY,
	LAST_UPDATE_LOGIN
  	)
select
	struct_version_id,
	sup_id,
	subro_id,
	sub_id,
	sup_level,
	sub_level,
	sub_leaf_flag,
 	l_last_update_date,
	l_last_updated_by,
 	l_creation_date,
	l_created_by,
	l_last_update_login
from	PA_RBS_DENORM
where	STRUCT_VERSION_ID = p_rbs_version_id;
Line: 1862

	select
          distinct
      PRG_LEVEL,
	  PROJECT_ID,
	  PROJ_ELEMENT_ID,
	  ELEMENT_VERSION_ID,
	  PARENT_STRUCTURE_VERSION_ID,
	  PRG_GROUP
	from
	  (
	select /*+ ordered */ -- all Projects in batch_map
	  distinct
      1 prg_level,
	  ver.project_id,
	  ver.proj_element_id,
	  ver.element_version_id,
	  ver.parent_structure_version_id,
	  ver.prg_group
	from
	  PJI_PJP_PROJ_BATCH_MAP map,
	  PA_PROJ_ELEMENT_VERSIONS ver
	where
	  p_extraction_type      in ('FULL', 'UPGRADE') and
	  ver.object_type        = 'PA_STRUCTURES'      and
	  ver.prg_group          is null                and
	  map.worker_id          = p_worker_id          and
	  map.PJI_PROJECT_STATUS is null                and
	  ver.project_id         = map.project_id
	UNION ALL
	select /*+ ordered */
          -- Programs (UPGRADE only. In FULL, batch_map has necessary projects)
	  distinct
      pvt_nodes1.prg_level,
	  pvt_nodes1.project_id,
	  pvt_nodes1.proj_element_id,
	  pvt_nodes1.element_version_id,
	  pvt_nodes1.parent_structure_version_id,
	  pvt_nodes1.prg_group
	from
	  (
	  select /*+ ordered */
	    distinct
	    ver.prg_group
	  from
	    PA_PROJ_ELEMENT_VERSIONS ver,
	    PJI_PJP_PROJ_BATCH_MAP map
	  where
	    p_extraction_type in ('FULL', 'UPGRADE') and
	    ver.object_type        = 'PA_STRUCTURES' and
	    ver.prg_group          is not null       and
	    map.worker_id          = p_worker_id     and
	    map.PJI_PROJECT_STATUS is null           and
	    ver.project_id         = map.project_id
	  ) batch_map,
	  PA_PROJ_ELEMENT_VERSIONS pvt_nodes1
	where
	  p_extraction_type in ('FULL', 'UPGRADE') and
	  pvt_nodes1.object_type = 'PA_STRUCTURES' and
	  pvt_nodes1.prg_group   is not null       and
	  pvt_nodes1.prg_group   = batch_map.prg_group
	UNION ALL
	 select
	 distinct
	    pvt_nodes2.prg_level,
		pvt_nodes2.project_id,
		pvt_nodes2.proj_element_id,
		pvt_nodes2.element_version_id,
		pvt_nodes2.parent_structure_version_id,
		pvt_nodes2.prg_group
	 from 	PA_PROJ_ELEMENT_VERSIONS pvt_nodes2,
		(
		 select
		 distinct
			decode(	invert.id,
				1, i_log.event_object,
				2, i_log.attribute1
			) event_object_id
		 from	PJI_PA_PROJ_EVENTS_LOG i_log,
			(
			 select	1 id
			 from	dual
			 where p_extraction_type IN ('INCREMENTAL', 'PARTIAL')
			UNION ALL
			 select 2 id
			 from	dual
			 where p_extraction_type IN ('INCREMENTAL', 'PARTIAL')
			) invert
		 where 	1=1
		 and 	i_log.worker_id = P_WORKER_ID
		 and 	i_log.event_type = 'PRG_CHANGE'
		 ) log11
	 where 	1=1
	 and 	pvt_nodes2.prg_group = log11.event_object_id
	 and 	pvt_nodes2.object_type = 'PA_STRUCTURES'
     and 	pvt_nodes2.prg_group IS NOT NULl    /*	4904076 */
	UNION ALL
	 select
	 distinct
	    1 prg_level,
		pvt_nodes3.project_id,
		pvt_nodes3.proj_element_id,
		pvt_nodes3.element_version_id,
		pvt_nodes3.parent_structure_version_id,
		pvt_nodes3.prg_group
	 from 	PA_PROJ_ELEMENT_VERSIONS pvt_nodes3,
		(
		 select
		 distinct
			decode(	invert.id,
				1, i_log.event_object,
				2, i_log.attribute1
			) event_object_id
		 from	PJI_PA_PROJ_EVENTS_LOG i_log,
			(
			 select	1 id
			 from	dual
			 where p_extraction_type IN ('INCREMENTAL', 'PARTIAL')
			UNION ALL
			 select 2 id
			 from	dual
			 where p_extraction_type IN ('INCREMENTAL', 'PARTIAL')
			) invert
		 where 	1=1
		 and 	i_log.worker_id = P_WORKER_ID
		 and 	i_log.event_type = 'PRG_CHANGE'
		 and	i_log.event_object = -1
		 ) log22
	 where 	1=1
	 and 	pvt_nodes3.project_id = log22.event_object_id -- log22.attribute2
	 and 	pvt_nodes3.object_type = 'PA_STRUCTURES'
	 and	pvt_nodes3.prg_group is null
	  )
	order by
	  PRG_LEVEL DESC,     /* This DESC order by will take care the hierarchy of projects*/
	  PROJECT_ID,
	  PROJ_ELEMENT_ID,
	  ELEMENT_VERSION_ID,
	  PARENT_STRUCTURE_VERSION_ID,
	  PRG_GROUP
	) LOOP

	if (p_extraction_type = 'FULL' or p_extraction_type = 'UPGRADE') then

	  if (l_project_id is null) then

	    l_project_id := prg_node.PROJECT_ID;
Line: 2011

	    update PJI_PJP_PROJ_BATCH_MAP
	    set    PJI_PROJECT_STATUS = 'C'
	    where  WORKER_ID = p_worker_id and
	           PROJECT_ID = l_project_id;
Line: 2043

		-- Determine if the node to be inserted is a leaf
		--  If the node to be inserted has not been inserted before,
		-- then we know that the node is a leaf
    if PRG_NODE.prg_group is not null then
		select 	count(*)
		into 	l_prg_node_count
		from 	PJI_FP_AGGR_XBS pdt_count
		where 	1=1
		and	pdt_count.sup_id = PRG_NODE.element_version_id
		and	pdt_count.worker_id = P_WORKER_ID
		and	rownum = 1;
Line: 2081

				'PJI_PJP -     Inserting PRG node self -'
					|| ' sup_id = '
					|| PRG_NODE.element_version_id,
				null,
				g_msg_level_low_detail
				);
Line: 2090

		-- Insert PRG node self --
		insert
		into 	PJI_FP_AGGR_XBS
			(
			struct_type,
			prg_group,
			struct_version_id,
			sup_project_id,
			sup_id,
			sup_emt_id,
			subro_id,
			sub_id,
			sub_emt_id,
			sup_level,
			sub_level,
			sub_rollup_id,
			sub_leaf_flag_id,
			sub_leaf_flag,
			status_id,
			worker_id
			)
		values (
			'PRG', 				-- structure type
			PRG_NODE.prg_group, 		-- prg group
			null, 				-- structure version id
			PRG_NODE.project_id, 		-- parent project id
			PRG_NODE.element_version_id, 	-- parent id
			PRG_NODE.proj_element_id,	-- sup emt id
			null,	 			-- immediate child id
			PRG_NODE.element_version_id, 	-- child id
			PRG_NODE.proj_element_id,	-- sub emt_id
			PRG_NODE.prg_level, 		-- parent level
			PRG_NODE.prg_level, 		-- child level
			PRG_NODE.proj_element_id,	-- child rollup id
			l_prg_leaf_flag_id,		-- child leaf flag id
			l_prg_leaf_flag,		-- child leaf flag
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 2140

			 select
			 distinct
				prt_parent.object_id_from1,
				prt_parent.relationship_type,
				ver.prg_level
			 from 	PA_OBJECT_RELATIONSHIPS prt_parent,
				PA_PROJ_ELEMENT_VERSIONS ver
			 where 	1=1
			 and 	prt_parent.object_id_to1 = PRG_NODE.element_version_id
			 and 	prt_parent.object_type_from = 'PA_TASKS'
			 and 	prt_parent.object_type_to = 'PA_STRUCTURES'
			 and 	(
				 prt_parent.relationship_type = 'LF'
				 or
				 prt_parent.relationship_type = 'LW'
				)
			 and 	ver.element_version_id = prt_parent.object_id_from1
			) LOOP

				select	pvt_parent1.parent_structure_version_id,
					pvt_parent1.project_id,
					pvt_parent1.proj_element_id
				into 	l_prg_temp_parent,
					l_prj_temp_parent,
					l_prg_dummy_rollup 		-- ###dummy### 		-- l_prg_temp_rollup
				from 	PA_PROJ_ELEMENT_VERSIONS pvt_parent1
				where 	1=1
				and 	pvt_parent1.element_version_id = PRG_PARENT_NODE.object_id_from1;
Line: 2170

				select 	link_task_flag
				into 	l_prg_dummy_task_flag
				from 	pa_proj_elements
				where 	1=1
				and 	proj_element_id = l_prg_dummy_rollup;
Line: 2184

					select 	dt_ver1.proj_element_id
					into	l_prg_temp_rollup
					from  	pa_object_relationships dt_rel,
       						pa_proj_element_versions dt_ver1,
       						pa_proj_element_versions dt_ver2
					where 	1=1
					and 	dt_ver1.element_version_id = dt_rel.object_id_from1
					and 	dt_rel.object_type_from = 'PA_TASKS'
					and 	dt_rel.object_type_to = 'PA_TASKS'
					and 	dt_rel.object_id_to1 = dt_ver2.element_version_id
					and     dt_ver2.proj_element_id = l_prg_dummy_rollup;
Line: 2198

					select 	dt_ver1.proj_element_id
					into	l_prg_temp_rollup
					from  	pa_object_relationships dt_rel,
       						pa_proj_element_versions dt_ver1
					where 	1=1
					and 	dt_ver1.element_version_id = dt_rel.object_id_from1
					and 	dt_rel.object_type_from = 'PA_TASKS'
					and 	dt_rel.object_type_to = 'PA_TASKS'
					and     dt_rel.object_id_to1 = PRG_PARENT_NODE.object_id_from1;
Line: 2211

				select 	pvt_parent4.proj_element_id
				into 	l_prg_temp_sup_emt
				from 	PA_PROJ_ELEMENT_VERSIONS pvt_parent4
				where 	1=1
				and 	pvt_parent4.element_version_id = l_prg_temp_parent;
Line: 2218

				select 	pvt_parent5.proj_element_id
				into 	l_prg_temp_sub_emt
				from 	PA_PROJ_ELEMENT_VERSIONS pvt_parent5
				where 	1=1
				and 	pvt_parent5.element_version_id = PRG_NODE.element_version_id;
Line: 2240

						'PJI_PJP -     Inserting PRG node parent -'
							|| ' element_version_id = '
							|| PRG_NODE.element_version_id
							|| ' sup_id = '
							|| l_prg_temp_parent
							|| ' sub_rollup_id = '
							|| l_prg_temp_rollup,
						null,
						g_msg_level_low_detail
						);
Line: 2252

				-- Insert PRG node's parent --
				insert
				into 	PJI_FP_AGGR_XBS
					(
					struct_type,
					prg_group,
					struct_version_id,
					sup_project_id,
					sup_id,
					sup_emt_id,
					subro_id,
					sub_id,
					sub_emt_id,
					sup_level,
					sub_level,
					sub_rollup_id,
					sub_leaf_flag_id,
					sub_leaf_flag,
					relationship_type,
					status_id,
					worker_id
					)
				values (
					'PRG',					-- structure type
					PRG_NODE.prg_group,			-- prg group
					null,					-- structure version id
					l_prj_temp_parent,			-- parent project id
					l_prg_temp_parent, 			-- parent id
					l_prg_temp_sup_emt,			-- sup emt_id
					PRG_NODE.proj_element_id, 		-- immediate child id
					PRG_NODE.element_version_id, 		-- child id
					l_prg_temp_sub_emt,			-- sub emt_id
					PRG_PARENT_NODE.prg_level,		-- parent level
					PRG_NODE.prg_level, 			-- child level
					l_prg_temp_rollup,			-- child rollup id
					l_prg_leaf_flag_id,			-- child leaf flag id
					l_prg_leaf_flag,			-- child leaf flag
					PRG_PARENT_NODE.relationship_type, 	-- relationship type (new)
					'parent', 				-- status id
					P_WORKER_ID				-- worker id
					);
Line: 2301

				 select
				 distinct
					pdt_child.sup_id,
					pdt_child.sub_id,
					pdt_child.sub_leaf_flag_id
				 from 	PJI_FP_AGGR_XBS pdt_child
				 where 	1=1
				 and 	pdt_child.sup_id = PRG_NODE.element_version_id
				 and 	pdt_child.sup_id <> pdt_child.sub_id
				 and	pdt_child.worker_id = P_WORKER_ID
				) LOOP

					-- l_prg_temp_level --
					select 	pdt_child1.sub_level
					into 	l_prg_temp_level
					from 	PJI_FP_AGGR_XBS pdt_child1
					where 	1=1
					and 	pdt_child1.sup_id = PRG_CHILDREN_NODE.sub_id
					and 	pdt_child1.sup_id = pdt_child1.sub_id
					and	pdt_child1.worker_id = P_WORKER_ID;
Line: 2323

					select 	pvt_child1.project_id
					into 	l_prj_temp_parent
					from 	PA_PROJ_ELEMENT_VERSIONS pvt_child1
					where 	1=1
					and 	pvt_child1.element_version_id = PRG_PARENT_NODE.object_id_from1;
Line: 2330

					select 	pvt_child2.proj_element_id
					into 	l_prg_temp_sup_emt
					from 	PA_PROJ_ELEMENT_VERSIONS pvt_child2
					where 	1=1
					and 	pvt_child2.element_version_id = l_prg_temp_parent;
Line: 2337

					select 	pvt_child3.proj_element_id
					into 	l_prg_temp_sub_emt
					from 	PA_PROJ_ELEMENT_VERSIONS pvt_child3
					where 	1=1
					and 	pvt_child3.element_version_id = PRG_CHILDREN_NODE.sub_id;
Line: 2359

							'PJI_PJP -     Inserting PRG node child -'
								|| ' sup_id = '
								|| l_prg_temp_parent
								|| ' sub_emt_id = '
								|| l_prg_temp_sub_emt
								|| ' sub_level = '
								|| l_prg_temp_level,
								-- || PRG_CHILDREN_NODE.sup_id,
							null,
							g_msg_level_low_detail
							);
Line: 2372

					-- Insert PRG node's child --
					insert
					into 	PJI_FP_AGGR_XBS
						(
						struct_type,
						prg_group,
						struct_version_id,
						sup_project_id,
						sup_id,
						sup_emt_id,
						subro_id,
						sub_id,
						sub_emt_id,
						sup_level,
						sub_level,
						sub_rollup_id,
						sub_leaf_flag_id,
						sub_leaf_flag,
						status_id,
						worker_id
						)
					values (
						'PRG',					-- structure type
						PRG_NODE.prg_group,			-- prg group
						null,					-- struct_version_id
						l_prj_temp_parent,			-- parent project id
						l_prg_temp_parent, 			-- parent id
						l_prg_temp_sup_emt,			-- sup emt_id
						PRG_NODE.proj_element_id,	 	-- immediate child id
						PRG_CHILDREN_NODE.sub_id,		-- child id
						l_prg_temp_sub_emt,			-- sub emt_id
						PRG_PARENT_NODE.prg_level,		-- parent level
						l_prg_temp_level, 			-- child level
						null,	 				-- child rollup id
						PRG_CHILDREN_NODE.sub_leaf_flag_id, 	-- child leaf flag
						l_prg_leaf_flag, 			-- child leaf flag
						'children',				-- status id
						P_WORKER_ID				-- worker id
						);
Line: 2424

	select	count(*)
	into	l_prg_element_version_count
	from	PA_PROJ_ELEMENT_VERSIONS cv
	where	cv.parent_structure_version_id = PRG_NODE.element_version_id
	and	rownum = 1;
Line: 2475

  update PJI_PJP_PROJ_BATCH_MAP
  set    PJI_PROJECT_STATUS = null
  where  WORKER_ID = p_worker_id and
         PJI_PROJECT_STATUS = 'C';
Line: 2572

select
distinct
	sup_emt_id
into 	l_struct_emt_id
from 	pji_fp_aggr_xbs
where 	1=1
and 	struct_type = 'PRG'
and 	sup_id = P_WBS_VERSION_ID
and 	worker_id = P_WORKER_ID;
Line: 2587

	select 	projects.structure_sharing_code,projects.project_id
	into 	l_sharing_code,l_project_id
	from 	pa_projects_all projects,
		pa_proj_element_versions versions
	where 	1=1
	and 	projects.project_id = versions.project_id
	and  	versions.object_type = 'PA_STRUCTURES'
	and 	versions.element_version_id = P_WBS_VERSION_ID;
Line: 2618

	 select	wvt_nodes.wbs_level,
        wvt_nodes.project_id,
		wvt_nodes.proj_element_id,
		wvt_nodes.element_version_id,
		wvt_nodes.parent_structure_version_id,
		wvt_nodes.financial_task_flag 		-- ###financial###
	 from 	PA_PROJ_ELEMENT_VERSIONS wvt_nodes
	 where 	1=1
	 and	(
		 P_EXTRACTION_TYPE = 'FULL'
		 or
		 P_EXTRACTION_TYPE = 'UPGRADE'
		)
	 and 	wvt_nodes.object_type = 'PA_TASKS'
	  and 	exists 			 		-- ###dummy###
		(
		 select 1
		 from 	pa_proj_elements ele
		 where 	link_task_flag = 'N'
		    and ele.project_id = l_project_id
            and ele.proj_element_id = wvt_nodes.proj_element_id
            and rownum <= 1
		)
	 and 	wvt_nodes.parent_structure_version_id = P_WBS_VERSION_ID
     and    wvt_nodes.wbs_level is not null
     ORDER BY wbs_level DESC
	) LOOP


		-- -----------------------------------------------------
		-- Check WBS node self --

		-- Determine if the node to be inserted is a leaf
		--  If the node to be inserted has not been inserted before,
		-- then we know that the node is a leaf

		select 	count(*)
		into 	l_wbs_node_count
		from 	PJI_FP_AGGR_XBS wdt_count
		where 	wdt_count.sup_id = WBS_NODE.element_version_id
		and	wdt_count.worker_id = P_WORKER_ID
		and	rownum = 1;
Line: 2685

				'PJI_PJP -     Inserting WBS node self - element_version_id = '
					|| WBS_NODE.element_version_id,
				null,
				g_msg_level_low_detail
				);
Line: 2692

		-- Insert WBS node self --
		insert
		into	PJI_FP_AGGR_XBS
			(
			struct_type,
			prg_group,
			struct_emt_id,
			struct_version_id,
			sup_project_id,
			sup_id,
			sup_emt_id,
			subro_id,
			sub_id,
			sub_emt_id,
			sup_level,
			sub_level,
			sub_rollup_id,
			sub_leaf_flag_id,
			sub_leaf_flag,
			relationship_type,
			status_id,
			worker_id
			)
		values (
			'WBS',				-- structure type
			null,				-- prg group
			l_struct_emt_id,		-- structure element id
			P_WBS_VERSION_ID, 		-- structure version id
			WBS_NODE.project_id,		-- parent project id
			WBS_NODE.element_version_id, 	-- parent id
			WBS_NODE.proj_element_id,	-- sup emt id
			null, 				-- immediate child id
			WBS_NODE.element_version_id, 	-- child id
			WBS_NODE.proj_element_id,	-- sub emt_id
			WBS_NODE.wbs_level, 		-- parent level
			WBS_NODE.wbs_level, 		-- child level
			null,				-- child rollup id
			l_wbs_leaf_flag_id,	 	-- child leaf flag id
			l_wbs_leaf_flag,	 	-- child leaf flag
			decode(l_sharing_code,
				'SHARE_FULL',       'WF',
				'SHARE_PARTIAL',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'WF', 'LW'),
				'SPLIT_MAPPING',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
				'SPLIT_NO_MAPPING', decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
				'PJI$NULL',         decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW')),
							-- sub financial task flag 	-- ###financial###
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 2757

			select 	wrt_parent.object_id_from1
			into 	l_wbs_temp_parent
			from 	PA_OBJECT_RELATIONSHIPS wrt_parent
			where 	1=1
			and 	wrt_parent.object_id_to1 = WBS_NODE.element_version_id
			and 	wrt_parent.object_type_from = 'PA_TASKS'
			and 	wrt_parent.object_type_to = 'PA_TASKS'
			and 	wrt_parent.relationship_type = 'S';
Line: 2767

			select 	wvt_parent1.proj_element_id
			into 	l_wbs_temp_sup_emt
			from 	PA_PROJ_ELEMENT_VERSIONS wvt_parent1
			where 	1=1
			and 	wvt_parent1.element_version_id = l_wbs_temp_parent;
Line: 2774

			select 	wvt_parent2.proj_element_id
			into 	l_wbs_temp_sub_emt
			from 	PA_PROJ_ELEMENT_VERSIONS wvt_parent2
			where 	1=1
			and 	wvt_parent2.element_version_id = WBS_NODE.element_version_id;
Line: 2796

					'PJI_PJP -     Inserting WBS node parent - l_wbs_temp_parent = '
						|| l_wbs_temp_parent,
					null,
					g_msg_level_low_detail
					);
Line: 2804

			-- Insert WBS node's parent --
			insert
			into 	PJI_FP_AGGR_XBS
				(
				struct_type,
				prg_group,
				struct_emt_id,
				struct_version_id,
				sup_project_id,
				sup_id,
				sup_emt_id,
				subro_id,
				sub_id,
				sub_emt_id,
				sup_level,
				sub_level,
				sub_rollup_id,
				sub_leaf_flag_id,
				sub_leaf_flag,
				relationship_type,
				status_id,
				worker_id
				)
			values (
				'WBS',				-- structure type
				null,				-- prg group
				l_struct_emt_id,		-- structure element id
				P_WBS_VERSION_ID, 		-- structure version id
				WBS_NODE.project_id,		-- parent project id
				l_wbs_temp_parent, 		-- parent id
				l_wbs_temp_sup_emt,		-- sup_emt_id
				WBS_NODE.proj_element_id, 	-- immediate child id
				WBS_NODE.element_version_id, 	-- child id
				l_wbs_temp_sub_emt,		-- sub_emt_id
				WBS_NODE.wbs_level -1, 		-- parent level
				WBS_NODE.wbs_level, 		-- child level
				null,				-- child rollup id
				l_wbs_leaf_flag_id,	 	-- child leaf flag id
				l_wbs_leaf_flag,	 	-- child leaf flag
				decode(l_sharing_code,
					'SHARE_FULL',       'WF',
					'SHARE_PARTIAL',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'WF', 'LW'),
					'SPLIT_MAPPING',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
					'SPLIT_NO_MAPPING', decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
					'PJI$NULL',         decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW')),
								-- sub financial task flag 	-- ###financial###
				'parent',			-- status id
				P_WORKER_ID			-- worker id
				);
Line: 2860

			select 	wdt_child.sup_id,
				wdt_child.sub_id,
				wdt_child.sub_leaf_flag_id,
				wdt_child.relationship_type
			from 	PJI_FP_AGGR_XBS wdt_child
			where 	1=1
			and 	wdt_child.sup_id = WBS_NODE.element_version_id
			and 	wdt_child.sup_id <> wdt_child.sub_id
			and	wdt_child.worker_id = P_WORKER_ID
			) LOOP

				-- l_wbs_temp_level --
				select 	wdt_child1.sub_level
				into 	l_wbs_temp_level
				from 	PJI_FP_AGGR_XBS wdt_child1
				where 	1=1
				and 	wdt_child1.sup_id = WBS_CHILDREN_NODE.sub_id
				and 	wdt_child1.sup_id = wdt_child1.sub_id
				and	wdt_child1.worker_id = P_WORKER_ID;
Line: 2881

				select 	wvt_child1.proj_element_id
				into 	l_wbs_temp_sup_emt
				from 	PA_PROJ_ELEMENT_VERSIONS wvt_child1
				where 	1=1
				and 	wvt_child1.element_version_id = l_wbs_temp_parent;
Line: 2888

				select 	wvt_child2.proj_element_id
				into 	l_wbs_temp_sub_emt
				from 	PA_PROJ_ELEMENT_VERSIONS wvt_child2
				where 	1=1
				and 	wvt_child2.element_version_id = WBS_CHILDREN_NODE.sub_id;
Line: 2910

						'PJI_PJP -     Inserting WBS node child - sup_id = '
							|| WBS_CHILDREN_NODE.sup_id,
						null,
						g_msg_level_low_detail
						);
Line: 2917

				-- Insert WBS node's child --
				insert
				into 	PJI_FP_AGGR_XBS
					(
					struct_type,
					prg_group,
					struct_emt_id,
					struct_version_id,
					sup_project_id,
					sup_id,
					sup_emt_id,
					subro_id,
					sub_id,
					sub_emt_id,
					sup_level,
					sub_level,
					sub_rollup_id,
					sub_leaf_flag_id,
					sub_leaf_flag,
					relationship_type,
					status_id,
					worker_id
					)
				values (
					'WBS',					-- structure type
					null,					-- prg group
					l_struct_emt_id,			-- structure element id
					P_WBS_VERSION_ID, 			-- structure version id
					WBS_NODE.project_id,			-- parent project id
					l_wbs_temp_parent, 			-- parent id
					l_wbs_temp_sup_emt,			-- sup emt_id
					WBS_NODE.proj_element_id, 		-- immediate child id
					WBS_CHILDREN_NODE.sub_id, 		-- child id
					l_wbs_temp_sub_emt,			-- sub emt_id
					WBS_NODE.wbs_level - 1,			-- parent level
					l_wbs_temp_level, 			-- child level
					null, 					-- child rollup id
					WBS_CHILDREN_NODE.sub_leaf_flag_id, 	-- child leaf flag id
					l_wbs_leaf_flag, 			-- child leaf flag
					decode(l_sharing_code,
						'SHARE_FULL',       'WF',
						'SHARE_PARTIAL',    decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'WF', 'LW'),
						'SPLIT_MAPPING',    decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'LF', 'LW'),
						'SPLIT_NO_MAPPING', decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'LF', 'LW'),
						'PJI$NULL',         decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'LF', 'LW')),
										-- sub financial task flag 	-- ###financial###
					'children',				-- status id
					P_WORKER_ID				-- worker id
					);
Line: 2987

				'PJI_PJP -     Inserting XBS node self - sup_id = '
					|| P_WBS_VERSION_ID,
				null,
 				g_msg_level_low_detail
				);
Line: 2994

		-- Insert XBS node --
		insert
		into	PJI_FP_AGGR_XBS
			(
			struct_type,
			prg_group,
			struct_version_id,
			sup_project_id,
			sup_id,
			sup_emt_id,
			subro_id,
			sub_id,
			sub_emt_id,
			sup_level,
			sub_level,
			sub_rollup_id,
			sub_leaf_flag_id,
			sub_leaf_flag,
			relationship_type,
			status_id,
			worker_id
			)
		values (
			'XBS',				-- structure type
			null,				-- prg group
			P_WBS_VERSION_ID, 		-- structure version id
			WBS_NODE.project_id,		-- parent project id
			P_WBS_VERSION_ID, 		-- parent id
			l_struct_emt_id,		-- sup emt id
			null, 				-- immediate child id
			WBS_NODE.element_version_id, 	-- child id
			WBS_NODE.proj_element_id,	-- sub emt_id
			0,		 		-- parent level (l_wbs_level_id)
			WBS_NODE.wbs_level, 		-- child level
			null,				-- child rollup id
			l_wbs_leaf_flag_id,		-- child leaf flag id
			l_wbs_leaf_flag,	 	-- child leaf flag
			decode(l_sharing_code,
				'SHARE_FULL',       'WF',
				'SHARE_PARTIAL',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'WF', 'LW'),
				'SPLIT_MAPPING',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
				'SPLIT_NO_MAPPING', decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
				'PJI$NULL',         decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW')),
							-- sub financial task flag 	-- ###financial###
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 3154

	select	max(pvt_level.prg_level)
	into 	l_prg_level_id
	from 	PA_PROJ_ELEMENT_VERSIONS pvt_level
	where	1=1
	and 	pvt_level.object_type = 'PA_STRUCTURES'
	and     pvt_level.prg_group IS NOT NULL   /*	4904076 */
	and 	prg_group = p_prg_group_id;
Line: 3184

			'PJI_PJP -   PRG Inserts - l_prg_level_id = '
				|| l_prg_level_id,
			null,
			g_msg_level_high_detail
			);
Line: 3199

	 select
	 distinct
		pvt_nodes1.project_id,
		pvt_nodes1.proj_element_id,
		pvt_nodes1.element_version_id,
		pvt_nodes1.parent_structure_version_id,
		pvt_nodes1.prg_group,
	        pvt_nodes1.prg_level               /*4625702*/
	 from 	PA_PROJ_ELEMENT_VERSIONS pvt_nodes1
	 where 	1=1
	 and 	pvt_nodes1.object_type = 'PA_STRUCTURES'
	 and 	pvt_nodes1.element_version_id = p_wbs_version_id
	) LOOP


	IF 	l_prg_level_id > 1  		-- ###prg_group_is_null###
		and
		PRG_NODE.prg_group is null

	THEN
		if 	g_pa_debug_mode = 'Y'
		then
			PJI_UTILS.WRITE2LOG(
				'PJI_PJP - PRG Group is null Data Bug - element_version_id = '
					|| PRG_NODE.element_version_id,
				null,
				g_msg_level_data_bug
				);
Line: 3233

		-- Determine if the node to be inserted is a leaf
		--  If the node to be inserted has not been inserted before,
		-- then we know that the node is a leaf

		select 	count(*)
		into 	l_prg_node_count
		from 	PJI_FP_AGGR_XBS_T pdt_count
		where 	1=1
		and	pdt_count.sup_id = PRG_NODE.element_version_id
		and	pdt_count.worker_id = P_WORKER_ID
		and	rownum = 1;
Line: 3269

				'PJI_PJP -     Inserting PRG node self - sup_id = '
					|| PRG_NODE.element_version_id,
				null,
				g_msg_level_low_detail
				);
Line: 3277

		-- Insert PRG node self --
		insert
		into 	PJI_FP_AGGR_XBS_T
			(
			struct_type,
			prg_group,
			struct_version_id,
			sup_project_id,
			sup_id,
			sup_emt_id,
			subro_id,
			sub_id,
			sub_emt_id,
			sup_level,
			sub_level,
			sub_rollup_id,
			sub_leaf_flag_id,
			sub_leaf_flag,
			status_id,
			worker_id
			)
		values (
			'PRG', 				-- structure type
			PRG_NODE.prg_group,		-- prg group
			null, 				-- structure version id
			PRG_NODE.project_id, 		-- parent project id
			PRG_NODE.element_version_id, 	-- parent id
			PRG_NODE.proj_element_id,	-- sup emt id
			null,	 			-- immediate child id
			PRG_NODE.element_version_id, 	-- child id
			PRG_NODE.proj_element_id,	-- sub emt_id
			nvl(PRG_NODE.prg_level,1) ,     -- 4625702 l_prg_level_id, 		-- parent level
			nvl(PRG_NODE.prg_level,1) ,     -- 4625702 l_prg_level_id, 		-- child level
			PRG_NODE.proj_element_id,	-- child rollup id
			l_prg_leaf_flag_id,		-- child leaf flag id
			l_prg_leaf_flag,		-- child leaf flag
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 3328

			 select
			 distinct
				prt_parent.object_id_from1,
				prt_parent.relationship_type,
				ver.prg_level
			 from 	PA_OBJECT_RELATIONSHIPS prt_parent,
				PA_PROJ_ELEMENT_VERSIONS ver
			 where 	1=1
			 and 	prt_parent.object_id_to1 = PRG_NODE.element_version_id
			 and 	prt_parent.object_type_from = 'PA_TASKS'
			 and 	prt_parent.object_type_to = 'PA_STRUCTURES'
			 and 	(
				 prt_parent.relationship_type = 'LF'
				 or
				 prt_parent.relationship_type = 'LW'
				)
			 and 	ver.element_version_id = prt_parent.object_id_from1
			) LOOP

				-- l_prg_temp_parent --
				-- l_prj_temp_parent --
				-- l_prg_dummy_rollup --
				select	pvt_parent1.parent_structure_version_id,
					pvt_parent1.project_id,
					pvt_parent1.proj_element_id
				into 	l_prg_temp_parent,
					l_prj_temp_parent,
					l_prg_dummy_rollup 		-- ###dummy### 		-- l_prg_temp_rollup
				from 	PA_PROJ_ELEMENT_VERSIONS pvt_parent1
				where 	1=1
				and 	pvt_parent1.element_version_id = PRG_PARENT_NODE.object_id_from1;
Line: 3361

				select 	link_task_flag
				into 	l_prg_dummy_task_flag
				from 	pa_proj_elements
				where 	1=1
				and 	proj_element_id = l_prg_dummy_rollup;
Line: 3374

					select 	dt_ver1.proj_element_id
					into	l_prg_temp_rollup
					from  	pa_object_relationships dt_rel,
       						pa_proj_element_versions dt_ver1
       						/* commented for bug 3838523 pa_proj_element_versions dt_ver2*/
					where 	1=1
					and 	dt_ver1.element_version_id = dt_rel.object_id_from1
					and 	dt_rel.object_type_from = 'PA_TASKS'
					and 	dt_rel.object_type_to = 'PA_TASKS'
					and     dt_rel.object_id_to1 = PRG_PARENT_NODE.object_id_from1;
Line: 3391

				select 	pvt_parent4.proj_element_id
				into 	l_prg_temp_sup_emt
				from 	PA_PROJ_ELEMENT_VERSIONS pvt_parent4
				where 	1=1
				and 	pvt_parent4.element_version_id = l_prg_temp_parent;
Line: 3398

				select 	pvt_parent5.proj_element_id
				into 	l_prg_temp_sub_emt
				from 	PA_PROJ_ELEMENT_VERSIONS pvt_parent5
				where 	1=1
				and 	pvt_parent5.element_version_id = PRG_NODE.element_version_id;
Line: 3420

						'PJI_PJP -     Inserting PRG node parent -'
							|| ' element_version_id = '
							|| PRG_NODE.element_version_id
							|| ' sup_id = '
							|| l_prg_temp_parent
							|| ' sub_rollup_id = '
							|| l_prg_temp_rollup,
						null,
						g_msg_level_low_detail
						);
Line: 3433

				-- Insert PRG node's parent --
				insert
				into 	PJI_FP_AGGR_XBS_T
					(
					struct_type,
					prg_group,
					struct_version_id,
					sup_project_id,
					sup_id,
					sup_emt_id,
					subro_id,
					sub_id,
					sub_emt_id,
					sup_level,
					sub_level,
					sub_rollup_id,
					sub_leaf_flag_id,
					sub_leaf_flag,
					relationship_type,
					status_id,
					worker_id
					)
				values (
					'PRG',					-- structure type
					PRG_NODE.prg_group,			-- prg group
					null,					-- structure version id
					l_prj_temp_parent,			-- parent project id
					l_prg_temp_parent, 			-- parent id
					l_prg_temp_sup_emt,			-- sup emt_id
					PRG_NODE.proj_element_id, 		-- immediate child id
					PRG_NODE.element_version_id, 		-- child id
					l_prg_temp_sub_emt,			-- sub emt_id
					PRG_PARENT_NODE.prg_level,		-- parent level
					l_prg_level_id, 			-- child level
					l_prg_temp_rollup,			-- child rollup id
					l_prg_leaf_flag_id,			-- child leaf flag id
					l_prg_leaf_flag,			-- child leaf flag
					PRG_PARENT_NODE.relationship_type, 	-- relationship type (new)
					'parent', 				-- status id
					P_WORKER_ID				-- worker id
					);
Line: 3482

				 select
				 distinct
					pdt_child.sup_id,
					pdt_child.sub_id,
					pdt_child.sub_leaf_flag_id
				 from 	PJI_FP_AGGR_XBS_T pdt_child
				 where 	1=1
				 and 	pdt_child.sup_id = PRG_NODE.element_version_id
				 and 	pdt_child.sup_id <> pdt_child.sub_id
				 and	pdt_child.worker_id = P_WORKER_ID
				) LOOP

					-- l_prg_temp_level --
					select 	pdt_child1.sub_level
					into 	l_prg_temp_level
					from 	PJI_FP_AGGR_XBS_T pdt_child1
					where 	1=1
					--and 	pdt_child1.struct_type = 'PRG'
					and 	pdt_child1.sup_id = PRG_CHILDREN_NODE.sub_id
					and 	pdt_child1.sub_id = PRG_CHILDREN_NODE.sub_id
					and	pdt_child1.worker_id = P_WORKER_ID;
Line: 3505

					select 	pvt_child1.project_id
					into 	l_prj_temp_parent
					from 	PA_PROJ_ELEMENT_VERSIONS pvt_child1
					where 	1=1
					and 	pvt_child1.element_version_id = PRG_PARENT_NODE.object_id_from1;
Line: 3512

					select 	pvt_child2.proj_element_id
					into 	l_prg_temp_sup_emt
					from 	PA_PROJ_ELEMENT_VERSIONS pvt_child2
					where 	1=1
					and 	pvt_child2.element_version_id = l_prg_temp_parent;
Line: 3519

					select 	pvt_child3.proj_element_id
					into 	l_prg_temp_sub_emt
					from 	PA_PROJ_ELEMENT_VERSIONS pvt_child3
					where 	1=1
					and 	pvt_child3.element_version_id = PRG_CHILDREN_NODE.sub_id;
Line: 3541

							'PJI_PJP -     Inserting PRG node child -'
								|| ' element_version_id = '
								|| PRG_NODE.element_version_id
								|| ' sup_id = '
								|| l_prg_temp_parent
								|| ' sub_emt_id = '
								|| l_prg_temp_sub_emt
								|| ' sub_level = '
								|| l_prg_temp_level,
								-- || PRG_CHILDREN_NODE.sup_id,
							null,
							g_msg_level_low_detail
							);
Line: 3556

					-- Insert PRG node's child --
					insert
					into 	PJI_FP_AGGR_XBS_T
						(
						struct_type,
						prg_group,
						struct_version_id,
						sup_project_id,
						sup_id,
						sup_emt_id,
						subro_id,
						sub_id,
						sub_emt_id,
						sup_level,
						sub_level,
						sub_rollup_id,
						sub_leaf_flag_id,
						sub_leaf_flag,
						status_id,
						worker_id
						)
					values (
						'PRG',					-- structure type
						PRG_NODE.prg_group,			-- prg group
						null,					-- struct_version_id
						l_prj_temp_parent,			-- parent project id
						l_prg_temp_parent, 			-- parent id
						l_prg_temp_sup_emt,			-- sup emt id
						PRG_NODE.proj_element_id,	 	-- immediate child id
						PRG_CHILDREN_NODE.sub_id,		-- child id
						l_prg_temp_sub_emt,			-- sub emt id
						PRG_PARENT_NODE.prg_level,		-- parent level
						l_prg_temp_level, 			-- child level
						null,	 				-- child rollup id
						PRG_CHILDREN_NODE.sub_leaf_flag_id, 	-- child leaf flag
						l_prg_leaf_flag, 			-- child leaf flag
						'children',				-- status id
						P_WORKER_ID				-- worker id
						);
Line: 3712

select	count(*)
into 	l_wbs_count
from 	PA_PROJ_ELEMENT_VERSIONS wvt_count
where 	1=1
and 	wvt_count.object_type = 'PA_TASKS'
and 	wvt_count.proj_element_id in 		-- ###dummy###
	(
	 select proj_element_id
	 from 	pa_proj_elements
	 where 	link_task_flag = 'N'
	)
and 	wvt_count.parent_structure_version_id = P_WBS_VERSION_ID
and	rownum = 1;
Line: 3750

select	max(wvt_level.wbs_level)
into 	l_wbs_level_id
from 	PA_PROJ_ELEMENT_VERSIONS wvt_level
where 	1=1
and 	wvt_level.object_type = 'PA_TASKS'
and 	wvt_level.proj_element_id in 		-- ###dummy###
	(
	 select proj_element_id
	 from 	pa_proj_elements
	 where 	link_task_flag = 'N'
	)
and 	wvt_level.parent_structure_version_id = P_WBS_VERSION_ID;
Line: 3786

select
distinct
	sup_emt_id
into 	l_struct_emt_id
from 	pji_fp_aggr_xbs_t
where 	1=1
and 	struct_type = 'PRG'
and 	sup_id = P_WBS_VERSION_ID
and 	worker_id = P_WORKER_ID;
Line: 3801

	select 	structure_sharing_code
	into 	l_sharing_code
	from 	pa_projects_all projects,
		pa_proj_element_versions versions
	where 	1=1
	and 	projects.project_id = versions.project_id
	and  	versions.object_type = 'PA_STRUCTURES'
	and 	versions.element_version_id = P_WBS_VERSION_ID;
Line: 3828

			'PJI_PJP -   WBS Inserts - l_wbs_level_id = '
				|| l_wbs_level_id,
			null,
			g_msg_level_high_detail
			);
Line: 3842

	 select	wvt_nodes.project_id,
		wvt_nodes.proj_element_id,
		wvt_nodes.element_version_id,
		wvt_nodes.parent_structure_version_id,
		wvt_nodes.financial_task_flag 		-- ###financial###
	 from 	PA_PROJ_ELEMENT_VERSIONS wvt_nodes
	 where 	1=1
	 and 	wvt_nodes.object_type = 'PA_TASKS'
	 and 	wvt_nodes.proj_element_id in 		-- ###dummy###
		(
		 select proj_element_id
		 from 	pa_proj_elements
		 where 	link_task_flag = 'N'
		)
	 and 	wvt_nodes.parent_structure_version_id = P_WBS_VERSION_ID
	 and 	wvt_nodes.wbs_level = l_wbs_level_id
	) LOOP


		-- -----------------------------------------------------
		-- Check WBS node self --

		-- Determine if the node to be inserted is a leaf
		--  If the node to be inserted has not been inserted before,
		-- then we know that the node is a leaf

		select 	count(*)
		into 	l_wbs_node_count
		from 	PJI_FP_AGGR_XBS_T wdt_count
		where 	wdt_count.sup_id = WBS_NODE.element_version_id
		and	wdt_count.worker_id = P_WORKER_ID
		and	rownum = 1;
Line: 3899

				'PJI_PJP -     Inserting WBS node self - element_version_id = '
					|| WBS_NODE.element_version_id,
				null,
				g_msg_level_low_detail
				);
Line: 3907

		-- Insert WBS node self --
		insert
		into	PJI_FP_AGGR_XBS_T
			(
			struct_type,
			prg_group,
			struct_emt_id,
			struct_version_id,
			sup_project_id,
			sup_id,
			sup_emt_id,
			subro_id,
			sub_id,
			sub_emt_id,
			sup_level,
			sub_level,
			sub_rollup_id,
			sub_leaf_flag_id,
			sub_leaf_flag,
			relationship_type,
			status_id,
			worker_id
			)
		values (
			'WBS',				-- structure type
			null,				-- prg group
			l_struct_emt_id, 		-- structure element id
			P_WBS_VERSION_ID, 		-- structure version id
			WBS_NODE.project_id,		-- parent project id
			WBS_NODE.element_version_id, 	-- parent id
			WBS_NODE.proj_element_id,	-- sup emt_id
			null, 				-- immediate child id
			WBS_NODE.element_version_id, 	-- child id
			WBS_NODE.proj_element_id,	-- sub emt_id
			l_wbs_level_id, 		-- parent level
			l_wbs_level_id, 		-- child level
			null,				-- child rollup id
			l_wbs_leaf_flag_id,	 	-- child leaf flag id
			l_wbs_leaf_flag,	 	-- child leaf flag
			decode(l_sharing_code,
				'SHARE_FULL',       'WF',
				'SHARE_PARTIAL',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'WF', 'LW'),
				'SPLIT_MAPPING',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
				'SPLIT_NO_MAPPING', decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
				'PJI$NULL',         decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW')),
							-- sub financial task flag 	-- ###financial###
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 3970

		select	count(*)			-- ###parent_is_one###
		into	l_wbs_test_node
		from	PA_OBJECT_RELATIONSHIPS rel,
			(
			 select	element_version_id
			 from	PA_PROJ_ELEMENT_VERSIONS
			 where 	1=1
			 and 	WBS_LEVEL > 1
			 and	element_version_id = WBS_NODE.element_version_id
			) ver
		where	1=1
		and	rel.OBJECT_TYPE_FROM = 'PA_TASKS'
		and 	rel.OBJECT_TYPE_TO = 'PA_TASKS'
		and	rel.RELATIONSHIP_TYPE = 'S'
		and	ver.ELEMENT_VERSION_ID = rel.OBJECT_ID_to1 (+);
Line: 3996

			select 	wrt_parent.object_id_from1
			into 	l_wbs_temp_parent
			from 	PA_OBJECT_RELATIONSHIPS wrt_parent
			where 	1=1
			and 	wrt_parent.object_id_to1 = WBS_NODE.element_version_id
			and 	wrt_parent.object_type_from = 'PA_TASKS'
			and 	wrt_parent.object_type_to = 'PA_TASKS'
			and 	wrt_parent.relationship_type = 'S';
Line: 4006

			select 	wvt_parent1.proj_element_id
			into 	l_wbs_temp_sup_emt
			from 	PA_PROJ_ELEMENT_VERSIONS wvt_parent1
			where 	1=1
			and 	wvt_parent1.element_version_id = l_wbs_temp_parent;
Line: 4013

			select 	wvt_parent2.proj_element_id
			into 	l_wbs_temp_sub_emt
			from 	PA_PROJ_ELEMENT_VERSIONS wvt_parent2
			where 	1=1
			and 	wvt_parent2.element_version_id = WBS_NODE.element_version_id;
Line: 4035

					'PJI_PJP -     Inserting WBS node parent - l_wbs_temp_parent = '
						|| l_wbs_temp_parent,
					null,
					g_msg_level_low_detail
					);
Line: 4042

			-- Insert WBS node's parent --
			insert
			into 	PJI_FP_AGGR_XBS_T
				(
				struct_type,
				prg_group,
				struct_emt_id,
				struct_version_id,
				sup_project_id,
				sup_id,
				sup_emt_id,
				subro_id,
				sub_id,
				sub_emt_id,
				sup_level,
				sub_level,
				sub_rollup_id,
				sub_leaf_flag_id,
				sub_leaf_flag,
				relationship_type,
				status_id,
				worker_id
				)
			values (
				'WBS',				-- structure type
				null,				-- prg group
				l_struct_emt_id, 		-- structure element id
				P_WBS_VERSION_ID, 		-- structure version id
				WBS_NODE.project_id,		-- parent project id
				l_wbs_temp_parent, 		-- parent id
				l_wbs_temp_sup_emt,		-- sup_emt_id
				WBS_NODE.proj_element_id, 	-- immediate child id
				WBS_NODE.element_version_id, 	-- child id
				l_wbs_temp_sub_emt,		-- sub_emt_id
				l_wbs_level_id - 1, 		-- parent level
				l_wbs_level_id, 		-- child level
				null,				-- child rollup id
				l_wbs_leaf_flag_id,	 	-- child leaf flag id
				l_wbs_leaf_flag,	 	-- child leaf flag
				decode(l_sharing_code,
					'SHARE_FULL',       'WF',
					'SHARE_PARTIAL',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'WF', 'LW'),
					'SPLIT_MAPPING',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
					'SPLIT_NO_MAPPING', decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
					'PJI$NULL',         decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW')),
								-- sub financial task flag 	-- ###financial###
				'parent',			-- status id
				P_WORKER_ID			-- worker id
				);
Line: 4099

			select 	wdt_child.sup_id,
				wdt_child.sub_id,
				wdt_child.sub_leaf_flag_id,
				wdt_child.relationship_type
			from 	PJI_FP_AGGR_XBS_T wdt_child
			where 	1=1
			and 	wdt_child.sup_id = WBS_NODE.element_version_id
			and 	wdt_child.sup_id <> wdt_child.sub_id
			and	wdt_child.worker_id = P_WORKER_ID
			) LOOP

				-- l_wbs_temp_level --
				select 	wdt_child1.sub_level
				into 	l_wbs_temp_level
				from 	PJI_FP_AGGR_XBS_T wdt_child1
				where 	1=1
				and 	wdt_child1.sup_id = WBS_CHILDREN_NODE.sub_id
				and 	wdt_child1.sup_id = wdt_child1.sub_id
				and	wdt_child1.worker_id = P_WORKER_ID;
Line: 4120

				select 	wvt_child1.proj_element_id
				into 	l_wbs_temp_sup_emt
				from 	PA_PROJ_ELEMENT_VERSIONS wvt_child1
				where 	1=1
				and 	wvt_child1.element_version_id = l_wbs_temp_parent;
Line: 4127

				select 	wvt_child2.proj_element_id
				into 	l_wbs_temp_sub_emt
				from 	PA_PROJ_ELEMENT_VERSIONS wvt_child2
				where 	1=1
				and 	wvt_child2.element_version_id = WBS_CHILDREN_NODE.sub_id;
Line: 4149

						'PJI_PJP -     Inserting WBS node child - sup_id = '
							|| WBS_CHILDREN_NODE.sup_id,
						null,
						g_msg_level_low_detail
						);
Line: 4157

				-- Insert WBS node's child --
				insert
				into 	PJI_FP_AGGR_XBS_T
					(
					struct_type,
					prg_group,
					struct_emt_id,
					struct_version_id,
					sup_project_id,
					sup_id,
					sup_emt_id,
					subro_id,
					sub_id,
					sub_emt_id,
					sup_level,
					sub_level,
					sub_rollup_id,
					sub_leaf_flag_id,
					sub_leaf_flag,
					relationship_type,
					status_id,
					worker_id
					)
				values (
					'WBS',					-- structure type
					null,					-- prg group
					l_struct_emt_id,	 		-- structure element id
					P_WBS_VERSION_ID, 			-- structure version id
					WBS_NODE.project_id,			-- parent project id
					l_wbs_temp_parent, 			-- parent id
					l_wbs_temp_sup_emt,			-- sup emt_id
					WBS_NODE.proj_element_id, 		-- immediate child id
					WBS_CHILDREN_NODE.sub_id, 		-- child id
					l_wbs_temp_sub_emt,			-- sub emt_id
					l_wbs_level_id - 1, 			-- parent level
					l_wbs_temp_level, 			-- child level
					null, 					-- child rollup id
					WBS_CHILDREN_NODE.sub_leaf_flag_id, 	-- child leaf flag id
					l_wbs_leaf_flag, 			-- child leaf flag
					decode(l_sharing_code,
						'SHARE_FULL',       'WF',
						'SHARE_PARTIAL',    decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'WF', 'LW'),
						'SPLIT_MAPPING',    decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'LF', 'LW'),
						'SPLIT_NO_MAPPING', decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'LF', 'LW'),
						'PJI$NULL',         decode(nvl(WBS_CHILDREN_NODE.relationship_type, 'N'), 'Y', 'LF', 'LW')),
										-- sub financial task flag 	-- ###financial###
					'children',				-- status id
					P_WORKER_ID				-- worker id
					);
Line: 4225

		select 	count(*)
		into 	l_struct_emt_id_count
		from 	pa_proj_element_versions
		where 	1=1
		and 	element_version_id = P_WBS_VERSION_ID
		and	rownum = 1;
Line: 4236

			select
			distinct
				proj_element_id
			into 	l_struct_emt_id
			from 	pa_proj_element_versions
			where 	1=1
			and 	element_version_id = P_WBS_VERSION_ID;
Line: 4261

					'PJI_PJP -     Inserting XBS node self - sup_id = '
						|| P_WBS_VERSION_ID,
					null,
					g_msg_level_low_detail
					);
Line: 4268

			-- Insert XBS node --
			insert
			into	PJI_FP_AGGR_XBS_T
				(
				struct_type,
				prg_group,
				struct_version_id,
				sup_project_id,
				sup_id,
				sup_emt_id,
				subro_id,
				sub_id,
				sub_emt_id,
				sup_level,
				sub_level,
				sub_rollup_id,
				sub_leaf_flag_id,
				sub_leaf_flag,
				relationship_type,
				status_id,
				worker_id
				)
			values (
			       'XBS',				-- structure type
			       null,				-- prg group
			       P_WBS_VERSION_ID, 		-- structure version id
			       WBS_NODE.project_id,		-- parent project id
			       P_WBS_VERSION_ID, 		-- parent id
			       l_struct_emt_id,			-- sup emt_id
			       null, 				-- immediate child id
			       WBS_NODE.element_version_id, 	-- child id
			       WBS_NODE.proj_element_id,	-- sub emt_id
			       0,		 		-- parent level
			       l_wbs_level_id,			-- child level
			       null,				-- child rollup id
			       l_wbs_leaf_flag_id,		-- child leaf flag id
			       l_wbs_leaf_flag,	 		-- child leaf flag
				decode(l_sharing_code,
					'SHARE_FULL',       'WF',
					'SHARE_PARTIAL',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'WF', 'LW'),
					'SPLIT_MAPPING',    decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
					'SPLIT_NO_MAPPING', decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW'),
					'PJI$NULL',         decode(nvl(WBS_NODE.financial_task_flag, 'N'), 'Y', 'LF', 'LW')),
								-- sub financial task flag 	-- ###financial###
			       'self',				-- status id
			       P_WORKER_ID			-- worker id
			       );
Line: 4429

	select	max(pvt_level.rbs_level)
	into 	l_rbs_level_id
	from 	PA_RBS_ELEMENTS pvt_level
	where	1=1
	and 	pvt_level.user_created_flag = 'N';
Line: 4443

	select	max(pvt_level.rbs_level)
	into 	l_rbs_level_id
	from 	PA_RBS_ELEMENTS pvt_level,
		(
		 select	distinct event_type, event_object
		 from 	PJI_PA_PROJ_EVENTS_LOG
		 where 	1=1
		 and	event_type = 'PJI_RBS_CHANGE'
		 and	worker_id = P_WORKER_ID
	 	) log
	where 	1=1
	and 	pvt_level.user_created_flag = 'N'
	and	pvt_level.rbs_version_id = log.event_object;
Line: 4459

	select	max(pvt_level.rbs_level)
	into 	l_rbs_level_id
	from 	PA_RBS_ELEMENTS pvt_level
	where	1=1
	and 	pvt_level.user_created_flag = 'N'
	and	pvt_level.rbs_version_id = P_RBS_VERSION_ID;
Line: 4510

			'PJI_PJP -   RBS Inserts - l_rbs_level_id = '
				|| l_rbs_level_id,
			null,
			g_msg_level_high_detail
			);
Line: 4526

	 select
	 distinct
						-- pvt_nodes.project_id,
		pvt_nodes1.rbs_version_id, 	-- pvt_nodes.proj_element_id,
		pvt_nodes1.rbs_element_id,	-- pvt_nodes.element_version_id,
		pvt_nodes1.parent_element_id	-- pvt_nodes.parent_structure_version_id,
						-- pvt_nodes.rbs_group
	 from 	PA_RBS_ELEMENTS pvt_nodes1,
		pji_pjp_proj_batch_map map,
		pa_rbs_prj_assignments assignments
	 where 	1=1
	 and 	P_EXTRACTION_TYPE = 'FULL'
	 and 	pvt_nodes1.user_created_flag = 'N'
	 and 	(
		 pvt_nodes1.rbs_level = l_rbs_level_id
		 or
		 (
		  l_rbs_level_id = 1
		  and
		  pvt_nodes1.rbs_level is null
		 )
		)
	 and 	map.project_id = assignments.project_id
	 and	assignments.rbs_version_id = pvt_nodes1.rbs_version_id
	UNION ALL
	 select
	 distinct
						-- pvt_nodes.project_id,
		pvt_nodes2.rbs_version_id, 	-- pvt_nodes.proj_element_id,
		pvt_nodes2.rbs_element_id,	-- pvt_nodes.element_version_id,
		pvt_nodes2.parent_element_id	-- pvt_nodes.parent_structure_version_id,
						-- pvt_nodes.rbs_group
	 from 	PA_RBS_ELEMENTS pvt_nodes2,
		(
		 select
		 distinct
			log1.event_type, log1.event_object
		 from 	PJI_PA_PROJ_EVENTS_LOG log1
		 where 	1=1
		 and	log1.event_type = 'PJI_RBS_CHANGE'
		 and	worker_id = P_WORKER_ID
		 ) log11
	 where 	1=1
	 and	(
		 P_EXTRACTION_TYPE = 'INCREMENTAL'
		 or
		 P_EXTRACTION_TYPE = 'PARTIAL'
		 or
		 P_EXTRACTION_TYPE = 'RBS'
		)
	 and 	pvt_nodes2.user_created_flag = 'N'
	 and	pvt_nodes2.rbs_version_id = log11.event_object
	 and 	pvt_nodes2.rbs_level = l_rbs_level_id
	UNION ALL
	 select
	 distinct
						-- pvt_nodes.project_id,
		pvt_nodes1.rbs_version_id, 	-- pvt_nodes.proj_element_id,
		pvt_nodes1.rbs_element_id,	-- pvt_nodes.element_version_id,
		pvt_nodes1.parent_element_id	-- pvt_nodes.parent_structure_version_id,
						-- pvt_nodes.rbs_group
	 from 	PA_RBS_ELEMENTS pvt_nodes1
	 where 	1=1
	 and 	P_EXTRACTION_TYPE = 'UPGRADE'
	 and 	pvt_nodes1.user_created_flag = 'N'
	 and 	(
		 pvt_nodes1.rbs_level = l_rbs_level_id
		 or
		 (
		  l_rbs_level_id = 1
		  and
		  pvt_nodes1.rbs_level is null
		 )
		)
	 and	pvt_nodes1.rbs_version_id = P_RBS_VERSION_ID
	) LOOP


		-- -----------------------------------------------------
		-- Check RBS node self --

		-- Determine if the node to be inserted is a leaf
		--  If the node to be inserted has not been inserted before,
		-- then we know that the node is a leaf

		select 	count(*)
		into 	l_rbs_node_count
		from 	PJI_FP_AGGR_RBS pdt_count
		where 	1=1
		and	pdt_count.sup_id = RBS_NODE.rbs_element_id
 		and	pdt_count.worker_id = P_WORKER_ID
		and	rownum = 1;
Line: 4643

				'PJI_PJP -     Inserting RBS node self - rbs_element_id = '
					|| RBS_NODE.rbs_element_id,
				null,
				g_msg_level_low_detail
				);
Line: 4650

		-- Insert RBS node self --
		insert
		into 	PJI_FP_AGGR_RBS
			(
			struct_version_id,
			sup_id,
			subro_id,
			sub_id,
			sup_level,
			sub_level,
			sub_leaf_flag_id,
			sub_leaf_flag,
			status_id,
			worker_id
			)
		values (
			RBS_NODE.rbs_version_id,	-- rbs version id
			RBS_NODE.rbs_element_id, 	-- parent id
			null, 				-- immediate child id
			RBS_NODE.rbs_element_id, 	-- child id
			l_rbs_level_id, 		-- parent level
			l_rbs_level_id, 		-- child level
			l_rbs_leaf_flag_id,		-- child leaf flag id
			l_rbs_leaf_flag,		-- child leaf flag
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 4687

			 select
			 distinct
				prt_parent.parent_element_id
			 from 	PA_RBS_ELEMENTS prt_parent
			 where 	1=1
			 and 	prt_parent.user_created_flag = 'N'
			 and 	prt_parent.rbs_element_id = RBS_NODE.rbs_element_id -- prt_parent.child_id
			) LOOP


			-- l_rbs_temp_parent --
			l_rbs_temp_parent := RBS_PARENT_NODE.parent_element_id;
Line: 4722

						'PJI_PJP -     Inserting RBS node parent - l_rbs_temp_parent - = '
							|| l_rbs_temp_parent,
						null,
						g_msg_level_low_detail
						);
Line: 4729

				-- Insert RBS node's parent --
				insert
				into 	PJI_FP_AGGR_RBS
					(
					struct_version_id,
					sup_id,
					subro_id,
					sub_id,
					sup_level,
					sub_level,
					sub_leaf_flag_id,
					sub_leaf_flag,
					status_id,
					worker_id
					)
				values (
					RBS_NODE.rbs_version_id,	-- rbs version id
					l_rbs_temp_parent, 		-- parent id
					RBS_NODE.rbs_element_id,	-- immediate child id
					RBS_NODE.rbs_element_id, 	-- child id
					l_rbs_level_id - 1, 		-- parent level
					l_rbs_level_id, 		-- child level
					l_rbs_leaf_flag_id,		-- child leaf flag id
					l_rbs_leaf_flag,		-- child leaf flag
					'parent', 			-- status id
 					P_WORKER_ID			-- worker id
					);
Line: 4764

				 select
				 distinct
					pdt_child.sup_id,
					pdt_child.sub_id,
					pdt_child.sub_leaf_flag_id
				 from 	PJI_FP_AGGR_RBS pdt_child
				 where 	1=1
				 and 	pdt_child.sup_id = RBS_NODE.rbs_element_id
				 and 	pdt_child.sup_id <> pdt_child.sub_id
		 		 and	pdt_child.worker_id = P_WORKER_ID
				) LOOP

					-- l_rbs_temp_level --
					select 	pdt_child1.sub_level
					into 	l_rbs_temp_level
					from 	PJI_FP_AGGR_RBS pdt_child1
					where 	1=1
					and 	pdt_child1.sup_id = RBS_CHILDREN_NODE.sub_id
					and 	pdt_child1.sup_id = pdt_child1.sub_id
 					and	pdt_child1.worker_id = P_WORKER_ID;
Line: 4801

							'PJI_PJP -     Inserting RBS node child - sup_id = '
								|| RBS_CHILDREN_NODE.sup_id,
							null,
							g_msg_level_low_detail
							);
Line: 4808

					-- Insert RBS node's child --
					insert
					into 	PJI_FP_AGGR_RBS
						(
						struct_version_id,
						sup_id,
						subro_id,
						sub_id,
						sup_level,
						sub_level,
						sub_leaf_flag_id,
						sub_leaf_flag,
						status_id,
						worker_id
						)
					values (
						RBS_NODE.rbs_version_id,		-- rbs version id
						l_rbs_temp_parent, 			-- parent id
						RBS_NODE.rbs_element_id,		-- immediate child id
						RBS_CHILDREN_NODE.sub_id,		-- child id
						l_rbs_level_id - 1, 			-- parent level
						l_rbs_temp_level, 			-- child level
						RBS_CHILDREN_NODE.sub_leaf_flag_id, 	-- child leaf flag
						l_rbs_leaf_flag, 			-- child leaf flag
						'children',				-- status id
 						P_WORKER_ID				-- worker id
						);
Line: 4947

select	max(pvt_level.rbs_level)
into 	l_rbs_level_id
from 	PA_RBS_ELEMENTS pvt_level
where	1=1
and 	pvt_level.user_created_flag = 'N'
and	pvt_level.rbs_version_id = P_RBS_VERSION_ID;
Line: 4984

			'PJI_PJP -   RBS Inserts - l_rbs_level_id = '
				|| l_rbs_level_id,
			null,
			g_msg_level_high_detail
			);
Line: 4995

	 select
	 distinct
						-- pvt_nodes.project_id,
		pvt_nodes1.rbs_version_id, 	-- pvt_nodes.proj_element_id,
		pvt_nodes1.rbs_element_id,	-- pvt_nodes.element_version_id,
		pvt_nodes1.parent_element_id	-- pvt_nodes.parent_structure_version_id,
						-- pvt_nodes.rbs_group
	 from 	PA_RBS_ELEMENTS pvt_nodes1
	 where 	1=1
	 and 	pvt_nodes1.user_created_flag = 'N'
	 and 	(
		 pvt_nodes1.rbs_level = l_rbs_level_id
		 or
		 (
		  l_rbs_level_id = 1
		  and
		  pvt_nodes1.rbs_level is null
		 )
		)
	 and	pvt_nodes1.rbs_version_id = P_RBS_VERSION_ID
	) LOOP


		-- -----------------------------------------------------
		-- Check RBS node self --

		-- Determine if the node to be inserted is a leaf
		--  If the node to be inserted has not been inserted before,
		-- then we know that the node is a leaf

		select 	count(*)
		into 	l_rbs_node_count
		from 	PJI_FP_AGGR_RBS_T pdt_count
		where 	1=1
		and	pdt_count.sup_id = RBS_NODE.rbs_element_id
 		and	pdt_count.worker_id = P_WORKER_ID
		and	rownum = 1;
Line: 5057

				'PJI_PJP -     Inserting RBS node self - rbs_element_id = '
					|| RBS_NODE.rbs_element_id,
				null,
				g_msg_level_low_detail
				);
Line: 5064

		-- Insert RBS node self --
		insert
		into 	PJI_FP_AGGR_RBS_T
			(
			struct_version_id,
			sup_id,
			subro_id,
			sub_id,
			sup_level,
			sub_level,
			sub_leaf_flag_id,
			sub_leaf_flag,
			status_id,
			worker_id
			)
		values (
			RBS_NODE.rbs_version_id,	-- rbs version id
			RBS_NODE.rbs_element_id, 	-- parent id
			null, 				-- immediate child id
			RBS_NODE.rbs_element_id, 	-- child id
			l_rbs_level_id, 		-- parent level
			l_rbs_level_id, 		-- child level
			l_rbs_leaf_flag_id,		-- child leaf flag id
			l_rbs_leaf_flag,		-- child leaf flag
			'self',				-- status id
			P_WORKER_ID			-- worker id
			);
Line: 5101

			 select
			 distinct
				prt_parent.parent_element_id
			 from 	PA_RBS_ELEMENTS prt_parent
			 where 	1=1
			 and 	prt_parent.user_created_flag = 'N'
			 and 	prt_parent.rbs_element_id = RBS_NODE.rbs_element_id -- prt_parent.child_id
			) LOOP


			-- l_rbs_temp_parent --
			l_rbs_temp_parent := RBS_PARENT_NODE.parent_element_id;
Line: 5136

						'PJI_PJP -     Inserting RBS node parent - l_rbs_temp_parent - = '
							|| l_rbs_temp_parent,
						null,
						g_msg_level_low_detail
						);
Line: 5143

				-- Insert RBS node's parent --
				insert
				into 	PJI_FP_AGGR_RBS_T
					(
					struct_version_id,
					sup_id,
					subro_id,
					sub_id,
					sup_level,
					sub_level,
					sub_leaf_flag_id,
					sub_leaf_flag,
					status_id,
					worker_id
					)
				values (
					RBS_NODE.rbs_version_id,	-- rbs version id
					l_rbs_temp_parent, 		-- parent id
					RBS_NODE.rbs_element_id,	-- immediate child id
					RBS_NODE.rbs_element_id, 	-- child id
					l_rbs_level_id - 1, 		-- parent level
					l_rbs_level_id, 		-- child level
					l_rbs_leaf_flag_id,		-- child leaf flag id
					l_rbs_leaf_flag,		-- child leaf flag
					'parent', 			-- status id
 					P_WORKER_ID			-- worker id
					);
Line: 5178

				 select
				 distinct
					pdt_child.sup_id,
					pdt_child.sub_id,
					pdt_child.sub_leaf_flag_id
				 from 	PJI_FP_AGGR_RBS_T pdt_child
				 where 	1=1
				 and 	pdt_child.sup_id = RBS_NODE.rbs_element_id
				 and 	pdt_child.sup_id <> pdt_child.sub_id
		 		 and	pdt_child.worker_id = P_WORKER_ID
				) LOOP

					-- l_rbs_temp_level --
					select 	pdt_child1.sub_level
					into 	l_rbs_temp_level
					from 	PJI_FP_AGGR_RBS_T pdt_child1
					where 	1=1
					and 	pdt_child1.sup_id = RBS_CHILDREN_NODE.sub_id
					and 	pdt_child1.sup_id = pdt_child1.sub_id
 					and	pdt_child1.worker_id = P_WORKER_ID;
Line: 5215

							'PJI_PJP -     Inserting RBS node child - sup_id = '
								|| RBS_CHILDREN_NODE.sup_id,
							null,
							g_msg_level_low_detail
							);
Line: 5222

					-- Insert RBS node's child --
					insert
					into 	PJI_FP_AGGR_RBS_T
						(
						struct_version_id,
						sup_id,
						subro_id,
						sub_id,
						sup_level,
						sub_level,
						sub_leaf_flag_id,
						sub_leaf_flag,
						status_id,
						worker_id
						)
					values (
						RBS_NODE.rbs_version_id,		-- rbs version id
						l_rbs_temp_parent, 			-- parent id
						RBS_NODE.rbs_element_id,		-- immediate child id
						RBS_CHILDREN_NODE.sub_id,		-- child id
						l_rbs_level_id - 1, 			-- parent level
						l_rbs_temp_level, 			-- child level
						RBS_CHILDREN_NODE.sub_leaf_flag_id, 	-- child leaf flag
						l_rbs_leaf_flag, 			-- child leaf flag
						'children',				-- status id
 						P_WORKER_ID				-- worker id
						);
Line: 5323

l_last_update_date  date;
Line: 5324

l_last_updated_by   number;
Line: 5327

l_last_update_login number;
Line: 5349

l_last_update_date  := sysdate;
Line: 5350

l_last_updated_by   := FND_GLOBAL.USER_ID;
Line: 5353

l_last_update_login := FND_GLOBAL.LOGIN_ID;
Line: 5361

	insert
	into 	PA_XBS_DENORM
		(
		struct_type,
		prg_group,
		struct_emt_id,
		struct_version_id,
		sup_project_id,
		sup_id,
		sup_emt_id,
		subro_id,
		sub_id,
		sub_emt_id,
		sup_level,
		sub_level,
		sub_rollup_id,
		sub_leaf_flag,
		relationship_type,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
		)
	select
		distinct
		interim.struct_type,
		interim.prg_group,
		interim.struct_emt_id,
		interim.struct_version_id,
		interim.sup_project_id,
		interim.sup_id,
		interim.sup_emt_id,
		interim.subro_id,
		interim.sub_id,
		interim.sub_emt_id,
		interim.sup_level,
		interim.sub_level,
		interim.sub_rollup_id,
		interim.sub_leaf_flag,
		interim.relationship_type,
		l_last_update_date,
		l_last_updated_by,
		l_creation_date,
		l_created_by,
		l_last_update_login
	from 	PJI_FP_AGGR_XBS		interim,
		PA_XBS_DENORM		denorm
	where	1=1
	and 	interim.worker_id = p_worker_id
	and 	nvl(interim.struct_type, -1) = nvl(denorm.struct_type (+), -1)
	and 	nvl(interim.prg_group, -1) = nvl(denorm.prg_group (+), -1)
	and 	nvl(interim.struct_emt_id, -1) = nvl(denorm.struct_emt_id (+), -1)
	and 	nvl(interim.struct_version_id, -1) = nvl(denorm.struct_version_id (+), -1)
	and 	nvl(interim.sup_project_id, -1) = nvl(denorm.sup_project_id (+), -1)
	and 	nvl(interim.sup_id, -1) = nvl(denorm.sup_id (+), -1)
	and 	nvl(interim.sup_emt_id, -1) = nvl(denorm.sup_emt_id (+), -1)
	and 	nvl(interim.subro_id, -1) = nvl(denorm.subro_id (+), -1)
	and 	nvl(interim.sub_id, -1) = nvl(denorm.sub_id (+), -1)
	and 	nvl(interim.sub_emt_id, -1) = nvl(denorm.sub_emt_id (+), -1)
	and 	nvl(interim.sup_level, -1) = nvl(denorm.sup_level (+), -1)
	and 	nvl(interim.sub_level, -1) = nvl(denorm.sub_level (+), -1)
	and 	nvl(interim.sub_rollup_id, -1) = nvl(denorm.sub_rollup_id (+), -1)
	and 	nvl(interim.sub_leaf_flag, -1) = nvl(denorm.sub_leaf_flag (+), -1)
	and 	nvl(interim.relationship_type, -1) = nvl(denorm.relationship_type (+), -1)
	and	denorm.struct_type is null
	order by
		interim.struct_version_id,
		interim.sup_id,
		interim.sub_id;
Line: 5438

	insert
	into 	PA_XBS_DENORM
		(
		struct_type,
		prg_group,
		struct_emt_id,
		struct_version_id,
		sup_project_id,
		sup_id,
		sup_emt_id,
		subro_id,
		sub_id,
		sub_emt_id,
		sup_level,
		sub_level,
		sub_rollup_id,
		sub_leaf_flag,
		relationship_type,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
		)
	select
		distinct
		interim.struct_type,
		interim.prg_group,
		interim.struct_emt_id,
		interim.struct_version_id,
		interim.sup_project_id,
		interim.sup_id,
		interim.sup_emt_id,
		interim.subro_id,
		interim.sub_id,
		interim.sub_emt_id,
		interim.sup_level,
		interim.sub_level,
		interim.sub_rollup_id,
		interim.sub_leaf_flag,
		interim.relationship_type,
		l_last_update_date,
		l_last_updated_by,
		l_creation_date,
		l_created_by,
		l_last_update_login
	from 	PJI_FP_AGGR_XBS_T	interim
	where	interim.worker_id = p_worker_id
	order by
		interim.struct_version_id,
		interim.sup_id,
		interim.sub_id;
Line: 5495

	insert
	into 	PA_XBS_DENORM
		(
		struct_type,
		prg_group,
		struct_emt_id,
		struct_version_id,
		sup_project_id,
		sup_id,
		sup_emt_id,
		subro_id,
		sub_id,
		sub_emt_id,
		sup_level,
		sub_level,
		sub_rollup_id,
		sub_leaf_flag,
		relationship_type,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
		)
	select
		distinct
		interim.struct_type,
		interim.prg_group,
		interim.struct_emt_id,
		interim.struct_version_id,
		interim.sup_project_id,
		interim.sup_id,
		interim.sup_emt_id,
		interim.subro_id,
		interim.sub_id,
		interim.sub_emt_id,
		interim.sup_level,
		interim.sub_level,
		interim.sub_rollup_id,
		interim.sub_leaf_flag,
		interim.relationship_type,
		l_last_update_date,
		l_last_updated_by,
		l_creation_date,
		l_created_by,
		l_last_update_login
	from 	PJI_FP_AGGR_XBS		interim
	where	interim.worker_id = p_worker_id
	order by
		interim.struct_version_id,
		interim.sup_id,
		interim.sub_id;
Line: 5597

l_last_update_date  date;
Line: 5598

l_last_updated_by   number;
Line: 5601

l_last_update_login number;
Line: 5623

l_last_update_date  := sysdate;
Line: 5624

l_last_updated_by   := FND_GLOBAL.USER_ID;
Line: 5627

l_last_update_login := FND_GLOBAL.LOGIN_ID;
Line: 5635

	insert
	into 	PA_RBS_DENORM
		(
		struct_version_id,
		sup_id,
		subro_id,
		sub_id,
		sup_level,
		sub_level,
		sub_leaf_flag,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
	)
	select
		interim.struct_version_id,
		interim.sup_id,
		interim.subro_id,
		interim.sub_id,
		interim.sup_level,
		interim.sub_level,
		interim.sub_leaf_flag,
		l_last_update_date,
		l_last_updated_by,
		l_creation_date,
		l_created_by,
		l_last_update_login
	from 	PJI_FP_AGGR_RBS		interim,
		PA_RBS_DENORM		denorm
	where	1=1
	and	interim.worker_id = p_worker_id
	and 	nvl(interim.struct_version_id, -1) = nvl(denorm.struct_version_id (+), -1)
	and 	nvl(interim.sup_id, -1) = nvl(denorm.sup_id (+), -1)
	and 	nvl(interim.subro_id, -1) = nvl(denorm.subro_id (+), -1)
	and 	nvl(interim.sub_id, -1) = nvl(denorm.sub_id (+), -1)
	and 	nvl(interim.sup_level, -1) = nvl(denorm.sup_level (+), -1)
	and 	nvl(interim.sub_level, -1) = nvl(denorm.sub_level (+), -1)
	and 	nvl(interim.sub_leaf_flag, -1) = nvl(denorm.sub_leaf_flag (+), -1)
	and	denorm.struct_version_id is null;
Line: 5683

	insert
	into 	PA_RBS_DENORM
		(
		struct_version_id,
		sup_id,
		subro_id,
		sub_id,
		sup_level,
		sub_level,
		sub_leaf_flag,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
	)
	select
		interim.struct_version_id,
		interim.sup_id,
		interim.subro_id,
		interim.sub_id,
		interim.sup_level,
		interim.sub_level,
		interim.sub_leaf_flag,
		l_last_update_date,
		l_last_updated_by,
		l_creation_date,
		l_created_by,
		l_last_update_login
	from 	PJI_FP_AGGR_RBS_T	interim
	where 	interim.worker_id = p_worker_id;
Line: 5719

	insert
	into 	PA_RBS_DENORM
		(
		struct_version_id,
		sup_id,
		subro_id,
		sub_id,
		sup_level,
		sub_level,
		sub_leaf_flag,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN
		)
	select
		interim.struct_version_id,
		interim.sup_id,
		interim.subro_id,
		interim.sub_id,
		interim.sup_level,
		interim.sub_level,
		interim.sub_leaf_flag,
		l_last_update_date,
		l_last_updated_by,
		l_creation_date,
		l_created_by,
		l_last_update_login
	from 	PJI_FP_AGGR_RBS 	interim
	where	interim.worker_id = p_worker_id;
Line: 5804

	delete
	from 	PJI_FP_AGGR_XBS_T
	where 	worker_id = p_worker_id;
Line: 5810

	delete
	from 	PJI_FP_AGGR_XBS
	where 	worker_id = p_worker_id;
Line: 5866

	delete
	from 	PJI_FP_AGGR_RBS_T
	where 	worker_id = p_worker_id;
Line: 5872

	delete
	from 	PJI_FP_AGGR_RBS
	where 	worker_id = p_worker_id;