DBA Data[Home] [Help]

APPS.PA_SCHEDULE_OBJECTS_PVT SQL Statements

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

Line: 335

l_update_flag_tab               SYSTEM.pa_num_tbl_type  := SYSTEM.pa_num_tbl_type();
Line: 337

l_child_update_required         VARCHAR2(1);
Line: 338

l_parent_update_required         VARCHAR2(1);
Line: 530

l_update_date_flag_tab1		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 531

l_update_date_flag_tab2		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 532

l_update_date_flag_tab3		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 533

l_update_date_flag_tab4		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 534

l_update_date_flag_tab5		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 535

l_update_date_flag_tab6		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 554

l_update_requ_flag_tab1		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 555

l_update_requ_flag_tab2		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 556

l_update_requ_flag_tab3		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 557

l_update_requ_flag_tab4		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 558

l_update_requ_flag_tab5		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 559

l_update_requ_flag_tab6		SYSTEM.PA_VARCHAR2_1_TBL_TYPE	  := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
Line: 607

l_update_required		VARCHAR2(1):= 'N';
Line: 679

      SELECT
	OBJECT_TYPE,
	OBJECT_ID,
	PARENT_OBJECT_TYPE,
	PARENT_OBJECT_ID,
	CALENDAR_ID,
	CONSTRAINT_TYPE_CODE,
	CONSTRAINT_DATE,
	WBS_LEVEL,
	START_DATE1,
	START_DATE_OVERRIDE1,
	FINISH_DATE1,
	DURATION1,
	TASK_STATUS1,
	PROGRESS_STATUS_WEIGHT1,
	PROGRESS_OVERRIDE1,
	REMAINING_EFFORT1,
	PERCENT_COMPLETE1,
	PERCENT_OVERRIDE1,
	TASK_WEIGHT1,
	NUMBER_FIELD1,
	ROLLUP_NODE1,
	DIRTY_FLAG1,
	ETC_Cost1,
	PPL_ETC_COST1,
	EQPMT_ETC_COST1,
	PPL_UNPLAND_EFFORT1,
	EQPMT_ETC_EFFORT1,
	SUB_PRJ_ETC_COST1,
	SUB_PRJ_PPL_ETC_COST1,
	SUB_PRJ_EQPMT_ETC_COST1,
	SUB_PRJ_PPL_ETC_EFFORT1,
	SUB_PRJ_EQPMT_ETC_EFFORT1,
	EARNED_VALUE1,
	BAC_VALUE1,
	START_DATE2,
	START_DATE_OVERRIDE2,
	FINISH_DATE2,
	DURATION2,
	TASK_STATUS2,
	PROGRESS_STATUS_WEIGHT2,
	PROGRESS_OVERRIDE2,
	REMAINING_EFFORT2,
	PERCENT_COMPLETE2,
	PERCENT_OVERRIDE2,
	TASK_WEIGHT2,
	NUMBER_FIELD2,
	ROLLUP_NODE2,
	DIRTY_FLAG2,
	ETC_Cost2,
	PPL_ETC_COST2,
	EQPMT_ETC_COST2,
	PPL_UNPLAND_EFFORT2,
	EQPMT_ETC_EFFORT2,
	SUB_PRJ_ETC_COST2,
	SUB_PRJ_PPL_ETC_COST2,
	SUB_PRJ_EQPMT_ETC_COST2,
	SUB_PRJ_PPL_ETC_EFFORT2,
	SUB_PRJ_EQPMT_ETC_EFFORT2,
	EARNED_VALUE2,
	BAC_VALUE2,
	START_DATE3,
	START_DATE_OVERRIDE3,
	FINISH_DATE3,
	DURATION3,
	TASK_STATUS3,
	PROGRESS_STATUS_WEIGHT3,
	PROGRESS_OVERRIDE3,
	REMAINING_EFFORT3,
	PERCENT_COMPLETE3,
	PERCENT_OVERRIDE3,
	TASK_WEIGHT3,
	NUMBER_FIELD3,
	ROLLUP_NODE3,
	DIRTY_FLAG3,
	ETC_Cost3,
	PPL_ETC_COST3,
	EQPMT_ETC_COST3,
	PPL_UNPLAND_EFFORT3,
	EQPMT_ETC_EFFORT3,
	SUB_PRJ_ETC_COST3,
	SUB_PRJ_PPL_ETC_COST3,
	SUB_PRJ_EQPMT_ETC_COST3,
	SUB_PRJ_PPL_ETC_EFFORT3,
	SUB_PRJ_EQPMT_ETC_EFFORT3,
	EARNED_VALUE3,
	BAC_VALUE3,
	START_DATE4,
	START_DATE_OVERRIDE4,
	FINISH_DATE4,
	DURATION4,
	TASK_STATUS4,
	PROGRESS_STATUS_WEIGHT4,
	PROGRESS_OVERRIDE4,
	REMAINING_EFFORT4,
	PERCENT_COMPLETE4,
	PERCENT_OVERRIDE4,
	TASK_WEIGHT4,
	NUMBER_FIELD4,
	ROLLUP_NODE4,
	DIRTY_FLAG4,
	ETC_Cost4,
	PPL_ETC_COST4,
	EQPMT_ETC_COST4,
	PPL_UNPLAND_EFFORT4,
	EQPMT_ETC_EFFORT4,
	SUB_PRJ_ETC_COST4,
	SUB_PRJ_PPL_ETC_COST4,
	SUB_PRJ_EQPMT_ETC_COST4,
	SUB_PRJ_PPL_ETC_EFFORT4,
	SUB_PRJ_EQPMT_ETC_EFFORT4,
	EARNED_VALUE4,
	BAC_VALUE4,
	START_DATE5,
	START_DATE_OVERRIDE5,
	FINISH_DATE5,
	DURATION5,
	TASK_STATUS5,
	PROGRESS_STATUS_WEIGHT5,
	PROGRESS_OVERRIDE5,
	REMAINING_EFFORT5,
	PERCENT_COMPLETE5,
	PERCENT_OVERRIDE5,
	TASK_WEIGHT5,
	NUMBER_FIELD5,
	ROLLUP_NODE5,
	DIRTY_FLAG5,
	ETC_Cost5,
	PPL_ETC_COST5,
	EQPMT_ETC_COST5,
	PPL_UNPLAND_EFFORT5,
	EQPMT_ETC_EFFORT5,
	SUB_PRJ_ETC_COST5,
	SUB_PRJ_PPL_ETC_COST5,
	SUB_PRJ_EQPMT_ETC_COST5,
	SUB_PRJ_PPL_ETC_EFFORT5,
	SUB_PRJ_EQPMT_ETC_EFFORT5,
	EARNED_VALUE5,
	BAC_VALUE5,
	START_DATE6,
	START_DATE_OVERRIDE6,
	FINISH_DATE6,
	DURATION6,
	TASK_STATUS6,
	PROGRESS_STATUS_WEIGHT6,
	PROGRESS_OVERRIDE6,
	REMAINING_EFFORT6,
	PERCENT_COMPLETE6,
	PERCENT_OVERRIDE6,
	TASK_WEIGHT6,
	NUMBER_FIELD6,
	ROLLUP_NODE6,
	DIRTY_FLAG6,
	ETC_Cost6,
	PPL_ETC_COST6,
	EQPMT_ETC_COST6,
	PPL_UNPLAND_EFFORT6,
	EQPMT_ETC_EFFORT6,
	SUB_PRJ_ETC_COST6,
	SUB_PRJ_PPL_ETC_COST6,
	SUB_PRJ_EQPMT_ETC_COST6,
	SUB_PRJ_PPL_ETC_EFFORT6,
	SUB_PRJ_EQPMT_ETC_EFFORT6,
	EARNED_VALUE6,
	BAC_VALUE6,
	PERC_COMP_DERIVATIVE_CODE1,
	PERC_COMP_DERIVATIVE_CODE2,
	PERC_COMP_DERIVATIVE_CODE3,
	PERC_COMP_DERIVATIVE_CODE4,
	PERC_COMP_DERIVATIVE_CODE5,
	PERC_COMP_DERIVATIVE_CODE6,
	SUMMARY_OBJECT_FLAG -- 4370746
      FROM PA_PROJ_ROLLUP_BULK_TEMP
      WHERE PROCESS_NUMBER  = C_Process_Number
      order by Object_Type, Object_ID;
Line: 857

      SELECT
	OBJECT_TYPE,
	OBJECT_ID,
	PARENT_OBJECT_TYPE,
	PARENT_OBJECT_ID,
	CALENDAR_ID,
	CONSTRAINT_TYPE_CODE,
	CONSTRAINT_DATE,
	WBS_LEVEL,
	START_DATE1,
	START_DATE_OVERRIDE1,
	FINISH_DATE1,
	DURATION1,
	TASK_STATUS1,
	PROGRESS_STATUS_WEIGHT1,
	PROGRESS_OVERRIDE1,
	REMAINING_EFFORT1,
	PERCENT_COMPLETE1,
	PERCENT_OVERRIDE1,
	TASK_WEIGHT1,
	NUMBER_FIELD1,
	ROLLUP_NODE1,
	DIRTY_FLAG1,
	ETC_Cost1,
	PPL_ETC_COST1,
	EQPMT_ETC_COST1,
	PPL_UNPLAND_EFFORT1,
	EQPMT_ETC_EFFORT1,
	SUB_PRJ_ETC_COST1,
	SUB_PRJ_PPL_ETC_COST1,
	SUB_PRJ_EQPMT_ETC_COST1,
	SUB_PRJ_PPL_ETC_EFFORT1,
	SUB_PRJ_EQPMT_ETC_EFFORT1,
	EARNED_VALUE1,
	BAC_VALUE1,
	START_DATE2,
	START_DATE_OVERRIDE2,
	FINISH_DATE2,
	DURATION2,
	TASK_STATUS2,
	PROGRESS_STATUS_WEIGHT2,
	PROGRESS_OVERRIDE2,
	REMAINING_EFFORT2,
	PERCENT_COMPLETE2,
	PERCENT_OVERRIDE2,
	TASK_WEIGHT2,
	NUMBER_FIELD2,
	ROLLUP_NODE2,
	DIRTY_FLAG2,
	ETC_Cost2,
	PPL_ETC_COST2,
	EQPMT_ETC_COST2,
	PPL_UNPLAND_EFFORT2,
	EQPMT_ETC_EFFORT2,
	SUB_PRJ_ETC_COST2,
	SUB_PRJ_PPL_ETC_COST2,
	SUB_PRJ_EQPMT_ETC_COST2,
	SUB_PRJ_PPL_ETC_EFFORT2,
	SUB_PRJ_EQPMT_ETC_EFFORT2,
	EARNED_VALUE2,
	BAC_VALUE2,
	START_DATE3,
	START_DATE_OVERRIDE3,
	FINISH_DATE3,
	DURATION3,
	TASK_STATUS3,
	PROGRESS_STATUS_WEIGHT3,
	PROGRESS_OVERRIDE3,
	REMAINING_EFFORT3,
	PERCENT_COMPLETE3,
	PERCENT_OVERRIDE3,
	TASK_WEIGHT3,
	NUMBER_FIELD3,
	ROLLUP_NODE3,
	DIRTY_FLAG3,
	ETC_Cost3,
	PPL_ETC_COST3,
	EQPMT_ETC_COST3,
	PPL_UNPLAND_EFFORT3,
	EQPMT_ETC_EFFORT3,
	SUB_PRJ_ETC_COST3,
	SUB_PRJ_PPL_ETC_COST3,
	SUB_PRJ_EQPMT_ETC_COST3,
	SUB_PRJ_PPL_ETC_EFFORT3,
	SUB_PRJ_EQPMT_ETC_EFFORT3,
	EARNED_VALUE3,
	BAC_VALUE3,
	START_DATE4,
	START_DATE_OVERRIDE4,
	FINISH_DATE4,
	DURATION4,
	TASK_STATUS4,
	PROGRESS_STATUS_WEIGHT4,
	PROGRESS_OVERRIDE4,
	REMAINING_EFFORT4,
	PERCENT_COMPLETE4,
	PERCENT_OVERRIDE4,
	TASK_WEIGHT4,
	NUMBER_FIELD4,
	ROLLUP_NODE4,
	DIRTY_FLAG4,
	ETC_Cost4,
	PPL_ETC_COST4,
	EQPMT_ETC_COST4,
	PPL_UNPLAND_EFFORT4,
	EQPMT_ETC_EFFORT4,
	SUB_PRJ_ETC_COST4,
	SUB_PRJ_PPL_ETC_COST4,
	SUB_PRJ_EQPMT_ETC_COST4,
	SUB_PRJ_PPL_ETC_EFFORT4,
	SUB_PRJ_EQPMT_ETC_EFFORT4,
	EARNED_VALUE4,
	BAC_VALUE4,
	START_DATE5,
	START_DATE_OVERRIDE5,
	FINISH_DATE5,
	DURATION5,
	TASK_STATUS5,
	PROGRESS_STATUS_WEIGHT5,
	PROGRESS_OVERRIDE5,
	REMAINING_EFFORT5,
	PERCENT_COMPLETE5,
	PERCENT_OVERRIDE5,
	TASK_WEIGHT5,
	NUMBER_FIELD5,
	ROLLUP_NODE5,
	DIRTY_FLAG5,
	ETC_Cost5,
	PPL_ETC_COST5,
	EQPMT_ETC_COST5,
	PPL_UNPLAND_EFFORT5,
	EQPMT_ETC_EFFORT5,
	SUB_PRJ_ETC_COST5,
	SUB_PRJ_PPL_ETC_COST5,
	SUB_PRJ_EQPMT_ETC_COST5,
	SUB_PRJ_PPL_ETC_EFFORT5,
	SUB_PRJ_EQPMT_ETC_EFFORT5,
	EARNED_VALUE5,
	BAC_VALUE5,
	START_DATE6,
	START_DATE_OVERRIDE6,
	FINISH_DATE6,
	DURATION6,
	TASK_STATUS6,
	PROGRESS_STATUS_WEIGHT6,
	PROGRESS_OVERRIDE6,
	REMAINING_EFFORT6,
	PERCENT_COMPLETE6,
	PERCENT_OVERRIDE6,
	TASK_WEIGHT6,
	NUMBER_FIELD6,
	ROLLUP_NODE6,
	DIRTY_FLAG6,
	ETC_Cost6,
	PPL_ETC_COST6,
	EQPMT_ETC_COST6,
	PPL_UNPLAND_EFFORT6,
	EQPMT_ETC_EFFORT6,
	SUB_PRJ_ETC_COST6,
	SUB_PRJ_PPL_ETC_COST6,
	SUB_PRJ_EQPMT_ETC_COST6,
	SUB_PRJ_PPL_ETC_EFFORT6,
	SUB_PRJ_EQPMT_ETC_EFFORT6,
	EARNED_VALUE6,
	BAC_VALUE6,
	PERC_COMP_DERIVATIVE_CODE1,
	PERC_COMP_DERIVATIVE_CODE2,
	PERC_COMP_DERIVATIVE_CODE3,
	PERC_COMP_DERIVATIVE_CODE4,
	PERC_COMP_DERIVATIVE_CODE5,
	PERC_COMP_DERIVATIVE_CODE6,
	SUMMARY_OBJECT_FLAG -- 4370746
      FROM PA_PROJ_ROLLUP_BULK_TEMP
      WHERE PROCESS_NUMBER  = C_Process_Number
      order by calendar_id;
Line: 1034

SELECT object_id, object_type, start_date1, start_date2, start_date3,
       start_date4, start_date5, start_date6, finish_date1,finish_date2, finish_date3,
       finish_date4, finish_date5, finish_date6, duration1, duration2, duration3, duration4,
       duration5, duration6, dirty_flag1, dirty_flag2, dirty_flag3, dirty_flag4, dirty_flag5, dirty_flag6
       , 'N', 'N', 'N', 'N', 'N', 'N'
       FROM   PA_PROJ_ROLLUP_BULK_TEMP t1
       WHERE  PROCESS_NUMBER  = l_process_number
       -- 4218507 : This could be made dependenct on dirty_flag1='Y' only. Not sure whethere this will improve performance
       AND    (dirty_flag1='Y' OR dirty_flag2='Y' OR dirty_flag3='Y' OR dirty_flag4='Y' OR dirty_flag5='Y'
               OR dirty_flag6='Y')
       AND    Not Exists (select * from PA_PROJ_ROLLUP_BULK_TEMP t2
		where t2.PROCESS_NUMBER = l_process_number
		and t2.parent_object_id = t1.object_id
		AND ROWNUM < 2);
Line: 1050

SELECT object_id, object_type, start_date1, start_date2, start_date3,
       start_date4, start_date5, start_date6, finish_date1,finish_date2, finish_date3,
       finish_date4, finish_date5, finish_date6, duration1, duration2, duration3, duration4,
       duration5, duration6, dirty_flag1, dirty_flag2, dirty_flag3, dirty_flag4, dirty_flag5, dirty_flag6,
       start_date_override1, start_date_override2, start_date_override3, start_date_override4,
       start_date_override5, start_date_override6
	  FROM   PA_PROJ_ROLLUP_BULK_TEMP
	  WHERE  PROCESS_NUMBER   = l_process_number
       -- 4218507 : This could be made dependent on dirty_flag1=Y only
	  AND    (dirty_flag1='Y' OR dirty_flag2='Y' OR dirty_flag3='Y' OR dirty_flag4='Y' OR dirty_flag5='Y' OR
                 dirty_flag6='Y')
	  AND object_id <> c_object_id
	  START  WITH object_id   = c_object_ID
	    CONNECT BY object_id  = PRIOR parent_object_id
order by wbs_level desc;
Line: 1068

SELECT object_id, object_type,REMAINING_EFFORT1,REMAINING_EFFORT2, REMAINING_EFFORT3, REMAINING_EFFORT4
, REMAINING_EFFORT5, REMAINING_EFFORT6
FROM   PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE  process_number = l_process_number
AND OBJECT_TYPE <> 'PA_DELIVERABLES'
AND Exists (SELECT * from PA_PROJ_ROLLUP_BULK_TEMP t2
	  WHERE t2.OBJECT_TYPE <> 'PA_DELIVERABLES'
	  AND t2.parent_object_id = t1.object_id
          AND t2.parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
	  AND process_number = l_process_number
	  AND ROWNUM < 2)
Order By WBS_LEVEL DESC;
Line: 1083

SELECT Object_ID, object_type, PROGRESS_STATUS_WEIGHT1, PROGRESS_STATUS_WEIGHT2, PROGRESS_STATUS_WEIGHT3
, PROGRESS_STATUS_WEIGHT4, PROGRESS_STATUS_WEIGHT5, PROGRESS_STATUS_WEIGHT6
FROM   PA_PROJ_ROLLUP_BULK_TEMP t1
--WHERE  OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_DELIVERABLES')
WHERE  OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES')
AND process_number = l_process_number
AND Exists (Select * From PA_PROJ_ROLLUP_BULK_TEMP t2
--	 Where t2.OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_DELIVERABLES', 'PA_SUBPROJECTS')
	 Where t2.OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_SUBPROJECTS')
	  AND t2.parent_object_id = t1.object_id
          AND t2.parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
	  AND process_number = l_process_number
	  AND ROWNUM < 2)
Order By WBS_LEVEL DESC;
Line: 1100

SELECT object_id, object_type, task_status1, task_status2, task_status3, task_status4, task_status5, task_status6
FROM PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE <> 'PA_ASSIGNMENTS'
      AND Exists (Select * From PA_PROJ_ROLLUP_BULK_TEMP t2
		Where t2.PROCESS_NUMBER = l_process_number
      		AND OBJECT_TYPE <> 'PA_ASSIGNMENTS'
		AND t2.parent_object_id = t1.object_id
                AND t2.parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
		AND RowNum < 2)
Order By WBS_LEVEL DESC;
Line: 1113

SELECT decode(rollup_node1, 'Y', TASK_STATUS1, -1)
      , decode(rollup_node2, 'Y', TASK_STATUS2, -1)
      , decode(rollup_node3, 'Y', TASK_STATUS3, -1)
      , decode(rollup_node4, 'Y', TASK_STATUS4, -1)
      , decode(rollup_node5, 'Y', TASK_STATUS5, -1)
      , decode(rollup_node6, 'Y', TASK_STATUS6, -1)
FROM PA_PROJ_ROLLUP_BULK_TEMP
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE <> 'PA_ASSIGNMENTS'
AND parent_object_id = p_parent_id
AND parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
;
Line: 1127

SELECT TASK_STATUS1, TASK_STATUS2, TASK_STATUS3, TASK_STATUS4, TASK_STATUS5, TASK_STATUS6
FROM PA_PROJ_ROLLUP_BULK_TEMP
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE <> 'PA_ASSIGNMENTS'
AND parent_object_id = p_parent_id
AND parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
;
Line: 1137

SELECT object_id, OBJECT_TYPE, Perc_Comp_Derivative_Code1, BAC_VALUE1, BAC_VALUE2, BAC_VALUE3, BAC_VALUE4,
BAC_VALUE5, BAC_VALUE6, PERCENT_COMPLETE1, PERCENT_COMPLETE2, PERCENT_COMPLETE3,
PERCENT_COMPLETE4, PERCENT_COMPLETE5, PERCENT_COMPLETE6, PERCENT_OVERRIDE1, PERCENT_OVERRIDE2,
PERCENT_OVERRIDE3, PERCENT_OVERRIDE4, PERCENT_OVERRIDE5, PERCENT_OVERRIDE6, EARNED_VALUE1, EARNED_VALUE2
, EARNED_VALUE3, EARNED_VALUE4, EARNED_VALUE5, EARNED_VALUE6
FROM PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES')
AND nvl(SUMMARY_OBJECT_FLAG, 'N') NOT IN ('Y', 'L') -- 4370746 -- 4586449 : Added 'L'
AND not Exists (Select * From PA_PROJ_ROLLUP_BULK_TEMP t2
		  Where t2.PROCESS_NUMBER = l_process_number
      		  AND t2.OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES')
		  And t2.parent_object_id = t1.object_id
                  AND t2.parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
		  AND ROWNUM < 2);
Line: 1154

SELECT object_id, OBJECT_TYPE, Perc_Comp_Derivative_Code1, BAC_VALUE1, BAC_VALUE2, BAC_VALUE3, BAC_VALUE4,
BAC_VALUE5, BAC_VALUE6, PERCENT_COMPLETE1, PERCENT_COMPLETE2, PERCENT_COMPLETE3,
PERCENT_COMPLETE4, PERCENT_COMPLETE5, PERCENT_COMPLETE6, PERCENT_OVERRIDE1, PERCENT_OVERRIDE2,
PERCENT_OVERRIDE3, PERCENT_OVERRIDE4, PERCENT_OVERRIDE5, PERCENT_OVERRIDE6, EARNED_VALUE1, EARNED_VALUE2
, EARNED_VALUE3, EARNED_VALUE4, EARNED_VALUE5, EARNED_VALUE6
, summary_object_flag -- 4587517
FROM PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES')
-- 4530036 : SUMMARY_OBJECT_FLAG is added so that
-- earned value gets recalculated even if no childs are passed to summary level
AND( nvl(SUMMARY_OBJECT_FLAG, 'N') IN ('Y','L') -- 4586449 : Added 'L'
OR Exists (Select * From PA_PROJ_ROLLUP_BULK_TEMP t2
		  Where t2.PROCESS_NUMBER = l_process_number
      		  AND t2.OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES')
		  And t2.parent_object_id = t1.object_id
                  AND t2.parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
		  AND ROWNUM < 2)
   )
Order By WBS_LEVEL DESC;
Line: 1176

SELECT object_id, object_type, ETC_Cost1, ETC_Cost2, ETC_Cost3, ETC_Cost4, ETC_Cost5, ETC_Cost6
, PPL_ETC_COST1, PPL_ETC_COST2, PPL_ETC_COST3, PPL_ETC_COST4, PPL_ETC_COST5, PPL_ETC_COST6
, EQPMT_ETC_COST1, EQPMT_ETC_COST2, EQPMT_ETC_COST3, EQPMT_ETC_COST4, EQPMT_ETC_COST5, EQPMT_ETC_COST6
, PPL_UNPLAND_EFFORT1, PPL_UNPLAND_EFFORT2, PPL_UNPLAND_EFFORT3, PPL_UNPLAND_EFFORT4, PPL_UNPLAND_EFFORT5, PPL_UNPLAND_EFFORT6
, EQPMT_ETC_EFFORT1, EQPMT_ETC_EFFORT2, EQPMT_ETC_EFFORT3, EQPMT_ETC_EFFORT4, EQPMT_ETC_EFFORT5, EQPMT_ETC_EFFORT6
, SUB_PRJ_ETC_COST1, SUB_PRJ_ETC_COST2, SUB_PRJ_ETC_COST3, SUB_PRJ_ETC_COST4, SUB_PRJ_ETC_COST5, SUB_PRJ_ETC_COST6
, SUB_PRJ_PPL_ETC_COST1, SUB_PRJ_PPL_ETC_COST2, SUB_PRJ_PPL_ETC_COST3, SUB_PRJ_PPL_ETC_COST4, SUB_PRJ_PPL_ETC_COST5, SUB_PRJ_PPL_ETC_COST6
, SUB_PRJ_EQPMT_ETC_COST1, SUB_PRJ_EQPMT_ETC_COST2, SUB_PRJ_EQPMT_ETC_COST3, SUB_PRJ_EQPMT_ETC_COST4, SUB_PRJ_EQPMT_ETC_COST5, SUB_PRJ_EQPMT_ETC_COST6
, SUB_PRJ_PPL_ETC_EFFORT1, SUB_PRJ_PPL_ETC_EFFORT2, SUB_PRJ_PPL_ETC_EFFORT3, SUB_PRJ_PPL_ETC_EFFORT4, SUB_PRJ_PPL_ETC_EFFORT5, SUB_PRJ_PPL_ETC_EFFORT6
, SUB_PRJ_EQPMT_ETC_EFFORT1, SUB_PRJ_EQPMT_ETC_EFFORT2, SUB_PRJ_EQPMT_ETC_EFFORT3, SUB_PRJ_EQPMT_ETC_EFFORT4, SUB_PRJ_EQPMT_ETC_EFFORT5, SUB_PRJ_EQPMT_ETC_EFFORT6
, REMAINING_EFFORT1, REMAINING_EFFORT2, REMAINING_EFFORT3, REMAINING_EFFORT4, REMAINING_EFFORT5, REMAINING_EFFORT6
FROM   PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE  PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE NOT IN ( 'PA_DELIVERABLES',  'PA_ASSIGNMENTS', 'PA_SUBPROJECTS')
AND Exists (SELECT * from PA_PROJ_ROLLUP_BULK_TEMP t2
	  WHERE t2.PROCESS_NUMBER = l_process_number
	  AND t2.OBJECT_TYPE <> 'PA_DELIVERABLES'
	  AND t2.parent_object_id = t1.object_id
          AND t2.parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
	  AND ROWNUM < 2)
Order By WBS_LEVEL DESC;
Line: 1199

SELECT object_id, object_type, dirty_flag1, dirty_flag2, dirty_flag3, dirty_flag4, dirty_flag5, dirty_flag6
FROM PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE <> 'PA_DELIVERABLES'
AND (Dirty_flag1 ='Y' OR Dirty_flag2 ='Y' OR Dirty_flag3 ='Y' OR Dirty_flag4 ='Y' OR Dirty_flag5 ='Y'
	OR Dirty_flag6 ='Y')
AND Exists (select 1 from PA_PROJ_ROLLUP_BULK_TEMP t2
	  where t2.PROCESS_NUMBER = l_process_number
	  and t2.OBJECT_TYPE <> 'PA_DELIVERABLES'
	  and t2.parent_object_id = t1.object_id
	  AND ROWNUM < 2
	      );
Line: 1215

SELECT t.Object_ID, t.object_type, t.dirty_flag1, t.dirty_flag2, t.dirty_flag3
     , t.dirty_flag4, t.dirty_flag5, t.dirty_flag6, c_dirty_flag1 ref_dirty_flag1
     , c_dirty_flag2 ref_dirty_flag2, c_dirty_flag3 ref_dirty_flag3, c_dirty_flag4 ref_dirty_flag4
     , c_dirty_flag5 ref_dirty_flag5, c_dirty_flag6 ref_dirty_flag6
FROM
   (SELECT t2.Object_ID, t2.object_type, t2.dirty_flag1, t2.dirty_flag2, t2.dirty_flag3
         , t2.dirty_flag4, t2.dirty_flag5, t2.dirty_flag6,t2.wbs_level order_by_clause
FROM PA_PROJ_ROLLUP_BULK_TEMP T2
WHERE T2.PROCESS_NUMBER = l_process_number
AND T2.Object_ID <> c_object_id
START WITH T2.PROCESS_NUMBER = l_process_number
AND        T2.Object_ID = c_object_id
CONNECT BY T2.PROCESS_NUMBER = l_process_number
AND        T2.Parent_Object_ID = PRIOR T2.Object_ID) t
order by order_by_clause desc;
Line: 1232

SELECT object_id, object_type, dirty_flag1, dirty_flag2, dirty_flag3, dirty_flag4, dirty_flag5, dirty_flag6
FROM PA_PROJ_ROLLUP_BULK_TEMP t1
WHERE PROCESS_NUMBER = l_process_number
AND OBJECT_TYPE <> 'PA_DELIVERABLES'
AND (Dirty_flag1 ='Y' OR Dirty_flag2 ='Y' OR Dirty_flag3 ='Y' OR Dirty_flag4 ='Y' OR Dirty_flag5 ='Y'
	OR Dirty_flag6 ='Y')
AND NOT Exists (select 1 from PA_PROJ_ROLLUP_BULK_TEMP t2
	  where t2.PROCESS_NUMBER = l_process_number
	  and t2.OBJECT_TYPE <> 'PA_DELIVERABLES'
	  and t2.parent_object_id = t1.object_id
	  AND ROWNUM < 2
	      );
Line: 1248

SELECT t.Object_ID, t.object_type, t.dirty_flag1, t.dirty_flag2, t.dirty_flag3
     , t.dirty_flag4, t.dirty_flag5, t.dirty_flag6, c_dirty_flag1 ref_dirty_flag1
     , c_dirty_flag2 ref_dirty_flag2, c_dirty_flag3 ref_dirty_flag3, c_dirty_flag4 ref_dirty_flag4
     , c_dirty_flag5 ref_dirty_flag5, c_dirty_flag6 ref_dirty_flag6
FROM
(   SELECT t2.Object_ID, t2.object_type, t2.dirty_flag1, t2.dirty_flag2, t2.dirty_flag3
         , t2.dirty_flag4, t2.dirty_flag5, t2.dirty_flag6, t2.wbs_level order_by_clause
FROM PA_PROJ_ROLLUP_BULK_TEMP T2
WHERE T2.PROCESS_NUMBER = l_process_number
AND T2.Object_ID <> c_object_id
START WITH T2.PROCESS_NUMBER = l_process_number
AND        T2.Object_ID = c_object_id
CONNECT BY T2.PROCESS_NUMBER = l_process_number
AND        T2.Object_ID = PRIOR T2.Parent_Object_ID) t
order by t.order_by_clause asc;
Line: 1266

SELECT object_id, object_type, start_date1, start_date2, start_date3,
       start_date4, start_date5, start_date6, finish_date1,finish_date2, finish_date3,
       finish_date4, finish_date5, finish_date6, duration1, duration2, duration3, duration4,
       duration5, duration6, dirty_flag1, dirty_flag2, dirty_flag3, dirty_flag4, dirty_flag5, dirty_flag6,
       start_date_override1, start_date_override2, start_date_override3, start_date_override4,
       start_date_override5, start_date_override6, 'N', 'N', 'N', 'N', 'N', 'N' , 'N', 'N', 'N', 'N', 'N', 'N'
	  FROM   PA_PROJ_ROLLUP_BULK_TEMP
	  WHERE  PROCESS_NUMBER   = l_process_number
	  AND    (dirty_flag1='Y' OR dirty_flag2='Y' OR dirty_flag3='Y' OR dirty_flag4='Y' OR dirty_flag5='Y' OR
                 dirty_flag6='Y')
order by wbs_level desc;
Line: 1294

	SELECT PA_PROJ_ROLLUP_BULK_TEMP_S.nextval
	INTO   l_Process_Number FROM dual;
Line: 1686

		INSERT INTO PA_PROJ_ROLLUP_BULK_TEMP(
			PROCESS_NUMBER,
			OBJECT_TYPE,
			OBJECT_ID,
			PARENT_OBJECT_TYPE,
			PARENT_OBJECT_ID,
			CALENDAR_ID,
			CONSTRAINT_TYPE_CODE,
			CONSTRAINT_DATE,
			WBS_LEVEL,
			START_DATE1,
			START_DATE_OVERRIDE1,
			FINISH_DATE1,
			DURATION1,
			TASK_STATUS1,
			PROGRESS_STATUS_WEIGHT1,
			PROGRESS_OVERRIDE1,
			REMAINING_EFFORT1,
			PERCENT_COMPLETE1,
			PERCENT_OVERRIDE1,
			TASK_WEIGHT1,
			NUMBER_FIELD1,
			ROLLUP_NODE1,
			DIRTY_FLAG1,
			ETC_Cost1,
			PPL_ETC_COST1,
			EQPMT_ETC_COST1,
			PPL_UNPLAND_EFFORT1,
			EQPMT_ETC_EFFORT1,
			SUB_PRJ_ETC_COST1,
			SUB_PRJ_PPL_ETC_COST1,
			SUB_PRJ_EQPMT_ETC_COST1,
			SUB_PRJ_PPL_ETC_EFFORT1,
			SUB_PRJ_EQPMT_ETC_EFFORT1,
			EARNED_VALUE1,
			BAC_VALUE1,
			PERC_COMP_DERIVATIVE_CODE1,
			START_DATE2,
			START_DATE_OVERRIDE2,
			FINISH_DATE2,
			DURATION2,
			TASK_STATUS2,
			PROGRESS_STATUS_WEIGHT2,
			PROGRESS_OVERRIDE2,
			REMAINING_EFFORT2,
			PERCENT_COMPLETE2,
			PERCENT_OVERRIDE2,
			TASK_WEIGHT2,
			NUMBER_FIELD2,
			ROLLUP_NODE2,
			DIRTY_FLAG2,
			ETC_Cost2,
			PPL_ETC_COST2,
			EQPMT_ETC_COST2,
			PPL_UNPLAND_EFFORT2,
			EQPMT_ETC_EFFORT2,
			SUB_PRJ_ETC_COST2,
			SUB_PRJ_PPL_ETC_COST2,
			SUB_PRJ_EQPMT_ETC_COST2,
			SUB_PRJ_PPL_ETC_EFFORT2,
			SUB_PRJ_EQPMT_ETC_EFFORT2,
			EARNED_VALUE2,
			BAC_VALUE2,
			PERC_COMP_DERIVATIVE_CODE2,
			START_DATE3,
			START_DATE_OVERRIDE3,
			FINISH_DATE3,
			DURATION3,
			TASK_STATUS3,
			PROGRESS_STATUS_WEIGHT3,
			PROGRESS_OVERRIDE3,
			REMAINING_EFFORT3,
			PERCENT_COMPLETE3,
			PERCENT_OVERRIDE3,
			TASK_WEIGHT3,
			NUMBER_FIELD3,
			ROLLUP_NODE3,
			DIRTY_FLAG3,
			ETC_Cost3,
			PPL_ETC_COST3,
			EQPMT_ETC_COST3,
			PPL_UNPLAND_EFFORT3,
			EQPMT_ETC_EFFORT3,
			SUB_PRJ_ETC_COST3,
			SUB_PRJ_PPL_ETC_COST3,
			SUB_PRJ_EQPMT_ETC_COST3,
			SUB_PRJ_PPL_ETC_EFFORT3,
			SUB_PRJ_EQPMT_ETC_EFFORT3,
			EARNED_VALUE3,
			BAC_VALUE3,
			PERC_COMP_DERIVATIVE_CODE3,
			START_DATE4,
			START_DATE_OVERRIDE4,
			FINISH_DATE4,
			DURATION4,
			TASK_STATUS4,
			PROGRESS_STATUS_WEIGHT4,
			PROGRESS_OVERRIDE4,
			REMAINING_EFFORT4,
			PERCENT_COMPLETE4,
			PERCENT_OVERRIDE4,
			TASK_WEIGHT4,
			NUMBER_FIELD4,
			ROLLUP_NODE4,
			DIRTY_FLAG4,
			ETC_Cost4,
			PPL_ETC_COST4,
			EQPMT_ETC_COST4,
			PPL_UNPLAND_EFFORT4,
			EQPMT_ETC_EFFORT4,
			SUB_PRJ_ETC_COST4,
			SUB_PRJ_PPL_ETC_COST4,
			SUB_PRJ_EQPMT_ETC_COST4,
			SUB_PRJ_PPL_ETC_EFFORT4,
			SUB_PRJ_EQPMT_ETC_EFFORT4,
			EARNED_VALUE4,
			BAC_VALUE4,
			PERC_COMP_DERIVATIVE_CODE4,
			START_DATE5,
			START_DATE_OVERRIDE5,
			FINISH_DATE5,
			DURATION5,
			TASK_STATUS5,
			PROGRESS_STATUS_WEIGHT5,
			PROGRESS_OVERRIDE5,
			REMAINING_EFFORT5,
			PERCENT_COMPLETE5,
			PERCENT_OVERRIDE5,
			TASK_WEIGHT5,
			NUMBER_FIELD5,
			ROLLUP_NODE5,
			DIRTY_FLAG5,
			ETC_Cost5,
			PPL_ETC_COST5,
			EQPMT_ETC_COST5,
			PPL_UNPLAND_EFFORT5,
			EQPMT_ETC_EFFORT5,
			SUB_PRJ_ETC_COST5,
			SUB_PRJ_PPL_ETC_COST5,
			SUB_PRJ_EQPMT_ETC_COST5,
			SUB_PRJ_PPL_ETC_EFFORT5,
			SUB_PRJ_EQPMT_ETC_EFFORT5,
			EARNED_VALUE5,
			BAC_VALUE5,
			PERC_COMP_DERIVATIVE_CODE5,
			START_DATE6,
			START_DATE_OVERRIDE6,
			FINISH_DATE6,
			DURATION6,
			TASK_STATUS6,
			PROGRESS_STATUS_WEIGHT6,
			PROGRESS_OVERRIDE6,
			REMAINING_EFFORT6,
			PERCENT_COMPLETE6,
			PERCENT_OVERRIDE6,
			TASK_WEIGHT6,
			NUMBER_FIELD6,
			ROLLUP_NODE6,
			DIRTY_FLAG6,
			ETC_Cost6,
			PPL_ETC_COST6,
			EQPMT_ETC_COST6,
			PPL_UNPLAND_EFFORT6,
			EQPMT_ETC_EFFORT6,
			SUB_PRJ_ETC_COST6,
			SUB_PRJ_PPL_ETC_COST6,
			SUB_PRJ_EQPMT_ETC_COST6,
			SUB_PRJ_PPL_ETC_EFFORT6,
			SUB_PRJ_EQPMT_ETC_EFFORT6,
			EARNED_VALUE6,
			BAC_VALUE6,
			PERC_COMP_DERIVATIVE_CODE6,
			SUMMARY_OBJECT_FLAG -- 4370746
		      ) VALUES (
			l_process_number,
			l_OBJECT_TYPE(i),
			l_OBJECT_ID(i),
			l_PARENT_OBJECT_TYPE(i),
			l_PARENT_OBJECT_ID(i),
			l_CALENDAR_ID(i),
			l_CONSTRAINT_TYPE_CODE(i),
			l_CONSTRAINT_DATE(i),
			l_WBS_LEVEL(i),
			l_START_DATE1(i),
			l_START_DATE_OVERRIDE1(i),
			l_FINISH_DATE1(i),
			l_DURATION1(i),
			l_TASK_STATUS1(i),
			l_PROGRESS_STATUS_WEIGHT1(i),
			l_PROGRESS_OVERRIDE1(i),
			l_REMAINING_EFFORT1(i),
			l_PERCENT_COMPLETE1(i),
			l_PERCENT_OVERRIDE1(i),
			l_TASK_WEIGHT1(i),
			l_NUMBER_FIELD1(i),
			l_ROLLUP_NODE1(i),
			l_DIRTY_FLAG1(i),
			l_Etc_Cost1(i),
			l_PPL_ETC_Cost1(i),
			l_EQPMT_ETC_COST1(i),
			l_PPL_UNPLAND_EFFORT1(i),
			l_EQPMT_ETC_EFFORT1(i),
			l_SUB_PRJ_ETC_COST1(i),
			l_SUB_PRJ_PPL_ETC_COST1(i),
			l_SUB_PRJ_EQPMT_ETC_COST1(i),
			l_SUB_PRJ_PPL_ETC_EFFORT1(i),
			l_SUB_PRJ_EQPMT_ETC_EFFORT1(i),
			l_EARNED_VALUE1(i),
			l_BAC_VALUE1(i),
			l_Perc_Comp_Deriv_Code1(i),
			l_START_DATE2(i),
			l_START_DATE_OVERRIDE2(i),
			l_FINISH_DATE2(i),
			l_DURATION2(i),
			l_TASK_STATUS2(i),
			l_PROGRESS_STATUS_WEIGHT2(i),
			l_PROGRESS_OVERRIDE2(i),
			l_REMAINING_EFFORT2(i),
			l_PERCENT_COMPLETE2(i),
			l_PERCENT_OVERRIDE2(i),
			l_TASK_WEIGHT2(i),
			l_NUMBER_FIELD2(i),
			l_ROLLUP_NODE2(i),
			l_DIRTY_FLAG2(i),
			l_Etc_Cost2(i),
			l_PPL_ETC_Cost2(i),
			l_EQPMT_ETC_COST2(i),
			l_PPL_UNPLAND_EFFORT2(i),
			l_EQPMT_ETC_EFFORT2(i),
			l_SUB_PRJ_ETC_COST2(i),
			l_SUB_PRJ_PPL_ETC_COST2(i),
			l_SUB_PRJ_EQPMT_ETC_COST2(i),
			l_SUB_PRJ_PPL_ETC_EFFORT2(i),
			l_SUB_PRJ_EQPMT_ETC_EFFORT2(i),
			l_EARNED_VALUE2(i),
			l_BAC_VALUE2(i),
			l_Perc_Comp_Deriv_Code2(i),
			l_START_DATE3(i),
			l_START_DATE_OVERRIDE3(i),
			l_FINISH_DATE3(i),
			l_DURATION3(i),
			l_TASK_STATUS3(i),
			l_PROGRESS_STATUS_WEIGHT3(i),
			l_PROGRESS_OVERRIDE3(i),
			l_REMAINING_EFFORT3(i),
			l_PERCENT_COMPLETE3(i),
			l_PERCENT_OVERRIDE3(i),
			l_TASK_WEIGHT3(i),
			l_NUMBER_FIELD3(i),
			l_ROLLUP_NODE3(i),
			l_DIRTY_FLAG3(i),
			l_Etc_Cost3(i),
			l_PPL_ETC_Cost3(i),
			l_EQPMT_ETC_COST3(i),
			l_PPL_UNPLAND_EFFORT3(i),
			l_EQPMT_ETC_EFFORT3(i),
			l_SUB_PRJ_ETC_COST3(i),
			l_SUB_PRJ_PPL_ETC_COST3(i),
			l_SUB_PRJ_EQPMT_ETC_COST3(i),
			l_SUB_PRJ_PPL_ETC_EFFORT3(i),
			l_SUB_PRJ_EQPMT_ETC_EFFORT3(i),
			l_EARNED_VALUE3(i),
			l_BAC_VALUE3(i),
			l_Perc_Comp_Deriv_Code3(i),
			l_START_DATE4(i),
			l_START_DATE_OVERRIDE4(i),
			l_FINISH_DATE4(i),
			l_DURATION4(i),
			l_TASK_STATUS4(i),
			l_PROGRESS_STATUS_WEIGHT4(i),
			l_PROGRESS_OVERRIDE4(i),
			l_REMAINING_EFFORT4(i),
			l_PERCENT_COMPLETE4(i),
			l_PERCENT_OVERRIDE4(i),
			l_TASK_WEIGHT4(i),
			l_NUMBER_FIELD4(i),
			l_ROLLUP_NODE4(i),
			l_DIRTY_FLAG4(i),
			l_Etc_Cost4(i),
			l_PPL_ETC_Cost4(i),
			l_EQPMT_ETC_COST4(i),
			l_PPL_UNPLAND_EFFORT4(i),
			l_EQPMT_ETC_EFFORT4(i),
			l_SUB_PRJ_ETC_COST4(i),
			l_SUB_PRJ_PPL_ETC_COST4(i),
			l_SUB_PRJ_EQPMT_ETC_COST4(i),
			l_SUB_PRJ_PPL_ETC_EFFORT4(i),
			l_SUB_PRJ_EQPMT_ETC_EFFORT4(i),
			l_EARNED_VALUE4(i),
			l_BAC_VALUE4(i),
			l_Perc_Comp_Deriv_Code4(i),
			l_START_DATE5(i),
			l_START_DATE_OVERRIDE5(i),
			l_FINISH_DATE5(i),
			l_DURATION5(i),
			l_TASK_STATUS5(i),
			l_PROGRESS_STATUS_WEIGHT5(i),
			l_PROGRESS_OVERRIDE5(i),
			l_REMAINING_EFFORT5(i),
			l_PERCENT_COMPLETE5(i),
			l_PERCENT_OVERRIDE5(i),
			l_TASK_WEIGHT5(i),
			l_NUMBER_FIELD5(i),
			l_ROLLUP_NODE5(i),
			l_DIRTY_FLAG5(i),
			l_Etc_Cost5(i),
			l_PPL_ETC_Cost5(i),
			l_EQPMT_ETC_COST5(i),
			l_PPL_UNPLAND_EFFORT5(i),
			l_EQPMT_ETC_EFFORT5(i),
			l_SUB_PRJ_ETC_COST5(i),
			l_SUB_PRJ_PPL_ETC_COST5(i),
			l_SUB_PRJ_EQPMT_ETC_COST5(i),
			l_SUB_PRJ_PPL_ETC_EFFORT5(i),
			l_SUB_PRJ_EQPMT_ETC_EFFORT5(i),
			l_EARNED_VALUE5(i),
			l_BAC_VALUE5(i),
			l_Perc_Comp_Deriv_Code5(i),
			l_START_DATE6(i),
			l_START_DATE_OVERRIDE6(i),
			l_FINISH_DATE6(i),
			l_DURATION6(i),
			l_TASK_STATUS6(i),
			l_PROGRESS_STATUS_WEIGHT6(i),
			l_PROGRESS_OVERRIDE6(i),
			l_REMAINING_EFFORT6(i),
			l_PERCENT_COMPLETE6(i),
			l_PERCENT_OVERRIDE6(i),
			l_TASK_WEIGHT6(i),
			l_NUMBER_FIELD6(i),
			l_ROLLUP_NODE6(i),
			l_DIRTY_FLAG6(i),
			l_Etc_Cost6(i),
			l_PPL_ETC_Cost6(i),
			l_EQPMT_ETC_COST6(i),
			l_PPL_UNPLAND_EFFORT6(i),
			l_EQPMT_ETC_EFFORT6(i),
			l_SUB_PRJ_ETC_COST6(i),
			l_SUB_PRJ_PPL_ETC_COST6(i),
			l_SUB_PRJ_EQPMT_ETC_COST6(i),
			l_SUB_PRJ_PPL_ETC_EFFORT6(i),
			l_SUB_PRJ_EQPMT_ETC_EFFORT6(i),
			l_EARNED_VALUE6(i),
			l_BAC_VALUE6(i),
			l_Perc_Comp_Deriv_Code6(i),
			l_SUMMARY_OBJECT_FLAG(i) -- 4370746
		      );
Line: 2035

                pa_debug.write(x_Module=>'PA_SCHEDULE_OBJECTS_PVT.GENERATE_SCHEDULE', x_Msg => 'After insertion into table', x_Log_Level=> 3);
Line: 2052

		l_temp_object_ids_tab.delete;
Line: 2053

		l_temp_object_types_tab.delete;
Line: 2054

		l_temp_dirty_flag_tab1.delete;
Line: 2055

		l_temp_dirty_flag_tab2.delete;
Line: 2056

		l_temp_dirty_flag_tab3.delete;
Line: 2057

		l_temp_dirty_flag_tab4.delete;
Line: 2058

		l_temp_dirty_flag_tab5.delete;
Line: 2059

		l_temp_dirty_flag_tab6.delete;
Line: 2060

		l_object_ids_tab.delete;
Line: 2061

		l_object_types_tab.delete;
Line: 2062

		l_dirty_flag_tab1.delete;
Line: 2063

		l_dirty_flag_tab2.delete;
Line: 2064

		l_dirty_flag_tab3.delete;
Line: 2065

		l_dirty_flag_tab4.delete;
Line: 2066

		l_dirty_flag_tab5.delete;
Line: 2067

		l_dirty_flag_tab6.delete;
Line: 2076

			l_int_object_ids_tab.delete;
Line: 2077

			l_int_object_types_tab.delete;
Line: 2078

			l_int_dirty_flag_tab1.delete;
Line: 2079

			l_int_dirty_flag_tab2.delete;
Line: 2080

			l_int_dirty_flag_tab3.delete;
Line: 2081

			l_int_dirty_flag_tab4.delete;
Line: 2082

			l_int_dirty_flag_tab5.delete;
Line: 2083

			l_int_dirty_flag_tab6.delete;
Line: 2084

			l_int_ref_dirty_flag_tab1.delete;
Line: 2085

			l_int_ref_dirty_flag_tab2.delete;
Line: 2086

			l_int_ref_dirty_flag_tab3.delete;
Line: 2087

			l_int_ref_dirty_flag_tab4.delete;
Line: 2088

			l_int_ref_dirty_flag_tab5.delete;
Line: 2089

			l_int_ref_dirty_flag_tab6.delete;
Line: 2178

		     UPDATE  /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
			SET    T1.DIRTY_FLAG1=l_dirty_flag_tab1(i)
			, T1.DIRTY_FLAG2=l_dirty_flag_tab2(i)
			, T1.DIRTY_FLAG3=l_dirty_flag_tab3(i)
			, T1.DIRTY_FLAG4=l_dirty_flag_tab4(i)
			, T1.DIRTY_FLAG5=l_dirty_flag_tab5(i)
			, T1.DIRTY_FLAG6=l_dirty_flag_tab6(i)
		       WHERE T1.object_id = l_object_ids_tab(i)
			 AND T1.object_type = l_object_types_tab(i)
   		        AND process_number = l_Process_Number
		      ;
Line: 2191

		l_temp_object_ids_tab.delete;
Line: 2192

		l_temp_object_types_tab.delete;
Line: 2193

		l_temp_dirty_flag_tab1.delete;
Line: 2194

		l_temp_dirty_flag_tab2.delete;
Line: 2195

		l_temp_dirty_flag_tab3.delete;
Line: 2196

		l_temp_dirty_flag_tab4.delete;
Line: 2197

		l_temp_dirty_flag_tab5.delete;
Line: 2198

		l_temp_dirty_flag_tab6.delete;
Line: 2199

		l_object_ids_tab.delete;
Line: 2200

		l_object_types_tab.delete;
Line: 2201

		l_dirty_flag_tab1.delete;
Line: 2202

		l_dirty_flag_tab2.delete;
Line: 2203

		l_dirty_flag_tab3.delete;
Line: 2204

		l_dirty_flag_tab4.delete;
Line: 2205

		l_dirty_flag_tab5.delete;
Line: 2206

		l_dirty_flag_tab6.delete;
Line: 2216

			l_int_object_ids_tab.delete;
Line: 2217

			l_int_object_types_tab.delete;
Line: 2218

			l_int_dirty_flag_tab1.delete;
Line: 2219

			l_int_dirty_flag_tab2.delete;
Line: 2220

			l_int_dirty_flag_tab3.delete;
Line: 2221

			l_int_dirty_flag_tab4.delete;
Line: 2222

			l_int_dirty_flag_tab5.delete;
Line: 2223

			l_int_dirty_flag_tab6.delete;
Line: 2224

			l_int_ref_dirty_flag_tab1.delete;
Line: 2225

			l_int_ref_dirty_flag_tab2.delete;
Line: 2226

			l_int_ref_dirty_flag_tab3.delete;
Line: 2227

			l_int_ref_dirty_flag_tab4.delete;
Line: 2228

			l_int_ref_dirty_flag_tab5.delete;
Line: 2229

			l_int_ref_dirty_flag_tab6.delete;
Line: 2315

		     UPDATE  /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
			SET    T1.DIRTY_FLAG1=l_dirty_flag_tab1(i)
			, T1.DIRTY_FLAG2=l_dirty_flag_tab2(i)
			, T1.DIRTY_FLAG3=l_dirty_flag_tab3(i)
			, T1.DIRTY_FLAG4=l_dirty_flag_tab4(i)
			, T1.DIRTY_FLAG5=l_dirty_flag_tab5(i)
			, T1.DIRTY_FLAG6=l_dirty_flag_tab6(i)
		       WHERE T1.object_id = l_object_ids_tab(i)
			 AND T1.object_type = l_object_types_tab(i)
   		        AND process_number = l_Process_Number
		      ;
Line: 2371

	, l_update_date_flag_tab1
	, l_update_date_flag_tab2
	, l_update_date_flag_tab3
	, l_update_date_flag_tab4
	, l_update_date_flag_tab5
	, l_update_date_flag_tab6
	, l_update_requ_flag_tab1
	, l_update_requ_flag_tab2
	, l_update_requ_flag_tab3
	, l_update_requ_flag_tab4
	, l_update_requ_flag_tab5
	, l_update_requ_flag_tab6
	;
Line: 2416

			l_parent_update_required := 'N';
Line: 2475

				SELECT
					MIN(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', start_date1, null), start_date1))
					, MAX(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', finish_date1, null), finish_date1))
					, MAX(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', DECODE(finish_date1,NULL,1,0), 0), 0))
					, MAX(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', 1, 0), 1))
					, MIN(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', start_date2, null), start_date2))
					, MAX(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', finish_date2, null), finish_date2))
					, MAX(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', DECODE(finish_date2,NULL,1,0), 0), 0))
					, MAX(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', 1, 0), 1))
					, MIN(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', start_date3, null), start_date3))
					, MAX(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', finish_date3, null), finish_date3))
					, MAX(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', DECODE(finish_date3,NULL,1,0), 0), 0))
					, MAX(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', 1, 0), 1))
					, MIN(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', start_date4, null), start_date4))
					, MAX(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', finish_date4, null), finish_date4))
					, MAX(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', DECODE(finish_date4,NULL,1,0), 0), 0))
					, MAX(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', 1, 0), 1))
					, MIN(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', start_date5, null), start_date5))
					, MAX(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', finish_date5, null), finish_date5))
					, MAX(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', DECODE(finish_date5,NULL,1,0), 0), 0))
					, MAX(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', 1, 0), 1))
					, MIN(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', start_date6, null), start_date6))
					, MAX(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', finish_date6, null), finish_date6))
					, MAX(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', DECODE(finish_date6,NULL,1,0), 0), 0))
					, MAX(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', 1, 0), 1))
					, MAX(DECODE(OBJECT_TYPE,'PA_TASKS',1,0))
				INTO
					l_new_start_date1
					, l_new_completion_date1
					, l_null_flag1
					, l_task_count1
					, l_new_start_date2
					, l_new_completion_date2
					, l_null_flag2
					, l_task_count2
					, l_new_start_date3
					, l_new_completion_date3
					, l_null_flag3
					, l_task_count3
					, l_new_start_date4
					, l_new_completion_date4
					, l_null_flag4
					, l_task_count4
					, l_new_start_date5
					, l_new_completion_date5
					, l_null_flag5
					, l_task_count5
					, l_new_start_date6
					, l_new_completion_date6
					, l_null_flag6
					, l_task_count6
					, l_task_flag
				FROM PA_PROJ_ROLLUP_BULK_TEMP
				WHERE PROCESS_NUMBER = l_process_number
				AND parent_object_id = l_parent_object_ids_tab(j)
				AND parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
				;
Line: 2533

				SELECT
					MIN(start_date1)
					, MAX(finish_date1)
					, MAX(DECODE(finish_date1,NULL,1,0))
					, MAX(1)
					, MIN(start_date2)
					, MAX(finish_date2)
					, MAX(DECODE(finish_date2,NULL,1,0))
					, MAX(1)
					, MIN(start_date3)
					, MAX(finish_date3)
					, MAX(DECODE(finish_date3,NULL,1,0))
					, MAX(1)
					, MIN(start_date4)
					, MAX(finish_date4)
					, MAX(DECODE(finish_date4,NULL,1,0))
					, MAX(1)
					, MIN(start_date5)
					, MAX(finish_date5)
					, MAX(DECODE(finish_date5,NULL,1,0))
					, MAX(1)
					, MIN(start_date6)
					, MAX(finish_date6)
					, MAX(DECODE(finish_date6,NULL,1,0))
					, MAX(1)
					, MAX(DECODE(OBJECT_TYPE,'PA_TASKS',1,0))
				INTO
					l_new_start_date1
					, l_new_completion_date1
					, l_null_flag1
					, l_task_count1
					, l_new_start_date2
					, l_new_completion_date2
					, l_null_flag2
					, l_task_count2
					, l_new_start_date3
					, l_new_completion_date3
					, l_null_flag3
					, l_task_count3
					, l_new_start_date4
					, l_new_completion_date4
					, l_null_flag4
					, l_task_count4
					, l_new_start_date5
					, l_new_completion_date5
					, l_null_flag5
					, l_task_count5
					, l_new_start_date6
					, l_new_completion_date6
					, l_null_flag6
					, l_task_count6
					, l_task_flag
				FROM PA_PROJ_ROLLUP_BULK_TEMP
				WHERE PROCESS_NUMBER = l_process_number
				AND parent_object_id = l_parent_object_ids_tab(j)
				AND parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
				;
Line: 2611

			l_update_requ_flag_tab1(j) := 'N';
Line: 2615

					l_update_requ_flag_tab1(j) := 'N';
Line: 2617

					l_parent_update_required := 'Y';
Line: 2618

					l_update_requ_flag_tab1(j) := 'Y';
Line: 2622

							l_update_date_flag_tab1(j) := 'N';
Line: 2624

							l_update_date_flag_tab1(j) := 'Y';
Line: 2630

							l_update_date_flag_tab1(j) := 'N';
Line: 2632

							l_update_date_flag_tab1(j) := 'Y';
Line: 2638

							l_update_date_flag_tab1(j) := 'Y';
Line: 2640

							l_update_date_flag_tab1(j) := 'Y';
Line: 2647

					l_update_requ_flag_tab1(j) := 'N';
Line: 2649

					l_parent_update_required := 'Y';
Line: 2650

					l_update_requ_flag_tab1(j) := 'Y';
Line: 2665

						l_update_date_flag_tab1(j) :='Y';
Line: 2668

							l_update_date_flag_tab1(j) :='N';
Line: 2670

							l_update_date_flag_tab1(j) :='Y';
Line: 2677

			l_update_requ_flag_tab2(j) := 'N';
Line: 2681

					l_update_requ_flag_tab2(j) := 'N';
Line: 2683

					l_parent_update_required := 'Y';
Line: 2684

					l_update_requ_flag_tab2(j) := 'Y';
Line: 2688

							l_update_date_flag_tab2(j) := 'N';
Line: 2690

							l_update_date_flag_tab2(j) := 'Y';
Line: 2696

							l_update_date_flag_tab2(j) := 'N';
Line: 2698

							l_update_date_flag_tab2(j) := 'Y';
Line: 2704

							l_update_date_flag_tab2(j) := 'Y';
Line: 2706

							l_update_date_flag_tab2(j) := 'Y';
Line: 2713

					l_update_requ_flag_tab2(j) := 'N';
Line: 2715

					l_parent_update_required := 'Y';
Line: 2716

					l_update_requ_flag_tab2(j) := 'Y';
Line: 2731

						l_update_date_flag_tab2(j) :='Y';
Line: 2734

							l_update_date_flag_tab2(j) :='N';
Line: 2736

							l_update_date_flag_tab2(j) :='Y';
Line: 2743

			l_update_requ_flag_tab3(j) := 'N';
Line: 2747

					l_update_requ_flag_tab3(j) := 'N';
Line: 2749

					l_parent_update_required := 'Y';
Line: 2750

					l_update_requ_flag_tab3(j) := 'Y';
Line: 2754

							l_update_date_flag_tab3(j) := 'N';
Line: 2756

							l_update_date_flag_tab3(j) := 'Y';
Line: 2762

							l_update_date_flag_tab3(j) := 'N';
Line: 2764

							l_update_date_flag_tab3(j) := 'Y';
Line: 2770

							l_update_date_flag_tab3(j) := 'Y';
Line: 2772

							l_update_date_flag_tab3(j) := 'Y';
Line: 2779

					l_update_requ_flag_tab3(j) := 'N';
Line: 2781

					l_parent_update_required := 'Y';
Line: 2782

					l_update_requ_flag_tab3(j) := 'Y';
Line: 2797

						l_update_date_flag_tab3(j) :='Y';
Line: 2800

							l_update_date_flag_tab3(j) :='N';
Line: 2802

							l_update_date_flag_tab3(j) :='Y';
Line: 2809

			l_update_requ_flag_tab4(j) := 'N';
Line: 2813

					l_update_requ_flag_tab4(j) := 'N';
Line: 2815

					l_parent_update_required := 'Y';
Line: 2816

					l_update_requ_flag_tab4(j) := 'Y';
Line: 2820

							l_update_date_flag_tab4(j) := 'N';
Line: 2822

							l_update_date_flag_tab4(j) := 'Y';
Line: 2828

							l_update_date_flag_tab4(j) := 'N';
Line: 2830

							l_update_date_flag_tab4(j) := 'Y';
Line: 2836

							l_update_date_flag_tab4(j) := 'Y';
Line: 2838

							l_update_date_flag_tab4(j) := 'Y';
Line: 2845

					l_update_requ_flag_tab4(j) := 'N';
Line: 2847

					l_parent_update_required := 'Y';
Line: 2848

					l_update_requ_flag_tab4(j) := 'Y';
Line: 2863

						l_update_date_flag_tab4(j) :='Y';
Line: 2866

							l_update_date_flag_tab4(j) :='N';
Line: 2868

							l_update_date_flag_tab4(j) :='Y';
Line: 2875

			l_update_requ_flag_tab5(j) := 'N';
Line: 2879

					l_update_requ_flag_tab5(j) := 'N';
Line: 2881

					l_parent_update_required := 'Y';
Line: 2882

					l_update_requ_flag_tab5(j) := 'Y';
Line: 2886

							l_update_date_flag_tab5(j) := 'N';
Line: 2888

							l_update_date_flag_tab5(j) := 'Y';
Line: 2894

							l_update_date_flag_tab5(j) := 'N';
Line: 2896

							l_update_date_flag_tab5(j) := 'Y';
Line: 2902

							l_update_date_flag_tab5(j) := 'Y';
Line: 2904

							l_update_date_flag_tab5(j) := 'Y';
Line: 2911

					l_update_requ_flag_tab5(j) := 'N';
Line: 2913

					l_parent_update_required := 'Y';
Line: 2914

					l_update_requ_flag_tab5(j) := 'Y';
Line: 2929

						l_update_date_flag_tab5(j) :='Y';
Line: 2932

							l_update_date_flag_tab5(j) :='N';
Line: 2934

							l_update_date_flag_tab5(j) :='Y';
Line: 2941

			l_update_requ_flag_tab6(j) := 'N';
Line: 2945

					l_update_requ_flag_tab6(j) := 'N';
Line: 2947

					l_parent_update_required := 'Y';
Line: 2948

					l_update_requ_flag_tab6(j) := 'Y';
Line: 2952

							l_update_date_flag_tab6(j) := 'N';
Line: 2954

							l_update_date_flag_tab6(j) := 'Y';
Line: 2960

							l_update_date_flag_tab6(j) := 'N';
Line: 2962

							l_update_date_flag_tab6(j) := 'Y';
Line: 2968

							l_update_date_flag_tab6(j) := 'Y';
Line: 2970

							l_update_date_flag_tab6(j) := 'Y';
Line: 2977

					l_update_requ_flag_tab6(j) := 'N';
Line: 2979

					l_parent_update_required := 'Y';
Line: 2980

					l_update_requ_flag_tab6(j) := 'Y';
Line: 2995

						l_update_date_flag_tab6(j) :='Y';
Line: 2998

							l_update_date_flag_tab6(j) :='N';
Line: 3000

							l_update_date_flag_tab6(j) :='Y';
Line: 3008

	IF (l_update_requ_flag_tab1(j) = 'Y') THEN
	   IF (l_update_date_flag_tab1(j) = 'Y') THEN
	      l_parent_start_date1_tmp  := l_parent_start_date_tab1(j);
Line: 3017

	IF (l_update_requ_flag_tab2(j) = 'Y') THEN
	   IF (l_update_date_flag_tab2(j) = 'Y') THEN
	      l_parent_start_date2_tmp  := l_parent_start_date_tab2(j);
Line: 3026

	IF (l_update_requ_flag_tab3(j) = 'Y') THEN
	   IF (l_update_date_flag_tab3(j) = 'Y') THEN
	      l_parent_start_date3_tmp  := l_parent_start_date_tab3(j);
Line: 3035

	IF (l_update_requ_flag_tab4(j) = 'Y') THEN
	   IF (l_update_date_flag_tab4(j) = 'Y') THEN
	      l_parent_start_date4_tmp  := l_parent_start_date_tab4(j);
Line: 3044

	IF (l_update_requ_flag_tab5(j) = 'Y') THEN
	   IF (l_update_date_flag_tab5(j) = 'Y') THEN
	      l_parent_start_date5_tmp  := l_parent_start_date_tab5(j);
Line: 3053

	IF (l_update_requ_flag_tab6(j) = 'Y') THEN
	   IF (l_update_date_flag_tab6(j) = 'Y') THEN
	      l_parent_start_date6_tmp  := l_parent_start_date_tab6(j);
Line: 3064

		IF l_parent_update_required = 'Y' THEN
		/* Commented the following update statement and introduced a new one for bug#6185523
			UPDATE  + INDEX( SchTmp PA_PROJ_ROLLUP_BULK_TEMP_U1)   PA_PROJ_ROLLUP_BULK_TEMP SchTmp SET
			start_date1  = decode(l_update_requ_flag_tab1(j), 'Y', decode(l_update_date_flag_tab1(j), 'Y', l_parent_start_date_tab1(j), start_date1), start_date1)
			, finish_date1 = decode(l_update_requ_flag_tab1(j), 'Y', decode(l_update_date_flag_tab1(j), 'Y', l_parent_finish_date_tab1(j),finish_date1),finish_date1)
			, duration1    = decode(l_update_requ_flag_tab1(j), 'Y', decode(l_update_date_flag_tab1(j), 'Y', l_parent_duration_tab1(j), duration1), duration1)
			, start_date2  = decode(l_update_requ_flag_tab2(j), 'Y', decode(l_update_date_flag_tab2(j), 'Y', l_parent_start_date_tab2(j), start_date2), start_date2)
			, finish_date2 = decode(l_update_requ_flag_tab2(j), 'Y', decode(l_update_date_flag_tab2(j), 'Y', l_parent_finish_date_tab2(j), finish_date2), finish_date2)
			, duration2    = decode(l_update_requ_flag_tab2(j), 'Y', decode(l_update_date_flag_tab2(j), 'Y', l_parent_duration_tab2(j), duration2), duration2)
			, start_date3  = decode(l_update_requ_flag_tab3(j), 'Y', decode(l_update_date_flag_tab3(j), 'Y', l_parent_start_date_tab3(j), start_date3), start_date3)
			, finish_date3 = decode(l_update_requ_flag_tab3(j), 'Y', decode(l_update_date_flag_tab3(j), 'Y', l_parent_finish_date_tab3(j), finish_date3), finish_date3)
			, duration3    = decode(l_update_requ_flag_tab3(j), 'Y', decode(l_update_date_flag_tab3(j), 'Y', l_parent_duration_tab3(j), duration3), duration3)
			, start_date4  = decode(l_update_requ_flag_tab4(j), 'Y', decode(l_update_date_flag_tab4(j), 'Y', l_parent_start_date_tab4(j), start_date4), start_date4)
			, finish_date4 = decode(l_update_requ_flag_tab4(j), 'Y', decode(l_update_date_flag_tab4(j), 'Y', l_parent_finish_date_tab4(j), finish_date4), finish_date4)
			, duration4    = decode(l_update_requ_flag_tab4(j), 'Y', decode(l_update_date_flag_tab4(j), 'Y', l_parent_duration_tab4(j), duration4), duration4)
			, start_date5  = decode(l_update_requ_flag_tab5(j), 'Y', decode(l_update_date_flag_tab5(j), 'Y', l_parent_start_date_tab5(j), start_date5), start_date5)
			, finish_date5 = decode(l_update_requ_flag_tab5(j), 'Y', decode(l_update_date_flag_tab5(j), 'Y', l_parent_finish_date_tab5(j), finish_date5), finish_date5)
			, duration5    = decode(l_update_requ_flag_tab5(j), 'Y', decode(l_update_date_flag_tab5(j), 'Y', l_parent_duration_tab5(j), duration5), duration5)
			, start_date6  = decode(l_update_requ_flag_tab6(j), 'Y', decode(l_update_date_flag_tab6(j), 'Y', l_parent_start_date_tab6(j), start_date6), start_date6)
			, finish_date6 = decode(l_update_requ_flag_tab6(j), 'Y', decode(l_update_date_flag_tab6(j), 'Y', l_parent_finish_date_tab6(j), finish_date6), finish_date6)
			, duration6    = decode(l_update_requ_flag_tab6(j), 'Y', decode(l_update_date_flag_tab6(j), 'Y', l_parent_duration_tab6(j), duration6), duration6)
			, dirty_flag1  = decode(l_update_requ_flag_tab1(j), 'Y', 'N',dirty_flag1)
			, dirty_flag2  = decode(l_update_requ_flag_tab2(j), 'Y', 'N',dirty_flag2)
			, dirty_flag3  = decode(l_update_requ_flag_tab3(j), 'Y', 'N',dirty_flag3)
			, dirty_flag4  = decode(l_update_requ_flag_tab4(j), 'Y', 'N',dirty_flag4)
			, dirty_flag5  = decode(l_update_requ_flag_tab5(j), 'Y', 'N',dirty_flag5)
			, dirty_flag6  = decode(l_update_requ_flag_tab6(j), 'Y', 'N',dirty_flag6)
			WHERE object_id = l_parent_object_ids_tab(j)
			AND object_type = l_parent_object_types_tab(j)
			and process_number = l_process_number;
Line: 3094

			Ends commented code for bug#6185523 And added the below update*/

			UPDATE  /*+ INDEX( SchTmp PA_PROJ_ROLLUP_BULK_TEMP_U1) */  PA_PROJ_ROLLUP_BULK_TEMP SchTmp SET
			  start_date1  = nvl(l_parent_start_date1_tmp, start_date1)
			, finish_date1 = nvl(l_parent_finish_date1_tmp, finish_date1)
			, duration1    = nvl(l_parent_duration1_tmp, duration1)
			, start_date2  = nvl(l_parent_start_date2_tmp, start_date2)
			, finish_date2 = nvl(l_parent_finish_date2_tmp, finish_date2)
			, duration2    = nvl(l_parent_duration2_tmp, duration2)
			, start_date3  = nvl(l_parent_start_date3_tmp, start_date3)
			, finish_date3 = nvl(l_parent_finish_date3_tmp, finish_date3)
			, duration3    = nvl(l_parent_duration3_tmp, duration3)
			, start_date4  = nvl(l_parent_start_date4_tmp, start_date4)
			, finish_date4 = nvl(l_parent_finish_date4_tmp, finish_date4)
			, duration4    = nvl(l_parent_duration4_tmp, duration4)
			, start_date5  = nvl(l_parent_start_date5_tmp, start_date5)
			, finish_date5 = nvl(l_parent_finish_date5_tmp, finish_date5)
			, duration5    = nvl(l_parent_duration5_tmp, duration5)
			, start_date6  = nvl(l_parent_start_date6_tmp, start_date6)
			, finish_date6 = nvl(l_parent_finish_date6_tmp, finish_date6)
			, duration6    = nvl(l_parent_duration6_tmp, duration6)
			, dirty_flag1  = nvl(dirty_flag1_tmp, dirty_flag1)
			, dirty_flag2  = nvl(dirty_flag2_tmp, dirty_flag2)
			, dirty_flag3  = nvl(dirty_flag3_tmp, dirty_flag3)
			, dirty_flag4  = nvl(dirty_flag4_tmp, dirty_flag4)
			, dirty_flag5  = nvl(dirty_flag5_tmp, dirty_flag5)
			, dirty_flag6  = nvl(dirty_flag6_tmp, dirty_flag6)
			WHERE object_id = l_parent_object_ids_tab(j)
			AND object_type = l_parent_object_types_tab(j)
			and process_number = l_process_number;
Line: 3139

		l_child_update_required := 'N';
Line: 3182

			l_child_update_required := 'N';
Line: 3192

					l_child_update_required := 'Y';
Line: 3202

					l_child_update_required := 'Y';
Line: 3212

					l_child_update_required := 'Y';
Line: 3227

					l_child_update_required := 'Y';
Line: 3237

					l_child_update_required := 'Y';
Line: 3247

					l_child_update_required := 'Y';
Line: 3262

					l_child_update_required := 'Y';
Line: 3272

					l_child_update_required := 'Y';
Line: 3282

					l_child_update_required := 'Y';
Line: 3297

					l_child_update_required := 'Y';
Line: 3307

					l_child_update_required := 'Y';
Line: 3317

					l_child_update_required := 'Y';
Line: 3332

					l_child_update_required := 'Y';
Line: 3342

					l_child_update_required := 'Y';
Line: 3352

					l_child_update_required := 'Y';
Line: 3367

					l_child_update_required := 'Y';
Line: 3377

					l_child_update_required := 'Y';
Line: 3387

					l_child_update_required := 'Y';
Line: 3399

		IF l_child_update_required = 'Y' THEN
			FORALL i in 1..l_child_object_ids_tab.count
			     UPDATE PA_PROJ_ROLLUP_BULK_TEMP T1
				SET    T1.start_date1=decode(l_child_upd_req_flag_tab1(i), 'Y', l_child_start_date_tab1(i), T1.start_date1)
				, T1.start_date2=decode(l_child_upd_req_flag_tab2(i), 'Y', l_child_start_date_tab2(i), T1.start_date2)
				, T1.start_date3=decode(l_child_upd_req_flag_tab3(i), 'Y', l_child_start_date_tab3(i), T1.start_date3)
				, T1.start_date4=decode(l_child_upd_req_flag_tab4(i), 'Y', l_child_start_date_tab4(i), T1.start_date4)
				, T1.start_date5=decode(l_child_upd_req_flag_tab5(i), 'Y', l_child_start_date_tab5(i), T1.start_date5)
				, T1.start_date6=decode(l_child_upd_req_flag_tab6(i), 'Y', l_child_start_date_tab6(i), T1.start_date6)
				, T1.finish_date1=decode(l_child_upd_req_flag_tab1(i), 'Y', l_child_finish_date_tab1(i), T1.finish_date1)
				, T1.finish_date2=decode(l_child_upd_req_flag_tab2(i), 'Y', l_child_finish_date_tab2(i), T1.finish_date2)
				, T1.finish_date3=decode(l_child_upd_req_flag_tab3(i), 'Y', l_child_finish_date_tab3(i), T1.finish_date3)
				, T1.finish_date4=decode(l_child_upd_req_flag_tab4(i), 'Y', l_child_finish_date_tab4(i), T1.finish_date4)
				, T1.finish_date5=decode(l_child_upd_req_flag_tab5(i), 'Y', l_child_finish_date_tab5(i), T1.finish_date5)
				, T1.finish_date6=decode(l_child_upd_req_flag_tab6(i), 'Y', l_child_finish_date_tab6(i), T1.finish_date6)
				, T1.duration1=decode(l_child_upd_req_flag_tab1(i), 'Y', l_child_duration_tab1(i), T1.duration1)
				, T1.duration2=decode(l_child_upd_req_flag_tab2(i), 'Y', l_child_duration_tab2(i), T1.duration2)
				, T1.duration3=decode(l_child_upd_req_flag_tab3(i), 'Y', l_child_duration_tab3(i), T1.duration3)
				, T1.duration4=decode(l_child_upd_req_flag_tab4(i), 'Y', l_child_duration_tab4(i), T1.duration4)
				, T1.duration5=decode(l_child_upd_req_flag_tab5(i), 'Y', l_child_duration_tab5(i), T1.duration5)
				, T1.duration6=decode(l_child_upd_req_flag_tab6(i), 'Y', l_child_duration_tab6(i), T1.duration6)
				, T1.DIRTY_FLAG1=decode(l_child_upd_req_flag_tab1(i), 'Y', 'N', T1.DIRTY_FLAG1)
				, T1.DIRTY_FLAG2=decode(l_child_upd_req_flag_tab2(i), 'Y', 'N', T1.DIRTY_FLAG2)
				, T1.DIRTY_FLAG3=decode(l_child_upd_req_flag_tab3(i), 'Y', 'N', T1.DIRTY_FLAG3)
				, T1.DIRTY_FLAG4=decode(l_child_upd_req_flag_tab4(i), 'Y', 'N', T1.DIRTY_FLAG4)
				, T1.DIRTY_FLAG5=decode(l_child_upd_req_flag_tab5(i), 'Y', 'N', T1.DIRTY_FLAG5)
				, T1.DIRTY_FLAG6=decode(l_child_upd_req_flag_tab6(i), 'Y', 'N', T1.DIRTY_FLAG6)
			       WHERE T1.object_id = l_child_object_ids_tab(i)
				 AND T1.object_type = l_child_object_types_tab(i)
				AND process_number = l_Process_Number;
Line: 3431

		l_object_ids_tab.delete;
Line: 3432

		l_object_types_tab.delete;
Line: 3435

			l_parent_object_ids_tab.delete;
Line: 3436

			l_parent_object_types_tab.delete;
Line: 3437

			l_parent_start_date_tab1.delete;
Line: 3438

			l_parent_start_date_tab2.delete;
Line: 3439

			l_parent_start_date_tab3.delete;
Line: 3440

			l_parent_start_date_tab4.delete;
Line: 3441

			l_parent_start_date_tab5.delete;
Line: 3442

			l_parent_start_date_tab6.delete;
Line: 3443

			l_parent_finish_date_tab1.delete;
Line: 3444

			l_parent_finish_date_tab2.delete;
Line: 3445

			l_parent_finish_date_tab3.delete;
Line: 3446

			l_parent_finish_date_tab4.delete;
Line: 3447

			l_parent_finish_date_tab5.delete;
Line: 3448

			l_parent_finish_date_tab6.delete;
Line: 3449

			l_parent_duration_tab1.delete;
Line: 3450

			l_parent_duration_tab2.delete;
Line: 3451

			l_parent_duration_tab3.delete;
Line: 3452

			l_parent_duration_tab4.delete;
Line: 3453

			l_parent_duration_tab5.delete;
Line: 3454

			l_parent_duration_tab6.delete;
Line: 3455

			l_parent_dirty_flag_tab1.delete;
Line: 3456

			l_parent_dirty_flag_tab2.delete;
Line: 3457

			l_parent_dirty_flag_tab3.delete;
Line: 3458

			l_parent_dirty_flag_tab4.delete;
Line: 3459

			l_parent_dirty_flag_tab5.delete;
Line: 3460

			l_parent_dirty_flag_tab6.delete;
Line: 3461

			l_parent_start_date_or_tab1.delete;
Line: 3462

			l_parent_start_date_or_tab2.delete;
Line: 3463

			l_parent_start_date_or_tab3.delete;
Line: 3464

                        l_parent_start_date_or_tab4.delete;
Line: 3465

			l_parent_start_date_or_tab5.delete;
Line: 3466

			l_parent_start_date_or_tab6.delete;
Line: 3505

			-- We have two approached to update dates at parent level
			-- 1. Do FORALL Bulk Update. But this will require to do Connect BY at each node to drill down all its child, grand child ...
			-- Currently it is just looking its childs and not grand ones
			-- 2. Update at each node level in database and do not do bulk update.
			-- Currently implementing this approach as it seems more performant.

			For j IN 1..l_parent_object_ids_tab.count LOOP
				BEGIN
					l_count1 := 1;
Line: 3520

					SELECT MAX(decode(p_partial_dates_flag1, 'Y',decode(rollup_node1, 'Y', decode(dirty_flag1,'Y',1,0), 0),decode(dirty_flag1,'Y',1,0)))
					, MAX(decode(p_partial_dates_flag2, 'Y',decode(rollup_node2, 'Y', decode(dirty_flag2,'Y',1,0), 0),decode(dirty_flag2,'Y',1,0)))
					, MAX(decode(p_partial_dates_flag3, 'Y',decode(rollup_node3, 'Y', decode(dirty_flag3,'Y',1,0), 0),decode(dirty_flag3,'Y',1,0)))
					, MAX(decode(p_partial_dates_flag4, 'Y',decode(rollup_node4, 'Y', decode(dirty_flag4,'Y',1,0), 0),decode(dirty_flag4,'Y',1,0)))
					, MAX(decode(p_partial_dates_flag5, 'Y',decode(rollup_node5, 'Y', decode(dirty_flag5,'Y',1,0), 0),decode(dirty_flag5,'Y',1,0)))
					, MAX(decode(p_partial_dates_flag6, 'Y',decode(rollup_node6, 'Y', decode(dirty_flag6,'Y',1,0), 0),decode(dirty_flag6,'Y',1,0)))
					INTO l_count1, l_count2, l_count3, l_count4, l_count5, l_count6
					FROM PA_PROJ_ROLLUP_BULK_TEMP
					WHERE PROCESS_NUMBER = l_process_number
					AND parent_object_id = l_parent_object_ids_tab(j)
					AND (DIRTY_FLAG1 = 'Y' OR DIRTY_FLAG2 = 'Y'  OR DIRTY_FLAG3 = 'Y'
						OR DIRTY_FLAG4 = 'Y' OR DIRTY_FLAG5 = 'Y' OR DIRTY_FLAG6 = 'Y')
						;
Line: 3569

					-- This is kept as it is so in future if want to move to FOR ALL BULK UPDATE

					l_object_ids_tab.extend(1);
Line: 3573

					l_update_date_flag_tab1.extend(1);
Line: 3574

					l_update_date_flag_tab2.extend(1);
Line: 3575

					l_update_date_flag_tab3.extend(1);
Line: 3576

					l_update_date_flag_tab4.extend(1);
Line: 3577

					l_update_date_flag_tab5.extend(1);
Line: 3578

					l_update_date_flag_tab6.extend(1);
Line: 3597

					l_update_requ_flag_tab1.extend(1);
Line: 3598

					l_update_requ_flag_tab2.extend(1);
Line: 3599

					l_update_requ_flag_tab3.extend(1);
Line: 3600

					l_update_requ_flag_tab4.extend(1);
Line: 3601

					l_update_requ_flag_tab5.extend(1);
Line: 3602

					l_update_requ_flag_tab6.extend(1);
Line: 3624

					l_parent_update_required := 'N';
Line: 3641

						SELECT
							MIN(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', start_date1, null), start_date1))
							, MAX(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', finish_date1, null), finish_date1))
							, MAX(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', DECODE(finish_date1,NULL,1,0), 0), 0))
							, MAX(decode(p_partial_dates_flag1, 'Y', decode(rollup_node1, 'Y', 1, 0), 1))
							, MIN(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', start_date2, null), null))
							, MAX(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', finish_date2, null), null))
							, MAX(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', DECODE(finish_date2,NULL,1,0), 0), 0))
							, MAX(decode(p_partial_dates_flag2, 'Y', decode(rollup_node2, 'Y', 1, 0), 1))
							, MIN(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', start_date3, null), null))
							, MAX(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', finish_date3, null), null))
							, MAX(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', DECODE(finish_date3,NULL,1,0), 0), 0))
							, MAX(decode(p_partial_dates_flag3, 'Y', decode(rollup_node3, 'Y', 1, 0), 1))
							, MIN(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', start_date4, null), null))
							, MAX(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', finish_date4, null), null))
							, MAX(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', DECODE(finish_date4,NULL,1,0), 0), 0))
							, MAX(decode(p_partial_dates_flag4, 'Y', decode(rollup_node4, 'Y', 1, 0), 1))
							, MIN(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', start_date5, null), null))
							, MAX(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', finish_date5, null), null))
							, MAX(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', DECODE(finish_date5,NULL,1,0), 0), 0))
							, MAX(decode(p_partial_dates_flag5, 'Y', decode(rollup_node5, 'Y', 1, 0), 1))
							, MIN(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', start_date6, null), null))
							, MAX(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', finish_date6, null), null))
							, MAX(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', DECODE(finish_date6,NULL,1,0), 0), 0))
							, MAX(decode(p_partial_dates_flag6, 'Y', decode(rollup_node6, 'Y', 1, 0), 1))
							, MAX(DECODE(OBJECT_TYPE,'PA_TASKS',1,0))

						INTO
							l_new_start_date1(l_counter)
							, l_new_completion_date1(l_counter)
							, l_null_flag1
							, l_task_count1
							, l_new_start_date2(l_counter)
							, l_new_completion_date2(l_counter)
							, l_null_flag2
							, l_task_count2
							, l_new_start_date3(l_counter)
							, l_new_completion_date3(l_counter)
							, l_null_flag3
							, l_task_count3
							, l_new_start_date4(l_counter)
							, l_new_completion_date4(l_counter)
							, l_null_flag4
							, l_task_count4
							, l_new_start_date5(l_counter)
							, l_new_completion_date5(l_counter)
							, l_null_flag5
							, l_task_count5
							, l_new_start_date6(l_counter)
							, l_new_completion_date6(l_counter)
							, l_null_flag6
							, l_task_count6
							, l_task_flag
						FROM PA_PROJ_ROLLUP_BULK_TEMP
						WHERE PROCESS_NUMBER = l_process_number
						AND parent_object_id = l_parent_object_ids_tab(j);
Line: 3710

					l_update_requ_flag_tab1(l_counter) := 'N';
Line: 3724

						l_update_date_flag_tab1(l_counter) :='Y';
Line: 3727

							l_update_date_flag_tab1(l_counter) :='N';
Line: 3729

							l_update_date_flag_tab1(l_counter) :='Y';
Line: 3734

						l_update_requ_flag_tab1(l_counter) := 'N';
Line: 3736

						l_update_requ_flag_tab1(l_counter) := 'Y';
Line: 3737

						l_parent_update_required := 'Y';
Line: 3741

					l_update_requ_flag_tab2(l_counter) := 'N';
Line: 3755

						l_update_date_flag_tab2(l_counter) :='Y';
Line: 3758

							l_update_date_flag_tab2(l_counter) :='N';
Line: 3760

							l_update_date_flag_tab2(l_counter) :='Y';
Line: 3765

						l_update_requ_flag_tab2(l_counter) := 'N';
Line: 3767

						l_update_requ_flag_tab2(l_counter) := 'Y';
Line: 3768

						l_parent_update_required := 'Y';
Line: 3772

					l_update_requ_flag_tab3(l_counter) := 'N';
Line: 3786

						l_update_date_flag_tab3(l_counter) :='Y';
Line: 3789

							l_update_date_flag_tab3(l_counter) :='N';
Line: 3791

							l_update_date_flag_tab3(l_counter) :='Y';
Line: 3796

						l_update_requ_flag_tab3(l_counter) := 'N';
Line: 3798

						l_update_requ_flag_tab3(l_counter) := 'Y';
Line: 3799

						l_parent_update_required := 'Y';
Line: 3803

					l_update_requ_flag_tab4(l_counter) := 'N';
Line: 3817

						l_update_date_flag_tab4(l_counter) :='Y';
Line: 3820

							l_update_date_flag_tab4(l_counter) :='N';
Line: 3822

							l_update_date_flag_tab4(l_counter) :='Y';
Line: 3827

						l_update_requ_flag_tab4(l_counter) := 'N';
Line: 3829

						l_update_requ_flag_tab4(l_counter) := 'Y';
Line: 3830

						l_parent_update_required := 'Y';
Line: 3834

					l_update_requ_flag_tab5(l_counter) := 'N';
Line: 3848

						l_update_date_flag_tab5(l_counter) :='Y';
Line: 3851

							l_update_date_flag_tab5(l_counter) :='N';
Line: 3853

							l_update_date_flag_tab5(l_counter) :='Y';
Line: 3858

						l_update_requ_flag_tab5(l_counter) := 'N';
Line: 3860

						l_update_requ_flag_tab5(l_counter) := 'Y';
Line: 3861

						l_parent_update_required := 'Y';
Line: 3865

					l_update_requ_flag_tab6(l_counter) := 'N';
Line: 3879

						l_update_date_flag_tab6(l_counter) :='Y';
Line: 3882

							l_update_date_flag_tab6(l_counter) :='N';
Line: 3884

							l_update_date_flag_tab6(l_counter) :='Y';
Line: 3889

						l_update_requ_flag_tab6(l_counter) := 'N';
Line: 3891

						l_update_requ_flag_tab6(l_counter) := 'Y';
Line: 3892

						l_parent_update_required := 'Y';
Line: 3895

				-- We have two approached to update dates at parent level
				-- 1. Do FORALL Bulk Update. But this will require to do Connect BY at each node to drill down all its child, grand child ...
				-- Currently it is just looking its childs and not grand ones
				-- 2. Update at each node level in database and do not do bulk update.
				-- Currently implementing this approach as it seems more performant.

				IF l_parent_update_required = 'Y' THEN
					UPDATE PA_PROJ_ROLLUP_BULK_TEMP SET
					start_date1  = decode(l_update_requ_flag_tab1(l_counter), 'Y', decode(l_update_date_flag_tab1(l_counter), 'Y', l_new_start_date1(l_counter), start_date1),start_date1)
					, finish_date1 = decode(l_update_requ_flag_tab1(l_counter), 'Y', decode(l_update_date_flag_tab1(l_counter), 'Y', l_new_completion_date1(l_counter),finish_date1),finish_date1)
					, duration1    = decode(l_update_requ_flag_tab1(l_counter), 'Y', decode(l_update_date_flag_tab1(l_counter), 'Y', l_new_duration1(l_counter), duration1), duration1)
					, start_date2  = decode(l_update_requ_flag_tab2(l_counter), 'Y', decode(l_update_date_flag_tab2(l_counter), 'Y', l_new_start_date2(l_counter), start_date2), start_date2)
					, finish_date2 = decode(l_update_requ_flag_tab2(l_counter), 'Y', decode(l_update_date_flag_tab2(l_counter), 'Y', l_new_completion_date2(l_counter), finish_date2), finish_date2)
					, duration2    = decode(l_update_requ_flag_tab2(l_counter), 'Y', decode(l_update_date_flag_tab2(l_counter), 'Y', l_new_duration2(l_counter), duration2), duration2)
					, start_date3  = decode(l_update_requ_flag_tab3(l_counter), 'Y', decode(l_update_date_flag_tab3(l_counter), 'Y', l_new_start_date3(l_counter), start_date3), start_date3)
					, finish_date3 = decode(l_update_requ_flag_tab3(l_counter), 'Y', decode(l_update_date_flag_tab3(l_counter), 'Y', l_new_completion_date3(l_counter), finish_date3), finish_date3)
					, duration3    = decode(l_update_requ_flag_tab3(l_counter), 'Y', decode(l_update_date_flag_tab3(l_counter), 'Y', l_new_duration3(l_counter), duration3), duration3)
					, start_date4  = decode(l_update_requ_flag_tab4(l_counter), 'Y', decode(l_update_date_flag_tab4(l_counter), 'Y', l_new_start_date4(l_counter), start_date4), start_date4)
					, finish_date4 = decode(l_update_requ_flag_tab4(l_counter), 'Y', decode(l_update_date_flag_tab4(l_counter), 'Y', l_new_completion_date4(l_counter), finish_date4), finish_date4)
					, duration4    = decode(l_update_requ_flag_tab4(l_counter), 'Y', decode(l_update_date_flag_tab4(l_counter), 'Y', l_new_duration4(l_counter), duration4), duration4)
					, start_date5  = decode(l_update_requ_flag_tab5(l_counter), 'Y', decode(l_update_date_flag_tab5(l_counter), 'Y', l_new_start_date5(l_counter), start_date5), start_date5)
					, finish_date5 = decode(l_update_requ_flag_tab5(l_counter), 'Y', decode(l_update_date_flag_tab5(l_counter), 'Y', l_new_completion_date5(l_counter), finish_date5), finish_date5)
					, duration5    = decode(l_update_requ_flag_tab5(l_counter), 'Y', decode(l_update_date_flag_tab5(l_counter), 'Y', l_new_duration5(l_counter), duration5), duration5)
					, start_date6  = decode(l_update_requ_flag_tab6(l_counter), 'Y', decode(l_update_date_flag_tab6(l_counter), 'Y', l_new_start_date6(l_counter), start_date6), start_date6)
					, finish_date6 = decode(l_update_requ_flag_tab6(l_counter), 'Y', decode(l_update_date_flag_tab6(l_counter), 'Y', l_new_completion_date6(l_counter), finish_date6), finish_date6)
					, duration6    = decode(l_update_requ_flag_tab6(l_counter), 'Y', decode(l_update_date_flag_tab6(l_counter), 'Y', l_new_duration6(l_counter), duration6), duration6)
					, dirty_flag1  = decode(l_update_requ_flag_tab1(l_counter), 'Y', 'N', dirty_flag1)
					, dirty_flag2  = decode(l_update_requ_flag_tab2(l_counter), 'Y', 'N', dirty_flag2)
					, dirty_flag3  = decode(l_update_requ_flag_tab3(l_counter), 'Y', 'N', dirty_flag3)
					, dirty_flag4  = decode(l_update_requ_flag_tab4(l_counter), 'Y', 'N', dirty_flag4)
					, dirty_flag5  = decode(l_update_requ_flag_tab5(l_counter), 'Y', 'N', dirty_flag5)
					, dirty_flag6  = decode(l_update_requ_flag_tab6(l_counter), 'Y', 'N', dirty_flag6)
					WHERE object_id = l_object_ids_tab(l_counter)
					AND object_type = l_object_types_tab(l_counter)
					and process_number = l_process_number;
Line: 3934

		-- We have two approached to update dates at parent level
		-- 1. Do FORALL Bulk Update. But this will require to do Connect BY at each node to drill down all its child, grand child ...
		-- Currently it is just looking its childs and not grand ones
		-- 2. Update at each node level in database and do not do bulk update.
		-- Currently implementing this approach as it seems more performant.
		/* Do not remove
		IF l_parent_update_required = 'Y' THEN
                FORALL k in 1..l_object_ids_tab.count
			UPDATE PA_PROJ_ROLLUP_BULK_TEMP SET
			start_date1  = decode(l_update_requ_flag_tab1(k), 'Y', decode(l_update_date_flag_tab1(k), 'Y', l_new_start_date1(k), start_date1),start_date1)
			, finish_date1 = decode(l_update_requ_flag_tab1(k), 'Y', decode(l_update_date_flag_tab1(k), 'Y', l_new_completion_date1(k),finish_date1),finish_date1)
			, duration1    = decode(l_update_requ_flag_tab1(k), 'Y', decode(l_update_date_flag_tab1(k), 'Y', l_new_duration1(k), duration1), duration1)
			, start_date2  = decode(l_update_requ_flag_tab2(k), 'Y', decode(l_update_date_flag_tab2(k), 'Y', l_new_start_date2(k), start_date2), start_date2)
			, finish_date2 = decode(l_update_requ_flag_tab2(k), 'Y', decode(l_update_date_flag_tab2(k), 'Y', l_new_completion_date2(k), finish_date2), finish_date2)
			, duration2    = decode(l_update_requ_flag_tab2(k), 'Y', decode(l_update_date_flag_tab2(k), 'Y', l_new_duration2(k), duration2), duration2)
			, start_date3  = decode(l_update_requ_flag_tab3(k), 'Y', decode(l_update_date_flag_tab3(k), 'Y', l_new_start_date3(k), start_date3), start_date3)
			, finish_date3 = decode(l_update_requ_flag_tab3(k), 'Y', decode(l_update_date_flag_tab3(k), 'Y', l_new_completion_date3(k), finish_date3), finish_date3)
			, duration3    = decode(l_update_requ_flag_tab3(k), 'Y', decode(l_update_date_flag_tab3(k), 'Y', l_new_duration3(k), duration3), duration3)
			, start_date4  = decode(l_update_requ_flag_tab4(k), 'Y', decode(l_update_date_flag_tab4(k), 'Y', l_new_start_date4(k), start_date4), start_date4)
			, finish_date4 = decode(l_update_requ_flag_tab4(k), 'Y', decode(l_update_date_flag_tab4(k), 'Y', l_new_completion_date4(k), finish_date4), finish_date4)
			, duration4    = decode(l_update_requ_flag_tab4(k), 'Y', decode(l_update_date_flag_tab4(k), 'Y', l_new_duration4(k), duration4), duration4)
			, start_date5  = decode(l_update_requ_flag_tab5(k), 'Y', decode(l_update_date_flag_tab5(k), 'Y', l_new_start_date5(k), start_date5), start_date5)
			, finish_date5 = decode(l_update_requ_flag_tab5(k), 'Y', decode(l_update_date_flag_tab5(k), 'Y', l_new_completion_date5(k), finish_date5), finish_date5)
			, duration5    = decode(l_update_requ_flag_tab5(k), 'Y', decode(l_update_date_flag_tab5(k), 'Y', l_new_duration5(k), duration5), duration5)
			, start_date6  = decode(l_update_requ_flag_tab6(k), 'Y', decode(l_update_date_flag_tab6(k), 'Y', l_new_start_date6(k), start_date6), start_date6)
			, finish_date6 = decode(l_update_requ_flag_tab6(k), 'Y', decode(l_update_date_flag_tab6(k), 'Y', l_new_completion_date6(k), finish_date6), finish_date6)
			, duration6    = decode(l_update_requ_flag_tab6(k), 'Y', decode(l_update_date_flag_tab6(k), 'Y', l_new_duration6(k), duration6), duration6)
			, dirty_flag1  = decode(l_update_requ_flag_tab1(k), 'Y', 'N', dirty_flag1)
			, dirty_flag2  = decode(l_update_requ_flag_tab2(k), 'Y', 'N', dirty_flag2)
			, dirty_flag3  = decode(l_update_requ_flag_tab3(k), 'Y', 'N', dirty_flag3)
			, dirty_flag4  = decode(l_update_requ_flag_tab4(k), 'Y', 'N', dirty_flag4)
			, dirty_flag5  = decode(l_update_requ_flag_tab5(k), 'Y', 'N', dirty_flag5)
			, dirty_flag6  = decode(l_update_requ_flag_tab6(k), 'Y', 'N', dirty_flag6)
			WHERE object_id = l_object_ids_tab(k)
			AND object_type = l_object_types_tab(k)
			and process_number = l_process_number;
Line: 3970

		END IF; -- l_parent_update_required = 'Y'
Line: 3998

		l_object_ids_tab.delete;
Line: 3999

		l_object_types_tab.delete;
Line: 4000

		l_sum_tab1.delete;
Line: 4001

		l_sum_tab2.delete;
Line: 4002

		l_sum_tab3.delete;
Line: 4003

		l_sum_tab4.delete;
Line: 4004

		l_sum_tab5.delete;
Line: 4005

		l_sum_tab6.delete;
Line: 4006

		l_update_required := 'N';
Line: 4035

					SELECT MAX(decode(rollup_node1, 'Y', nvl(PROGRESS_OVERRIDE1, nvl(PROGRESS_STATUS_WEIGHT1, -99)), -99))
						, MAX(decode(rollup_node2, 'Y', nvl(PROGRESS_OVERRIDE2, nvl(PROGRESS_STATUS_WEIGHT2, -99)), -99))
						, MAX(decode(rollup_node3, 'Y', nvl(PROGRESS_OVERRIDE3, nvl(PROGRESS_STATUS_WEIGHT3, -99)), -99))
						, MAX(decode(rollup_node4, 'Y', nvl(PROGRESS_OVERRIDE4, nvl(PROGRESS_STATUS_WEIGHT4, -99)), -99))
						, MAX(decode(rollup_node5, 'Y', nvl(PROGRESS_OVERRIDE5, nvl(PROGRESS_STATUS_WEIGHT5, -99)), -99))
						, MAX(decode(rollup_node6, 'Y', nvl(PROGRESS_OVERRIDE6, nvl(PROGRESS_STATUS_WEIGHT6, -99)), -99))
						, count(*)
					INTO   l_weight1, l_weight2, l_weight3, l_weight4, l_weight5, l_weight6, l_count
					FROM   PA_PROJ_ROLLUP_BULK_TEMP
					WHERE  PROCESS_NUMBER   = l_process_number
					AND    Parent_Object_ID = l_object_ids_tab(i)
					--AND    OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_DELIVERABLES', 'PA_SUBPROJECTS')
					-- 4366733 : Deliverable Progress Status should not rollup
					AND    OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_SUBPROJECTS')
					;
Line: 4051

					SELECT MAX(nvl(PROGRESS_OVERRIDE1, nvl(PROGRESS_STATUS_WEIGHT1, -99)))
						, MAX(nvl(PROGRESS_OVERRIDE2, nvl(PROGRESS_STATUS_WEIGHT2, -99)))
						, MAX(nvl(PROGRESS_OVERRIDE3, nvl(PROGRESS_STATUS_WEIGHT3, -99)))
						, MAX(nvl(PROGRESS_OVERRIDE4, nvl(PROGRESS_STATUS_WEIGHT4, -99)))
						, MAX(nvl(PROGRESS_OVERRIDE5, nvl(PROGRESS_STATUS_WEIGHT5, -99)))
						, MAX(nvl(PROGRESS_OVERRIDE6, nvl(PROGRESS_STATUS_WEIGHT6, -99)))
						, count(*)
					INTO   l_weight1, l_weight2, l_weight3, l_weight4, l_weight5, l_weight6, l_count
					FROM   PA_PROJ_ROLLUP_BULK_TEMP
					WHERE  PROCESS_NUMBER   = l_process_number
					AND    Parent_Object_ID = l_object_ids_tab(i)
					--AND    OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_DELIVERABLES','PA_SUBPROJECTS')
					-- 4366733 : Deliverable Progress Status should not rollup
					AND    OBJECT_TYPE IN ('PA_TASKS', 'PA_STRUCTURES', 'PA_SUBPROJECTS')
					;
Line: 4106

				l_update_required := 'Y';
Line: 4127

			IF l_update_required = 'Y' THEN
	      /* Added the hint to force the unique index for bug#6185523 */
		   		UPDATE  /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
				SET    T1.PROGRESS_STATUS_WEIGHT1=l_sum_tab1(i)
				, T1.PROGRESS_STATUS_WEIGHT2=l_sum_tab2(i)
				, T1.PROGRESS_STATUS_WEIGHT3=l_sum_tab3(i)
				, T1.PROGRESS_STATUS_WEIGHT4=l_sum_tab4(i)
				, T1.PROGRESS_STATUS_WEIGHT5=l_sum_tab5(i)
				, T1.PROGRESS_STATUS_WEIGHT6=l_sum_tab6(i)
			       WHERE T1.Process_Number = l_Process_Number
				 AND T1.object_id = l_object_ids_tab(i)
				 AND T1.object_type = l_object_types_tab(i)
				;
Line: 4142

		-- Note that Bulk Update is not implemented due to the reasons mentioned in Date Rollup section
		/* Please Do no remove
		IF l_update_required = 'Y' THEN
		   FORALL i in 1..l_object_ids_tab.count
		     UPDATE PA_PROJ_ROLLUP_BULK_TEMP T1
			SET    T1.PROGRESS_STATUS_WEIGHT1=l_sum_tab1(i)
			, T1.PROGRESS_STATUS_WEIGHT2=l_sum_tab2(i)
			, T1.PROGRESS_STATUS_WEIGHT3=l_sum_tab3(i)
			, T1.PROGRESS_STATUS_WEIGHT4=l_sum_tab4(i)
			, T1.PROGRESS_STATUS_WEIGHT5=l_sum_tab5(i)
			, T1.PROGRESS_STATUS_WEIGHT6=l_sum_tab6(i)
		       WHERE T1.Process_Number = l_Process_Number
			 AND T1.object_id = l_object_ids_tab(i)
			 AND T1.object_type = l_object_types_tab(i)
		      ;
Line: 4157

		END IF; -- l_update_required = 'Y' THEN
Line: 4179

		l_object_ids_tab.delete;
Line: 4180

		l_object_types_tab.delete;
Line: 4181

		l_sum_tab1.delete;
Line: 4182

		l_sum_tab2.delete;
Line: 4183

		l_sum_tab3.delete;
Line: 4184

		l_sum_tab4.delete;
Line: 4185

		l_sum_tab5.delete;
Line: 4186

		l_sum_tab6.delete;
Line: 4187

		l_update_required := 'N';
Line: 4196

			l_update_required := 'N';
Line: 4198

			l_task_status_tab1.delete;
Line: 4199

			l_task_status_tab2.delete;
Line: 4200

			l_task_status_tab3.delete;
Line: 4201

			l_task_status_tab4.delete;
Line: 4202

			l_task_status_tab5.delete;
Line: 4203

			l_task_status_tab6.delete;
Line: 4242

					l_update_required := 'Y';
Line: 4272

					l_update_required := 'Y';
Line: 4301

					l_update_required := 'Y';
Line: 4330

					l_update_required := 'Y';
Line: 4359

					l_update_required := 'Y';
Line: 4388

					l_update_required := 'Y';
Line: 4397

				IF l_update_required = 'Y' THEN
				      /* Added the hint to force the unique index for bug#6185523 */
					UPDATE /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
					SET    T1.TASK_STATUS1= l_sum_tab1(i)
					, T1.TASK_STATUS2=l_sum_tab2(i)
					, T1.TASK_STATUS3=l_sum_tab3(i)
					, T1.TASK_STATUS4=l_sum_tab4(i)
					, T1.TASK_STATUS5=l_sum_tab5(i)
					, T1.TASK_STATUS6=l_sum_tab6(i)
					WHERE T1.Process_Number = l_Process_Number
					AND T1.object_id = l_object_ids_tab(i)
					AND T1.object_type = l_object_types_tab(i);
Line: 4411

		-- Note that Bulk Update is not implemented due to the reasons mentioned in Date Rollup section
		/* Please Do no remove
		IF l_update_required = 'Y' THEN
		   FORALL i in 1..l_object_ids_tab.count
	             UPDATE PA_PROJ_ROLLUP_BULK_TEMP T1
		        SET    T1.TASK_STATUS1= l_sum_tab1(i)
			, T1.TASK_STATUS2=l_sum_tab2(i)
			, T1.TASK_STATUS3=l_sum_tab3(i)
			, T1.TASK_STATUS4=l_sum_tab4(i)
			, T1.TASK_STATUS5=l_sum_tab5(i)
			, T1.TASK_STATUS6=l_sum_tab6(i)
	               WHERE T1.Process_Number = l_Process_Number
	                 AND T1.object_id = l_object_ids_tab(i)
	                 AND T1.object_type = l_object_types_tab(i)
		      ;
Line: 4426

		END IF; -- l_update_required = 'Y' THEN
Line: 4448

		l_object_ids_tab.delete;
Line: 4449

		l_object_types_tab.delete;
Line: 4450

		l_perc_comp_deriv_code_tab.delete;
Line: 4451

		l_bac_value_tab1.delete;
Line: 4452

		l_bac_value_tab2.delete;
Line: 4453

		l_bac_value_tab3.delete;
Line: 4454

		l_bac_value_tab4.delete;
Line: 4455

		l_bac_value_tab5.delete;
Line: 4456

		l_bac_value_tab6.delete;
Line: 4457

		l_percent_complete_tab1.delete;
Line: 4458

		l_percent_complete_tab2.delete;
Line: 4459

		l_percent_complete_tab3.delete;
Line: 4460

		l_percent_complete_tab4.delete;
Line: 4461

		l_percent_complete_tab5.delete;
Line: 4462

		l_percent_complete_tab6.delete;
Line: 4463

		l_percent_override_tab1.delete;
Line: 4464

		l_percent_override_tab2.delete;
Line: 4465

		l_percent_override_tab3.delete;
Line: 4466

		l_percent_override_tab4.delete;
Line: 4467

		l_percent_override_tab5.delete;
Line: 4468

		l_percent_override_tab6.delete;
Line: 4469

		l_earned_value_tab1.delete;
Line: 4470

		l_earned_value_tab2.delete;
Line: 4471

		l_earned_value_tab3.delete;
Line: 4472

		l_earned_value_tab4.delete;
Line: 4473

		l_earned_value_tab5.delete;
Line: 4474

		l_earned_value_tab6.delete;
Line: 4475

		l_update_required := 'N';
Line: 4507

					SELECT sum(nvl(percent_override1, nvl(percent_complete1, 0))*nvl(task_weight1, 0))/100,
					  sum(nvl(task_weight1, 0)),
					  sum(nvl(percent_override2, nvl(percent_complete2, 0))*nvl(task_weight2, 0))/100,
					  sum(nvl(task_weight2, 0)),
					  sum(nvl(percent_override3, nvl(percent_complete3, 0))*nvl(task_weight3, 0))/100,
					  sum(nvl(task_weight3, 0)),
					  sum(nvl(percent_override4, nvl(percent_complete4, 0))*nvl(task_weight4, 0))/100,
					  sum(nvl(task_weight4, 0)),
					  sum(nvl(percent_override5, nvl(percent_complete5, 0))*nvl(task_weight5, 0))/100,
					  sum(nvl(task_weight5, 0)),
					  sum(nvl(percent_override6, nvl(percent_complete6, 0))*nvl(task_weight6, 0))/100,
					  sum(nvl(task_weight6, 0)),
					  count(*)
					INTO   l_actual_duration1, l_pc_duration1
					, l_actual_duration2, l_pc_duration2
					, l_actual_duration3, l_pc_duration3
					, l_actual_duration4, l_pc_duration4
					, l_actual_duration5, l_pc_duration5
					, l_actual_duration6, l_pc_duration6
					, l_count
					FROM   PA_PROJ_ROLLUP_BULK_TEMP
					WHERE  Process_Number    = l_Process_Number
					AND    OBJECT_TYPE = 'PA_DELIVERABLES'
					AND    Parent_Object_ID  = l_object_ids_tab(i)
					AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
					;
Line: 4539

					select sum(nvl(earned_value1, 0)), sum(nvl(bac_value1, 0))
					, sum(nvl(earned_value2, 0)), sum(nvl(bac_value2, 0))
					, sum(nvl(earned_value3, 0)), sum(nvl(bac_value3, 0))
					, sum(nvl(earned_value4, 0)), sum(nvl(bac_value4, 0))
					, sum(nvl(earned_value5, 0)), sum(nvl(bac_value5, 0))
					, sum(nvl(earned_value6, 0)), sum(nvl(bac_value6, 0))
					,  count(*)
					INTO   l_actual_duration1, l_pc_duration1
					, l_actual_duration2, l_pc_duration2
					, l_actual_duration3, l_pc_duration3
					, l_actual_duration4, l_pc_duration4
					, l_actual_duration5, l_pc_duration5
					, l_actual_duration6, l_pc_duration6
					, l_count
					FROM   PA_PROJ_ROLLUP_BULK_TEMP
					WHERE  Process_Number    = l_Process_Number
					AND    OBJECT_TYPE IN ('PA_ASSIGNMENTS', 'PA_SUBPROJECTS')
					AND    Parent_Object_ID  = l_object_ids_tab(i)
					AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
					;
Line: 4569

					l_update_required := 'Y';
Line: 4586

					l_update_required := 'Y';
Line: 4600

					l_update_required := 'Y';
Line: 4614

					l_update_required := 'Y';
Line: 4628

					l_update_required := 'Y';
Line: 4642

					l_update_required := 'Y';
Line: 4657

					l_update_required := 'Y';
Line: 4661

					l_update_required := 'Y';
Line: 4665

					l_update_required := 'Y';
Line: 4669

					l_update_required := 'Y';
Line: 4673

					l_update_required := 'Y';
Line: 4677

					l_update_required := 'Y';
Line: 4683

		IF l_update_required = 'Y' THEN
			FORALL i in 1..l_object_ids_tab.count
	      /* Added the hint to force the unique index for bug#6185523 */
			UPDATE  /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
			SET    t1.percent_complete1=l_percent_complete_tab1(i)
			, t1.percent_complete2=l_percent_complete_tab2(i)
			, t1.percent_complete3=l_percent_complete_tab3(i)
			, t1.percent_complete4=l_percent_complete_tab4(i)
			, t1.percent_complete5=l_percent_complete_tab5(i)
			, t1.percent_complete6=l_percent_complete_tab6(i)
			, t1.earned_value1=l_earned_value_tab1(i)
			, t1.earned_value2=l_earned_value_tab2(i)
			, t1.earned_value3=l_earned_value_tab3(i)
			, t1.earned_value4=l_earned_value_tab4(i)
			, t1.earned_value5=l_earned_value_tab5(i)
			, t1.earned_value6=l_earned_value_tab6(i)
		       WHERE T1.Process_Number = l_Process_Number
			 AND T1.object_id = l_object_ids_tab(i)
			 AND T1.object_type = l_object_types_tab(i)
		      ;
Line: 4703

		END IF; -- l_update_required = 'Y' THEN
Line: 4708

		l_object_ids_tab.delete;
Line: 4709

		l_object_types_tab.delete;
Line: 4710

		l_perc_comp_deriv_code_tab.delete;
Line: 4711

		l_bac_value_tab1.delete;
Line: 4712

		l_bac_value_tab2.delete;
Line: 4713

		l_bac_value_tab3.delete;
Line: 4714

		l_bac_value_tab4.delete;
Line: 4715

		l_bac_value_tab5.delete;
Line: 4716

		l_bac_value_tab6.delete;
Line: 4717

		l_percent_complete_tab1.delete;
Line: 4718

		l_percent_complete_tab2.delete;
Line: 4719

		l_percent_complete_tab3.delete;
Line: 4720

		l_percent_complete_tab4.delete;
Line: 4721

		l_percent_complete_tab5.delete;
Line: 4722

		l_percent_complete_tab6.delete;
Line: 4723

		l_percent_override_tab1.delete;
Line: 4724

		l_percent_override_tab2.delete;
Line: 4725

		l_percent_override_tab3.delete;
Line: 4726

		l_percent_override_tab4.delete;
Line: 4727

		l_percent_override_tab5.delete;
Line: 4728

		l_percent_override_tab6.delete;
Line: 4729

		l_earned_value_tab1.delete;
Line: 4730

		l_earned_value_tab2.delete;
Line: 4731

		l_earned_value_tab3.delete;
Line: 4732

		l_earned_value_tab4.delete;
Line: 4733

		l_earned_value_tab5.delete;
Line: 4734

		l_earned_value_tab6.delete;
Line: 4735

		l_summ_obj_flag_tab.delete; -- 4587517
Line: 4736

		l_update_required := 'N';
Line: 4752

			l_update_required := 'N';
Line: 4771

                         SELECT sum(nvl(percent_override1, nvl(percent_complete1, 0))*nvl(task_weight1, 0))/100,
					  sum(nvl(task_weight1, 0)),
					  sum(nvl(percent_override2, nvl(percent_complete2, 0))*nvl(task_weight2, 0))/100,
					  sum(nvl(task_weight2, 0)),
					  sum(nvl(percent_override3, nvl(percent_complete3, 0))*nvl(task_weight3, 0))/100,
					  sum(nvl(task_weight3, 0)),
					  sum(nvl(percent_override4, nvl(percent_complete4, 0))*nvl(task_weight4, 0))/100,
					  sum(nvl(task_weight4, 0)),
					  sum(nvl(percent_override5, nvl(percent_complete5, 0))*nvl(task_weight5, 0))/100,
					  sum(nvl(task_weight5, 0)),
					  sum(nvl(percent_override6, nvl(percent_complete6, 0))*nvl(task_weight6, 0))/100,
					  sum(nvl(task_weight6, 0)),
					  count(*)
					INTO   l_actual_duration1, l_pc_duration1
					, l_actual_duration2, l_pc_duration2
					, l_actual_duration3, l_pc_duration3
					, l_actual_duration4, l_pc_duration4
					, l_actual_duration5, l_pc_duration5
					, l_actual_duration6, l_pc_duration6
					, l_count
					FROM   PA_PROJ_ROLLUP_BULK_TEMP
					WHERE  Process_Number    = l_Process_Number
					AND    OBJECT_TYPE = 'PA_DELIVERABLES'
					AND    Parent_Object_ID  = l_object_ids_tab(i)
					AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
					;
Line: 4842

						SELECT sum(nvl(earned_value1, 0)), sum(nvl(bac_value1, 0))
						, sum(nvl(earned_value2, 0)), sum(nvl(bac_value2, 0))
						, sum(nvl(earned_value3, 0)), sum(nvl(bac_value3, 0))
						, sum(nvl(earned_value4, 0)), sum(nvl(bac_value4, 0))
						, sum(nvl(earned_value5, 0)), sum(nvl(bac_value5, 0))
						, sum(nvl(earned_value6, 0)), sum(nvl(bac_value6, 0))
						,  count(*)
						INTO   l_actual_duration1_a, l_duration1_a
						, l_actual_duration2_a, l_duration2_a
						, l_actual_duration3_a, l_duration3_a
						, l_actual_duration4_a, l_duration4_a
						, l_actual_duration5_a, l_duration5_a
						, l_actual_duration6_a, l_duration6_a
						, l_count
						FROM   PA_PROJ_ROLLUP_BULK_TEMP
						WHERE  Process_Number = l_Process_Number
						AND    OBJECT_TYPE = 'PA_ASSIGNMENTS'
						AND    Parent_Object_ID  = l_object_ids_tab(i)
						AND    parent_object_type = 'PA_TASKS'
						;
Line: 4933

						SELECT sum(nvl(percent_override1, nvl(percent_complete1, 0))*nvl(bac_value1, 0)/100)
						, sum(nvl(bac_value1, 0))
						, sum(nvl(percent_override2, nvl(percent_complete2, 0))*nvl(bac_value2, 0)/100)
						, sum(nvl(bac_value2, 0))
						, sum(nvl(percent_override3, nvl(percent_complete3, 0))*nvl(bac_value3, 0)/100)
						, sum(nvl(bac_value3, 0))
						, sum(nvl(percent_override4, nvl(percent_complete4, 0))*nvl(bac_value4, 0)/100)
						, sum(nvl(bac_value4, 0))
						, sum(nvl(percent_override5, nvl(percent_complete5, 0))*nvl(bac_value5, 0)/100)
						, sum(nvl(bac_value5, 0))
						, sum(nvl(percent_override6, nvl(percent_complete6, 0))*nvl(bac_value6, 0)/100)
						, sum(nvl(bac_value6, 0))
						,  count(*)
						INTO   l_actual_duration1_t, l_duration1_t
						, l_actual_duration2_t, l_duration2_t
						, l_actual_duration3_t, l_duration3_t
						, l_actual_duration4_t, l_duration4_t
						, l_actual_duration5_t, l_duration5_t
						, l_actual_duration6_t, l_duration6_t
						, l_count1
						FROM   PA_PROJ_ROLLUP_BULK_TEMP
						WHERE  Process_Number    = l_Process_Number
						AND    OBJECT_TYPE = 'PA_SUBPROJECTS'
						AND    Parent_Object_ID  = l_object_ids_tab(i)
						AND    parent_object_type = 'PA_TASKS'
						;
Line: 5017

						SELECT sum(nvl(earned_value1, 0)), sum(nvl(bac_value1, 0))
						, sum(nvl(earned_value2, 0)), sum(nvl(bac_value2, 0))
						, sum(nvl(earned_value3, 0)), sum(nvl(bac_value3, 0))
						, sum(nvl(earned_value4, 0)), sum(nvl(bac_value4, 0))
						, sum(nvl(earned_value5, 0)), sum(nvl(bac_value5, 0))
						, sum(nvl(earned_value6, 0)), sum(nvl(bac_value6, 0))
						,  count(*)
						INTO   l_actual_duration1_a, l_duration1_a
						, l_actual_duration2_a, l_duration2_a
						, l_actual_duration3_a, l_duration3_a
						, l_actual_duration4_a, l_duration4_a
						, l_actual_duration5_a, l_duration5_a
						, l_actual_duration6_a, l_duration6_a
						, l_count
						FROM   PA_PROJ_ROLLUP_BULK_TEMP
						WHERE  Process_Number = l_Process_Number
						AND    OBJECT_TYPE = 'PA_ASSIGNMENTS'
						AND    Parent_Object_ID  = l_object_ids_tab(i)
						AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
						;
Line: 5108

						SELECT sum(nvl(percent_override1, nvl(percent_complete1, 0))*nvl(bac_value1, 0)/100)
						, sum(nvl(bac_value1, 0))
						, sum(nvl(percent_override2, nvl(percent_complete2, 0))*nvl(bac_value2, 0)/100)
						, sum(nvl(bac_value2, 0))
						, sum(nvl(percent_override3, nvl(percent_complete3, 0))*nvl(bac_value3, 0)/100)
						, sum(nvl(bac_value3, 0))
						, sum(nvl(percent_override4, nvl(percent_complete4, 0))*nvl(bac_value4, 0)/100)
						, sum(nvl(bac_value4, 0))
						, sum(nvl(percent_override5, nvl(percent_complete5, 0))*nvl(bac_value5, 0)/100)
						, sum(nvl(bac_value5, 0))
						, sum(nvl(percent_override6, nvl(percent_complete6, 0))*nvl(bac_value6, 0)/100)
						, sum(nvl(bac_value6, 0))
						,  count(*) -- Bug 4343615
						INTO   l_actual_duration1_t, l_duration1_t
						, l_actual_duration2_t, l_duration2_t
						, l_actual_duration3_t, l_duration3_t
						, l_actual_duration4_t, l_duration4_t
						, l_actual_duration5_t, l_duration5_t
						, l_actual_duration6_t, l_duration6_t
						, l_count1 -- Bug 4343615
						FROM   PA_PROJ_ROLLUP_BULK_TEMP
						WHERE  Process_Number    = l_Process_Number
						--AND    OBJECT_TYPE = 'PA_TASKS' --4582956
						AND    OBJECT_TYPE IN ('PA_TASKS','PA_SUBPROJECTS') --4582956 : Added PA_SUBPROJECTS
						AND    Parent_Object_ID  = l_object_ids_tab(i)
						AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
						;
Line: 5167

                         SELECT sum(nvl(percent_override1, nvl(percent_complete1, 0))*nvl(task_weight1, 0))/100
					, sum(nvl(task_weight1, 0))
					, sum(nvl(percent_override2, nvl(percent_complete2, 0))*nvl(task_weight2, 0))/100
					, sum(nvl(task_weight2, 0))
					, sum(nvl(percent_override3, nvl(percent_complete3, 0))*nvl(task_weight3, 0))/100
					, sum(nvl(task_weight3, 0))
					, sum(nvl(percent_override4, nvl(percent_complete4, 0))*nvl(task_weight4, 0))/100
					, sum(nvl(task_weight4, 0))
					, sum(nvl(percent_override5, nvl(percent_complete5, 0))*nvl(task_weight5, 0))/100
					, sum(nvl(task_weight5, 0))
					, sum(nvl(percent_override6, nvl(percent_complete6, 0))*nvl(task_weight6, 0))/100
					, sum(nvl(task_weight6, 0))
					,  count(*)
					INTO   l_actual_duration1, l_pc_duration1
					, l_actual_duration2, l_pc_duration2
					, l_actual_duration3, l_pc_duration3
					, l_actual_duration4, l_pc_duration4
					, l_actual_duration5, l_pc_duration5
					, l_actual_duration6, l_pc_duration6
					, l_count
					FROM   PA_PROJ_ROLLUP_BULK_TEMP
					WHERE  Process_Number    = l_Process_Number
					AND    OBJECT_TYPE = 'PA_TASKS'
					AND    Parent_Object_ID  = l_object_ids_tab(i)
					AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
					;
Line: 5205

					l_update_required := 'Y';
Line: 5219

					l_update_required := 'Y';
Line: 5233

					l_update_required := 'Y';
Line: 5247

					l_update_required := 'Y';
Line: 5261

					l_update_required := 'Y';
Line: 5275

					l_update_required := 'Y';
Line: 5290

					l_update_required := 'Y';
Line: 5294

					l_update_required := 'Y';
Line: 5298

					l_update_required := 'Y';
Line: 5302

					l_update_required := 'Y';
Line: 5306

					l_update_required := 'Y';
Line: 5310

					l_update_required := 'Y';
Line: 5315

			IF l_update_required = 'Y' THEN
	      /* Added the hint to force the unique index for bug#6185523 */
				UPDATE  /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
				SET    T1.PERCENT_COMPLETE1=l_PERCENT_COMPLETE_tab1(i)
					, T1.PERCENT_COMPLETE2=l_PERCENT_COMPLETE_tab2(i)
					, T1.PERCENT_COMPLETE3=l_PERCENT_COMPLETE_tab3(i)
					, T1.PERCENT_COMPLETE4=l_PERCENT_COMPLETE_tab4(i)
					, T1.PERCENT_COMPLETE5=l_PERCENT_COMPLETE_tab5(i)
					, T1.PERCENT_COMPLETE6=l_PERCENT_COMPLETE_tab6(i)
					, T1.EARNED_VALUE1=l_EARNED_VALUE_tab1(i)
					, T1.EARNED_VALUE2=l_EARNED_VALUE_tab2(i)
					, T1.EARNED_VALUE3=l_EARNED_VALUE_tab3(i)
					, T1.EARNED_VALUE4=l_EARNED_VALUE_tab4(i)
					, T1.EARNED_VALUE5=l_EARNED_VALUE_tab5(i)
					, T1.EARNED_VALUE6=l_EARNED_VALUE_tab6(i)
				WHERE T1.Process_Number = l_Process_Number
				AND T1.object_id = l_object_ids_tab(i)
				AND T1.object_type = l_object_types_tab(i)
				;
Line: 5336

		-- Note that Bulk Update is not implemnted due to reason mentioned in Dates Rollup section
		/* Please do not remove
		IF l_update_required = 'Y' THEN
			FORALL i in 1..l_object_ids_tab.count
			     UPDATE PA_PROJ_ROLLUP_BULK_TEMP T1
				SET    T1.PERCENT_COMPLETE1=l_PERCENT_COMPLETE_tab1(i)
				, T1.PERCENT_COMPLETE2=l_PERCENT_COMPLETE_tab2(i)
				, T1.PERCENT_COMPLETE3=l_PERCENT_COMPLETE_tab3(i)
				, T1.PERCENT_COMPLETE4=l_PERCENT_COMPLETE_tab4(i)
				, T1.PERCENT_COMPLETE5=l_PERCENT_COMPLETE_tab5(i)
				, T1.PERCENT_COMPLETE6=l_PERCENT_COMPLETE_tab6(i)
				, T1.EARNED_VALUE1=l_EARNED_VALUE_tab1(i)
				, T1.EARNED_VALUE2=l_EARNED_VALUE_tab2(i)
				, T1.EARNED_VALUE3=l_EARNED_VALUE_tab3(i)
				, T1.EARNED_VALUE4=l_EARNED_VALUE_tab4(i)
				, T1.EARNED_VALUE5=l_EARNED_VALUE_tab5(i)
				, T1.EARNED_VALUE6=l_EARNED_VALUE_tab6(i)
			       WHERE T1.Process_Number = l_Process_Number
				 AND T1.object_id = l_object_ids_tab(i)
				 AND T1.object_type = l_object_types_tab(i)
				;
Line: 5357

		END IF; -- l_update_required = 'Y' THEN
Line: 5383

		l_object_ids_tab.delete;
Line: 5384

		l_object_types_tab.delete;
Line: 5385

		l_update_required := 'N';
Line: 5387

                l_sum_tab1.delete;
Line: 5388

                l_sum_tab2.delete;
Line: 5389

                l_sum_tab3.delete;
Line: 5390

                l_sum_tab4.delete;
Line: 5391

                l_sum_tab5.delete;
Line: 5392

                l_sum_tab6.delete;
Line: 5413

			l_update_required := 'N';
Line: 5419

					SELECT Sum(decode(rollup_node1, 'Y', NVL(ETC_Cost1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(ETC_Cost2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(ETC_Cost3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(ETC_Cost4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(ETC_Cost5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(ETC_Cost6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(PPL_ETC_COST1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(PPL_ETC_COST2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(PPL_ETC_COST3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(PPL_ETC_COST4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(PPL_ETC_COST5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(PPL_ETC_COST6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(EQPMT_ETC_COST1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(EQPMT_ETC_COST2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(EQPMT_ETC_COST3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(EQPMT_ETC_COST4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(EQPMT_ETC_COST5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(EQPMT_ETC_COST6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(PPL_UNPLAND_EFFORT1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(PPL_UNPLAND_EFFORT2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(PPL_UNPLAND_EFFORT3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(PPL_UNPLAND_EFFORT4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(PPL_UNPLAND_EFFORT5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(PPL_UNPLAND_EFFORT6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(EQPMT_ETC_EFFORT1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(EQPMT_ETC_EFFORT2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(EQPMT_ETC_EFFORT3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(EQPMT_ETC_EFFORT4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(EQPMT_ETC_EFFORT5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(EQPMT_ETC_EFFORT6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(SUB_PRJ_ETC_COST1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(SUB_PRJ_ETC_COST2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(SUB_PRJ_ETC_COST3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(SUB_PRJ_ETC_COST4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(SUB_PRJ_ETC_COST5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(SUB_PRJ_ETC_COST6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(SUB_PRJ_PPL_ETC_COST1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(SUB_PRJ_PPL_ETC_COST2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(SUB_PRJ_PPL_ETC_COST3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(SUB_PRJ_PPL_ETC_COST4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(SUB_PRJ_PPL_ETC_COST5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(SUB_PRJ_PPL_ETC_COST6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(SUB_PRJ_EQPMT_ETC_COST1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(SUB_PRJ_EQPMT_ETC_COST2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(SUB_PRJ_EQPMT_ETC_COST3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(SUB_PRJ_EQPMT_ETC_COST4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(SUB_PRJ_EQPMT_ETC_COST5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(SUB_PRJ_EQPMT_ETC_COST6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(SUB_PRJ_PPL_ETC_EFFORT1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(SUB_PRJ_PPL_ETC_EFFORT2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(SUB_PRJ_PPL_ETC_EFFORT3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(SUB_PRJ_PPL_ETC_EFFORT4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(SUB_PRJ_PPL_ETC_EFFORT5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(SUB_PRJ_PPL_ETC_EFFORT6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(SUB_PRJ_EQPMT_ETC_EFFORT1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(SUB_PRJ_EQPMT_ETC_EFFORT2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(SUB_PRJ_EQPMT_ETC_EFFORT3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(SUB_PRJ_EQPMT_ETC_EFFORT4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(SUB_PRJ_EQPMT_ETC_EFFORT5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(SUB_PRJ_EQPMT_ETC_EFFORT6,0),0)),
					     Sum(decode(rollup_node1, 'Y', NVL(REMAINING_EFFORT1,0),0)),
					     Sum(decode(rollup_node2, 'Y', NVL(REMAINING_EFFORT2,0),0)),
					     Sum(decode(rollup_node3, 'Y', NVL(REMAINING_EFFORT3,0),0)),
					     Sum(decode(rollup_node4, 'Y', NVL(REMAINING_EFFORT4,0),0)),
					     Sum(decode(rollup_node5, 'Y', NVL(REMAINING_EFFORT5,0),0)),
					     Sum(decode(rollup_node6, 'Y', NVL(REMAINING_EFFORT6,0),0)),
					     Count(*)
				      INTO   l_ETC_Cost_tab1(i),
					     l_ETC_Cost_tab2(i),
					     l_ETC_Cost_tab3(i),
					     l_ETC_Cost_tab4(i),
					     l_ETC_Cost_tab5(i),
					     l_ETC_Cost_tab6(i),
					     l_PPL_ETC_COST_tab1(i),
					     l_PPL_ETC_COST_tab2(i),
					     l_PPL_ETC_COST_tab3(i),
					     l_PPL_ETC_COST_tab4(i),
					     l_PPL_ETC_COST_tab5(i),
					     l_PPL_ETC_COST_tab6(i),
					     l_EQPMT_ETC_COST_tab1(i),
					     l_EQPMT_ETC_COST_tab2(i),
					     l_EQPMT_ETC_COST_tab3(i),
					     l_EQPMT_ETC_COST_tab4(i),
					     l_EQPMT_ETC_COST_tab5(i),
					     l_EQPMT_ETC_COST_tab6(i),
					     l_PPL_UNPLAND_EFFORT_tab1(i),
					     l_PPL_UNPLAND_EFFORT_tab2(i),
					     l_PPL_UNPLAND_EFFORT_tab3(i),
					     l_PPL_UNPLAND_EFFORT_tab4(i),
					     l_PPL_UNPLAND_EFFORT_tab5(i),
					     l_PPL_UNPLAND_EFFORT_tab6(i),
					     l_EQPMT_ETC_EFFORT_tab1(i),
					     l_EQPMT_ETC_EFFORT_tab2(i),
					     l_EQPMT_ETC_EFFORT_tab3(i),
					     l_EQPMT_ETC_EFFORT_tab4(i),
					     l_EQPMT_ETC_EFFORT_tab5(i),
					     l_EQPMT_ETC_EFFORT_tab6(i),
					     l_SUB_PRJ_ETC_COST_tab1(i),
					     l_SUB_PRJ_ETC_COST_tab2(i),
					     l_SUB_PRJ_ETC_COST_tab3(i),
					     l_SUB_PRJ_ETC_COST_tab4(i),
					     l_SUB_PRJ_ETC_COST_tab5(i),
					     l_SUB_PRJ_ETC_COST_tab6(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab1(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab2(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab3(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab4(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab5(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab6(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab1(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab2(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab3(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab4(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab5(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab6(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab1(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab2(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab3(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab4(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab5(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab6(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB1(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB2(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB3(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB4(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB5(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB6(i),
                                              l_sum_tab1(i),
                                              l_sum_tab2(i),
                                              l_sum_tab3(i),
                                              l_sum_tab4(i),
                                              l_sum_tab5(i),
                                              l_sum_tab6(i),
					     l_Count
				      FROM   PA_PROJ_ROLLUP_BULK_TEMP
				      WHERE  Process_Number    = l_Process_Number
				      AND    OBJECT_TYPE <> 'PA_DELIVERABLES'
				      AND    Parent_Object_ID  =l_object_ids_tab(i)
    				      AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
				      ;
Line: 5560

					SELECT Sum(NVL(ETC_Cost1,0)),
					     Sum(NVL(ETC_Cost2,0)),
					     Sum(NVL(ETC_Cost3,0)),
					     Sum(NVL(ETC_Cost4,0)),
					     Sum(NVL(ETC_Cost5,0)),
					     Sum(NVL(ETC_Cost6,0)),
					     Sum(NVL(PPL_ETC_COST1,0)),
					     Sum(NVL(PPL_ETC_COST2,0)),
					     Sum(NVL(PPL_ETC_COST3,0)),
					     Sum(NVL(PPL_ETC_COST4,0)),
					     Sum(NVL(PPL_ETC_COST5,0)),
					     Sum(NVL(PPL_ETC_COST6,0)),
					     Sum(NVL(EQPMT_ETC_COST1,0)),
					     Sum(NVL(EQPMT_ETC_COST2,0)),
					     Sum(NVL(EQPMT_ETC_COST3,0)),
					     Sum(NVL(EQPMT_ETC_COST4,0)),
					     Sum(NVL(EQPMT_ETC_COST5,0)),
					     Sum(NVL(EQPMT_ETC_COST6,0)),
					     Sum(NVL(PPL_UNPLAND_EFFORT1,0)),
					     Sum(NVL(PPL_UNPLAND_EFFORT2,0)),
					     Sum(NVL(PPL_UNPLAND_EFFORT3,0)),
					     Sum(NVL(PPL_UNPLAND_EFFORT4,0)),
					     Sum(NVL(PPL_UNPLAND_EFFORT5,0)),
					     Sum(NVL(PPL_UNPLAND_EFFORT6,0)),
					     Sum(NVL(EQPMT_ETC_EFFORT1,0)),
					     Sum(NVL(EQPMT_ETC_EFFORT2,0)),
					     Sum(NVL(EQPMT_ETC_EFFORT3,0)),
					     Sum(NVL(EQPMT_ETC_EFFORT4,0)),
					     Sum(NVL(EQPMT_ETC_EFFORT5,0)),
					     Sum(NVL(EQPMT_ETC_EFFORT6,0)),
					     Sum(NVL(SUB_PRJ_ETC_COST1,0)),
					     Sum(NVL(SUB_PRJ_ETC_COST2,0)),
					     Sum(NVL(SUB_PRJ_ETC_COST3,0)),
					     Sum(NVL(SUB_PRJ_ETC_COST4,0)),
					     Sum(NVL(SUB_PRJ_ETC_COST5,0)),
					     Sum(NVL(SUB_PRJ_ETC_COST6,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_COST1,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_COST2,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_COST3,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_COST4,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_COST5,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_COST6,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_COST1,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_COST2,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_COST3,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_COST4,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_COST5,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_COST6,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_EFFORT1,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_EFFORT2,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_EFFORT3,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_EFFORT4,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_EFFORT5,0)),
					     Sum(NVL(SUB_PRJ_PPL_ETC_EFFORT6,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_EFFORT1,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_EFFORT2,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_EFFORT3,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_EFFORT4,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_EFFORT5,0)),
					     Sum(NVL(SUB_PRJ_EQPMT_ETC_EFFORT6,0)),
					     Sum(NVL(REMAINING_EFFORT1,0)),
					     Sum(NVL(REMAINING_EFFORT2,0)),
					     Sum(NVL(REMAINING_EFFORT3,0)),
					     Sum(NVL(REMAINING_EFFORT4,0)),
					     Sum(NVL(REMAINING_EFFORT5,0)),
					     Sum(NVL(REMAINING_EFFORT6,0)),
					     Count(*)
				      INTO   l_ETC_Cost_tab1(i),
					     l_ETC_Cost_tab2(i),
					     l_ETC_Cost_tab3(i),
					     l_ETC_Cost_tab4(i),
					     l_ETC_Cost_tab5(i),
					     l_ETC_Cost_tab6(i),
					     l_PPL_ETC_COST_tab1(i),
					     l_PPL_ETC_COST_tab2(i),
					     l_PPL_ETC_COST_tab3(i),
					     l_PPL_ETC_COST_tab4(i),
					     l_PPL_ETC_COST_tab5(i),
					     l_PPL_ETC_COST_tab6(i),
					     l_EQPMT_ETC_COST_tab1(i),
					     l_EQPMT_ETC_COST_tab2(i),
					     l_EQPMT_ETC_COST_tab3(i),
					     l_EQPMT_ETC_COST_tab4(i),
					     l_EQPMT_ETC_COST_tab5(i),
					     l_EQPMT_ETC_COST_tab6(i),
					     l_PPL_UNPLAND_EFFORT_tab1(i),
					     l_PPL_UNPLAND_EFFORT_tab2(i),
					     l_PPL_UNPLAND_EFFORT_tab3(i),
					     l_PPL_UNPLAND_EFFORT_tab4(i),
					     l_PPL_UNPLAND_EFFORT_tab5(i),
					     l_PPL_UNPLAND_EFFORT_tab6(i),
					     l_EQPMT_ETC_EFFORT_tab1(i),
					     l_EQPMT_ETC_EFFORT_tab2(i),
					     l_EQPMT_ETC_EFFORT_tab3(i),
					     l_EQPMT_ETC_EFFORT_tab4(i),
					     l_EQPMT_ETC_EFFORT_tab5(i),
					     l_EQPMT_ETC_EFFORT_tab6(i),
					     l_SUB_PRJ_ETC_COST_tab1(i),
					     l_SUB_PRJ_ETC_COST_tab2(i),
					     l_SUB_PRJ_ETC_COST_tab3(i),
					     l_SUB_PRJ_ETC_COST_tab4(i),
					     l_SUB_PRJ_ETC_COST_tab5(i),
					     l_SUB_PRJ_ETC_COST_tab6(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab1(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab2(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab3(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab4(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab5(i),
					      l_SUB_PRJ_PPL_ETC_COST_tab6(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab1(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab2(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab3(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab4(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab5(i),
					      l_SUB_PRJ_EQPMT_ETC_COST_tab6(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab1(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab2(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab3(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab4(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab5(i),
					      l_SUB_PRJ_PPL_ETC_EFFORT_tab6(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB1(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB2(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB3(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB4(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB5(i),
					      L_SP_EQPMT_ETC_EFFORT_TAB6(i),
                                              l_sum_tab1(i),
                                              l_sum_tab2(i),
                                              l_sum_tab3(i),
                                              l_sum_tab4(i),
                                              l_sum_tab5(i),
                                              l_sum_tab6(i),
					     l_Count
				      FROM   PA_PROJ_ROLLUP_BULK_TEMP
				      WHERE  Process_Number    = l_Process_Number
				      AND    OBJECT_TYPE <> 'PA_DELIVERABLES'
				      AND    Parent_Object_ID  =l_object_ids_tab(i)
    				      AND    parent_object_type IN ('PA_STRUCTURES','PA_TASKS') -- Bug 4450587
				      ;
Line: 5706

				l_update_required := 'Y';
Line: 5708

				UPDATE  /*+ INDEX( T1 PA_PROJ_ROLLUP_BULK_TEMP_U1) */ PA_PROJ_ROLLUP_BULK_TEMP T1
				SET    T1.ETC_Cost1=l_ETC_Cost_tab1(i)
				, T1.ETC_Cost2=l_ETC_Cost_tab2(i)
				, T1.ETC_Cost3=l_ETC_Cost_tab3(i)
				, T1.ETC_Cost4=l_ETC_Cost_tab4(i)
				, T1.ETC_Cost5=l_ETC_Cost_tab5(i)
				, T1.ETC_Cost6=l_ETC_Cost_tab6(i)
				, T1.PPL_ETC_COST1=l_PPL_ETC_COST_tab1(i)
				, T1.PPL_ETC_COST2=l_PPL_ETC_COST_tab2(i)
				, T1.PPL_ETC_COST3=l_PPL_ETC_COST_tab3(i)
				, T1.PPL_ETC_COST4=l_PPL_ETC_COST_tab4(i)
				, T1.PPL_ETC_COST5=l_PPL_ETC_COST_tab5(i)
				, T1.PPL_ETC_COST6=l_PPL_ETC_COST_tab6(i)
				, T1.EQPMT_ETC_COST1=l_EQPMT_ETC_COST_tab1(i)
				, T1.EQPMT_ETC_COST2=l_EQPMT_ETC_COST_tab2(i)
				, T1.EQPMT_ETC_COST3=l_EQPMT_ETC_COST_tab3(i)
				, T1.EQPMT_ETC_COST4=l_EQPMT_ETC_COST_tab4(i)
				, T1.EQPMT_ETC_COST5=l_EQPMT_ETC_COST_tab5(i)
				, T1.EQPMT_ETC_COST6=l_EQPMT_ETC_COST_tab6(i)
				, T1.PPL_UNPLAND_EFFORT1=l_PPL_UNPLAND_EFFORT_tab1(i)
				, T1.PPL_UNPLAND_EFFORT2=l_PPL_UNPLAND_EFFORT_tab2(i)
				, T1.PPL_UNPLAND_EFFORT3=l_PPL_UNPLAND_EFFORT_tab3(i)
				, T1.PPL_UNPLAND_EFFORT4=l_PPL_UNPLAND_EFFORT_tab4(i)
				, T1.PPL_UNPLAND_EFFORT5=l_PPL_UNPLAND_EFFORT_tab5(i)
				, T1.PPL_UNPLAND_EFFORT6=l_PPL_UNPLAND_EFFORT_tab6(i)
				, T1.EQPMT_ETC_EFFORT1=l_EQPMT_ETC_EFFORT_tab1(i)
				, T1.EQPMT_ETC_EFFORT2=l_EQPMT_ETC_EFFORT_tab2(i)
				, T1.EQPMT_ETC_EFFORT3=l_EQPMT_ETC_EFFORT_tab3(i)
				, T1.EQPMT_ETC_EFFORT4=l_EQPMT_ETC_EFFORT_tab4(i)
				, T1.EQPMT_ETC_EFFORT5=l_EQPMT_ETC_EFFORT_tab5(i)
				, T1.EQPMT_ETC_EFFORT6=l_EQPMT_ETC_EFFORT_tab6(i)
				, T1.SUB_PRJ_ETC_COST1=l_SUB_PRJ_ETC_COST_tab1(i)
				, T1.SUB_PRJ_ETC_COST2=l_SUB_PRJ_ETC_COST_tab2(i)
				, T1.SUB_PRJ_ETC_COST3=l_SUB_PRJ_ETC_COST_tab3(i)
				, T1.SUB_PRJ_ETC_COST4=l_SUB_PRJ_ETC_COST_tab4(i)
				, T1.SUB_PRJ_ETC_COST5=l_SUB_PRJ_ETC_COST_tab5(i)
				, T1.SUB_PRJ_ETC_COST6=l_SUB_PRJ_ETC_COST_tab6(i)
				, T1.SUB_PRJ_PPL_ETC_COST1=l_SUB_PRJ_PPL_ETC_COST_tab1(i)
				, T1.SUB_PRJ_PPL_ETC_COST2=l_SUB_PRJ_PPL_ETC_COST_tab2(i)
				, T1.SUB_PRJ_PPL_ETC_COST3=l_SUB_PRJ_PPL_ETC_COST_tab3(i)
				, T1.SUB_PRJ_PPL_ETC_COST4=l_SUB_PRJ_PPL_ETC_COST_tab4(i)
				, T1.SUB_PRJ_PPL_ETC_COST5=l_SUB_PRJ_PPL_ETC_COST_tab5(i)
				, T1.SUB_PRJ_PPL_ETC_COST6=l_SUB_PRJ_PPL_ETC_COST_tab6(i)
				, T1.SUB_PRJ_EQPMT_ETC_COST1=l_SUB_PRJ_EQPMT_ETC_COST_tab1(i)
				, T1.SUB_PRJ_EQPMT_ETC_COST2=l_SUB_PRJ_EQPMT_ETC_COST_tab2(i)
				, T1.SUB_PRJ_EQPMT_ETC_COST3=l_SUB_PRJ_EQPMT_ETC_COST_tab3(i)
				, T1.SUB_PRJ_EQPMT_ETC_COST4=l_SUB_PRJ_EQPMT_ETC_COST_tab4(i)
				, T1.SUB_PRJ_EQPMT_ETC_COST5=l_SUB_PRJ_EQPMT_ETC_COST_tab5(i)
				, T1.SUB_PRJ_EQPMT_ETC_COST6=l_SUB_PRJ_EQPMT_ETC_COST_tab6(i)
				, T1.SUB_PRJ_PPL_ETC_EFFORT1=l_SUB_PRJ_PPL_ETC_EFFORT_tab1(i)
				, T1.SUB_PRJ_PPL_ETC_EFFORT2=l_SUB_PRJ_PPL_ETC_EFFORT_tab2(i)
				, T1.SUB_PRJ_PPL_ETC_EFFORT3=l_SUB_PRJ_PPL_ETC_EFFORT_tab3(i)
				, T1.SUB_PRJ_PPL_ETC_EFFORT4=l_SUB_PRJ_PPL_ETC_EFFORT_tab4(i)
				, T1.SUB_PRJ_PPL_ETC_EFFORT5=l_SUB_PRJ_PPL_ETC_EFFORT_tab5(i)
				, T1.SUB_PRJ_PPL_ETC_EFFORT6=l_SUB_PRJ_PPL_ETC_EFFORT_tab6(i)
				, T1.SUB_PRJ_EQPMT_ETC_EFFORT1=L_SP_EQPMT_ETC_EFFORT_TAB1(i)
				, T1.SUB_PRJ_EQPMT_ETC_EFFORT2=L_SP_EQPMT_ETC_EFFORT_TAB2(i)
				, T1.SUB_PRJ_EQPMT_ETC_EFFORT3=L_SP_EQPMT_ETC_EFFORT_TAB3(i)
				, T1.SUB_PRJ_EQPMT_ETC_EFFORT4=L_SP_EQPMT_ETC_EFFORT_TAB4(i)
				, T1.SUB_PRJ_EQPMT_ETC_EFFORT5=L_SP_EQPMT_ETC_EFFORT_TAB5(i)
				, T1.SUB_PRJ_EQPMT_ETC_EFFORT6=L_SP_EQPMT_ETC_EFFORT_TAB6(i)
                                , T1.REMAINING_EFFORT1 = l_sum_tab1(i)
                                , T1.REMAINING_EFFORT2 = l_sum_tab2(i)
                                , T1.REMAINING_EFFORT3 = l_sum_tab3(i)
                                , T1.REMAINING_EFFORT4 = l_sum_tab4(i)
                                , T1.REMAINING_EFFORT5 = l_sum_tab5(i)
                                , T1.REMAINING_EFFORT6 = l_sum_tab6(i)
			       WHERE T1.Process_Number = l_Process_Number
				 AND T1.object_id = l_object_ids_tab(i)
				 AND T1.object_type = l_object_types_tab(i)
			      ;
Line: 5781

		-- NOte that Bulk Update is not done due to problem mentioned in Dates Rollup Section
		/* Please do not remove
		IF l_update_required = 'Y' THEN
			FORALL i in 1..l_object_ids_tab.count
			UPDATE PA_PROJ_ROLLUP_BULK_TEMP T1
			SET    T1.ETC_Cost1=l_ETC_Cost_tab1(i)
			, T1.ETC_Cost2=l_ETC_Cost_tab2(i)
			, T1.ETC_Cost3=l_ETC_Cost_tab3(i)
			, T1.ETC_Cost4=l_ETC_Cost_tab4(i)
			, T1.ETC_Cost5=l_ETC_Cost_tab5(i)
			, T1.ETC_Cost6=l_ETC_Cost_tab6(i)
			, T1.PPL_ETC_COST1=l_PPL_ETC_COST_tab1(i)
			, T1.PPL_ETC_COST2=l_PPL_ETC_COST_tab2(i)
			, T1.PPL_ETC_COST3=l_PPL_ETC_COST_tab3(i)
			, T1.PPL_ETC_COST4=l_PPL_ETC_COST_tab4(i)
			, T1.PPL_ETC_COST5=l_PPL_ETC_COST_tab5(i)
			, T1.PPL_ETC_COST6=l_PPL_ETC_COST_tab6(i)
			, T1.EQPMT_ETC_COST1=l_EQPMT_ETC_COST_tab1(i)
			, T1.EQPMT_ETC_COST2=l_EQPMT_ETC_COST_tab2(i)
			, T1.EQPMT_ETC_COST3=l_EQPMT_ETC_COST_tab3(i)
			, T1.EQPMT_ETC_COST4=l_EQPMT_ETC_COST_tab4(i)
			, T1.EQPMT_ETC_COST5=l_EQPMT_ETC_COST_tab5(i)
			, T1.EQPMT_ETC_COST6=l_EQPMT_ETC_COST_tab6(i)
			, T1.PPL_UNPLAND_EFFORT1=l_PPL_UNPLAND_EFFORT_tab1(i)
			, T1.PPL_UNPLAND_EFFORT2=l_PPL_UNPLAND_EFFORT_tab2(i)
			, T1.PPL_UNPLAND_EFFORT3=l_PPL_UNPLAND_EFFORT_tab3(i)
			, T1.PPL_UNPLAND_EFFORT4=l_PPL_UNPLAND_EFFORT_tab4(i)
			, T1.PPL_UNPLAND_EFFORT5=l_PPL_UNPLAND_EFFORT_tab5(i)
			, T1.PPL_UNPLAND_EFFORT6=l_PPL_UNPLAND_EFFORT_tab6(i)
			, T1.EQPMT_ETC_EFFORT1=l_EQPMT_ETC_EFFORT_tab1(i)
			, T1.EQPMT_ETC_EFFORT2=l_EQPMT_ETC_EFFORT_tab2(i)
			, T1.EQPMT_ETC_EFFORT3=l_EQPMT_ETC_EFFORT_tab3(i)
			, T1.EQPMT_ETC_EFFORT4=l_EQPMT_ETC_EFFORT_tab4(i)
			, T1.EQPMT_ETC_EFFORT5=l_EQPMT_ETC_EFFORT_tab5(i)
			, T1.EQPMT_ETC_EFFORT6=l_EQPMT_ETC_EFFORT_tab6(i)
			, T1.SUB_PRJ_ETC_COST1=l_SUB_PRJ_ETC_COST_tab1(i)
			, T1.SUB_PRJ_ETC_COST2=l_SUB_PRJ_ETC_COST_tab2(i)
			, T1.SUB_PRJ_ETC_COST3=l_SUB_PRJ_ETC_COST_tab3(i)
			, T1.SUB_PRJ_ETC_COST4=l_SUB_PRJ_ETC_COST_tab4(i)
			, T1.SUB_PRJ_ETC_COST5=l_SUB_PRJ_ETC_COST_tab5(i)
			, T1.SUB_PRJ_ETC_COST6=l_SUB_PRJ_ETC_COST_tab6(i)
			, T1.SUB_PRJ_PPL_ETC_COST1=l_SUB_PRJ_PPL_ETC_COST_tab1(i)
			, T1.SUB_PRJ_PPL_ETC_COST2=l_SUB_PRJ_PPL_ETC_COST_tab2(i)
			, T1.SUB_PRJ_PPL_ETC_COST3=l_SUB_PRJ_PPL_ETC_COST_tab3(i)
			, T1.SUB_PRJ_PPL_ETC_COST4=l_SUB_PRJ_PPL_ETC_COST_tab4(i)
			, T1.SUB_PRJ_PPL_ETC_COST5=l_SUB_PRJ_PPL_ETC_COST_tab5(i)
			, T1.SUB_PRJ_PPL_ETC_COST6=l_SUB_PRJ_PPL_ETC_COST_tab6(i)
			, T1.SUB_PRJ_EQPMT_ETC_COST1=l_SUB_PRJ_EQPMT_ETC_COST_tab1(i)
			, T1.SUB_PRJ_EQPMT_ETC_COST2=l_SUB_PRJ_EQPMT_ETC_COST_tab2(i)
			, T1.SUB_PRJ_EQPMT_ETC_COST3=l_SUB_PRJ_EQPMT_ETC_COST_tab3(i)
			, T1.SUB_PRJ_EQPMT_ETC_COST4=l_SUB_PRJ_EQPMT_ETC_COST_tab4(i)
			, T1.SUB_PRJ_EQPMT_ETC_COST5=l_SUB_PRJ_EQPMT_ETC_COST_tab5(i)
			, T1.SUB_PRJ_EQPMT_ETC_COST6=l_SUB_PRJ_EQPMT_ETC_COST_tab6(i)
			, T1.SUB_PRJ_PPL_ETC_EFFORT1=l_SUB_PRJ_PPL_ETC_EFFORT_tab1(i)
			, T1.SUB_PRJ_PPL_ETC_EFFORT2=l_SUB_PRJ_PPL_ETC_EFFORT_tab2(i)
			, T1.SUB_PRJ_PPL_ETC_EFFORT3=l_SUB_PRJ_PPL_ETC_EFFORT_tab3(i)
			, T1.SUB_PRJ_PPL_ETC_EFFORT4=l_SUB_PRJ_PPL_ETC_EFFORT_tab4(i)
			, T1.SUB_PRJ_PPL_ETC_EFFORT5=l_SUB_PRJ_PPL_ETC_EFFORT_tab5(i)
			, T1.SUB_PRJ_PPL_ETC_EFFORT6=l_SUB_PRJ_PPL_ETC_EFFORT_tab6(i)
			, T1.SUB_PRJ_EQPMT_ETC_EFFORT1=L_SP_EQPMT_ETC_EFFORT_TAB1(i)
			, T1.SUB_PRJ_EQPMT_ETC_EFFORT2=L_SP_EQPMT_ETC_EFFORT_TAB2(i)
			, T1.SUB_PRJ_EQPMT_ETC_EFFORT3=L_SP_EQPMT_ETC_EFFORT_TAB3(i)
			, T1.SUB_PRJ_EQPMT_ETC_EFFORT4=L_SP_EQPMT_ETC_EFFORT_TAB4(i)
			, T1.SUB_PRJ_EQPMT_ETC_EFFORT5=L_SP_EQPMT_ETC_EFFORT_TAB5(i)
			, T1.SUB_PRJ_EQPMT_ETC_EFFORT6=L_SP_EQPMT_ETC_EFFORT_TAB6(i)
		       WHERE T1.Process_Number = l_Process_Number
			 AND T1.object_id = l_object_ids_tab(i)
			 AND T1.object_type = l_object_types_tab(i)
		      ;
Line: 5850

		END IF; -- l_update_required = 'Y' THEN
Line: 5892

	-- Bug 4289748 : removed rollback, used delete instead
        --ROLLBACK TO SAVEPOINT GENERATE_SCHEDULE_SP;
Line: 5894

	delete from PA_PROJ_ROLLUP_BULK_TEMP where process_number = l_process_number;