The following lines contain the word 'select', 'insert', 'update' or 'delete':
,p_working_wp_prog_flag IN VARCHAR2 := 'N' --maansari7/18 to be passed form apply lp progress to select regular planned amounts to send to schduling api for percent comnplete and earned value calculations.
,p_upd_new_elem_ver_id_flag IN VARCHAR2 := 'Y' -- rtarway, 3951024
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
l_api_name CONSTANT VARCHAR(30) := 'ROLLUP_PROGRESS_PVT';
CURSOR cur_reverse_tree_update IS
SELECT proj_element_id, object_id_to1, object_type
FROM
( select object_id_from1, object_id_to1
from pa_object_relationships
where relationship_type ='S'
and object_type_from in ('PA_STRUCTURES','PA_TASKS') -- Bug 6429275
and object_type_to = 'PA_TASKS'
and p_rollup_entire_wbs='N'
start with object_id_to1 = p_task_version_id
and relationship_type = 'S'
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S'
) pobj
, pa_proj_element_versions ppev
WHERE element_version_id = object_id_to1
and p_rollup_entire_wbs='N'
--select structure
UNION
SELECT proj_element_id, element_version_id, object_type
FROM pa_proj_element_versions
WHERE element_version_id = p_structure_version_id
and project_id = p_project_id
and object_type = 'PA_STRUCTURES'
and p_rollup_entire_wbs='N'
UNION
SELECT proj_element_id, element_version_id, object_type
FROM pa_proj_element_versions
WHERE project_id = p_project_id
and parent_structure_version_id = p_structure_version_id
and object_type IN ('PA_TASKS','PA_STRUCTURES')
and p_rollup_entire_wbs='Y'
;
l_tsk_update_required SYSTEM.PA_VARCHAR2_1_TBL_TYPE := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
SELECT pev_schedule_id, record_version_number
FROM pa_proj_elem_ver_schedule
WHERE project_id = p_project_id
AND element_version_id = c_object_version_id;
SELECT scheduled_start_date, scheduled_finish_date
FROM pa_proj_elem_ver_schedule
WHERE PROJECT_ID = c_project_id
AND element_version_id = c_element_version_id;
SELECT 'Y' FROM DUAL
WHERE EXISTS
(SELECT 'xyz'
FROM pa_percent_completes
WHERE project_id = p_project_id
AND task_id = c_task_id
AND object_type = 'PA_DELIVERABLES'
AND trunc(date_computed)<= trunc(p_as_of_date)
AND structure_type = 'WORKPLAN'
AND published_flag = 'Y'
AND PA_PROGRESS_UTILS.get_system_task_status( status_code, 'PA_DELIVERABLES') = 'DLVR_IN_PROGRESS'
);
SELECT STATUS_CODE
FROM PA_PROJ_ELEMENTS
WHERE PROJ_ELEMENT_ID = l_proj_element_id
AND PROJECT_ID = l_project_id;
select lookup_code
from fnd_lookup_values
where attribute4 = c_status_weight
and lookup_type = 'PROGRESS_SYSTEM_STATUS'
and language = 'US'
AND VIEW_APPLICATION_ID = 275 ; -- Bug ref # 6507900;
select project_status_code
from pa_project_statuses
where project_status_weight = c_status_weight
and status_type = 'TASK'
and predefined_flag = 'Y';
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, element_version_id object_id_to1
, ppev.object_type object_type
, ppev.wbs_level wbs_level
, to_number( null ) weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id object_id
, ppev.proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCOST_TC
, ppr.OTH_ETC_RAWCOST_PC
, ppr.OTH_ETC_RAWCOST_FC
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag,'N')
BAC_value_self -- bug 4493105
, null earned_value
, to_char(null) task_derivation_method
, ppr.progress_rollup_id
, ppr.record_version_number
-- , element_version_id object_version_id Bug 4651304 : select ppr.object_version_id
, ppr.object_version_id -- Bug 4651304
, ppr.progress_status_code
, ppr.incremental_work_quantity
, ppr.cumulative_work_quantity
-- 4533112 : Added decode to select N and Y only
, decode(ppr.base_progress_status_code, 'Y', 'Y', 'N')
, ppr.EFF_ROLLUP_PROG_STAT_CODE
, ppr.percent_complete_id
, ppr.TASK_WT_BASIS_CODE
, ppr.structure_version_id
,'N' create_required
,'N' update_required
, ppr.base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM pa_proj_element_versions ppev,
pa_progress_rollup ppr,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3 ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--element_version_id IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
temp.object_id = ppev.element_version_id
AND temp.process_number = l_process_number_temp
AND ppev.object_type = 'PA_STRUCTURES'
AND ppr.project_id = ppev.project_id
AND ppr.object_id = ppev.proj_element_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(ppev.project_id,
ppev.proj_element_id, ppev.object_type,p_as_of_date, ppev.element_version_id, p_structure_type, l_structure_version_id, ppev.proj_element_id/* Bug 3764224 */) -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION ALL -- Changed for 14040849 changed from union to union all
-- select tasks
SELECT pobj.object_id_from1
, ppev1.object_type parent_object_type
, pobj.object_id_to1
, ppev2.object_type object_type
, ppev2.wbs_level wbs_level
, pobj.weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 ---base prog status
, pps4.project_status_weight task_weight4
, ppe.status_code
, ppev2.proj_element_id object_id
, ppev2.proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCOST_TC
, ppr.OTH_ETC_RAWCOST_PC
, ppr.OTH_ETC_RAWCOST_FC
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,
'FINANCIAL',p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,
'FINANCIAL',p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag,'N') BAC_value_self -- bug 4493105
, null earned_value
, decode(ppe.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,ppe.base_percent_comp_deriv_code) task_derivation_method
, ppr.progress_rollup_id
, ppr.record_version_number
-- , pobj.object_id_to1 object_version_id Bug 4651304 : select ppr.object_version_id
, ppr.object_version_id -- Bug 4651304
, ppr.progress_status_code
, ppr.incremental_work_quantity
, ppr.cumulative_work_quantity
-- 4533112 : Added decode to select N and Y only
, decode(ppr.base_progress_status_code, 'Y', 'Y', 'N')
, ppr.EFF_ROLLUP_PROG_STAT_CODE
, ppr.percent_complete_id
, ppr.TASK_WT_BASIS_CODE
, ppr.structure_version_id
,'N' create_required
,'N' update_required
, ppr.base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM
pa_object_relationships pobj,
pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_progress_rollup ppr,
pa_proj_elements ppe,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3,
pa_project_statuses pps4,
pa_task_types ttype ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
temp.object_id = pobj.object_id_from1
AND temp.process_number = l_process_number_temp
AND pobj.object_id_from1 = ppev1.element_version_id
AND pobj.object_id_to1 = ppev2.element_version_id
AND pobj.relationship_type = 'S'
AND ppr.project_id = ppev2.project_id
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(ppev2.project_id,
ppev2.proj_element_id, ppev2.object_type,p_as_of_date, ppev2.element_version_id, p_structure_type, l_structure_version_id, ppev2.proj_element_id/*Bug 3764224 */) -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.object_id = ppev2.proj_element_id
AND ppr.project_id = ppev2.project_id
AND ppr.object_type = 'PA_TASKS'
AND ppe.proj_element_id = ppev2.proj_element_id
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
AND ppe.project_id = ppev2.project_id
AND ppe.object_type = ppev2.object_type
AND ppev2.object_type = 'PA_TASKS'
AND ppe.object_type = 'PA_TASKS'
AND ppe.link_task_flag <> 'Y' -- 4392189
AND pobj.object_type_to = 'PA_TASKS'
AND pobj.object_type_from IN ('PA_STRUCTURES', 'PA_TASKS')
AND ppe.type_id = ttype.task_type_id
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND ppr.structure_type = p_structure_type
AND ((ppev2.financial_task_flag = 'Y' AND p_structure_type = 'FINANCIAL') OR p_structure_type = 'WORKPLAN') -- Bug 4346483
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION ALL
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, element_version_id object_id_to1
, ppev.object_type object_type
, ppev.wbs_level wbs_level
, to_number( null ) weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_date(null) as_of_date
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id object_id
, ppev.proj_element_id
, to_number( null ) PPL_ACT_EFFORT_TO_DATE
, to_number( null ) PPL_ACT_COST_TO_DATE_TC
, to_number( null ) PPL_ACT_COST_TO_DATE_PC
, to_number( null ) PPL_ACT_COST_TO_DATE_FC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) ESTIMATED_REMAINING_EFFORT
, to_number( null ) PPL_ETC_COST_TC
, to_number( null ) PPL_ETC_COST_PC
, to_number( null ) PPL_ETC_COST_FC
, to_number( null ) PPL_ETC_RAWCOST_TC
, to_number( null ) PPL_ETC_RAWCOST_PC
, to_number( null ) PPL_ETC_RAWCOST_FC
, to_number( null ) EQPMT_ACT_EFFORT_TO_DATE
, to_number( null ) EQPMT_ACT_COST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_FC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) EQPMT_ETC_EFFORT
, to_number( null ) EQPMT_ETC_COST_TC
, to_number( null ) EQPMT_ETC_COST_PC
, to_number( null ) EQPMT_ETC_COST_FC
, to_number( null ) EQPMT_ETC_RAWCOST_TC
, to_number( null ) EQPMT_ETC_RAWCOST_PC
, to_number( null ) EQPMT_ETC_RAWCOST_FC
, to_number( null ) OTH_QUANTITY_TO_DATE
, to_number( null ) OTH_ACT_COST_TO_DATE_TC
, to_number( null ) OTH_ACT_COST_TO_DATE_PC
, to_number( null ) OTH_ACT_COST_TO_DATE_FC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) OTH_ETC_QUANTITY
, to_number( null ) OTH_ETC_COST_TC
, to_number( null ) OTH_ETC_COST_PC
, to_number( null ) OTH_ETC_COST_FC
, to_number( null ) OTH_ETC_RAWCOST_TC
, to_number( null ) OTH_ETC_RAWCOST_PC
, to_number( null ) OTH_ETC_RAWCOST_FC
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number( null ) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number( null ) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag,'N')
BAC_value_self -- bug 4493105
, null earned_value
, to_char(null) task_derivation_method
, to_number(null) progress_rollup_id
, to_number(null) record_version_number
, element_version_id object_version_id
, to_char(null) progress_status_code
, to_number(null) incremental_work_quantity
, to_number(null) cumulative_work_quantity
-- 4533112 : Added N only
, 'N' base_progress_status_code
, to_char(null) EFF_ROLLUP_PROG_STAT_CODE
, to_number(null) percent_complete_id
, to_char(null) TASK_WT_BASIS_CODE
, to_number(null) structure_version_id
,'N' create_required
,'N' update_required
, to_number(null) base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM pa_proj_element_versions ppev , pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
element_version_id = temp.object_id
AND temp.process_number = l_process_number_temp
AND ppev.object_type = 'PA_STRUCTURES'
AND pa_progress_utils.get_max_rollup_asofdate(ppev.project_id,
ppev.proj_element_id, ppev.object_type,p_as_of_date, ppev.element_version_id, p_structure_type, l_structure_version_id, ppev.proj_element_id/*Bug 3764224 */)
IS NULL
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION ALL -- Change from Union to Union ALL for 14040849
-- select tasks
SELECT pobj.object_id_from1
, ppev1.object_type parent_object_type
, pobj.object_id_to1
, ppev2.object_type object_type
, ppev2.wbs_level wbs_level
, pobj.weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_date(null) as_of_date
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev2.proj_element_id object_id
, ppev2.proj_element_id
, to_number( null ) PPL_ACT_EFFORT_TO_DATE
, to_number( null ) PPL_ACT_COST_TO_DATE_TC
, to_number( null ) PPL_ACT_COST_TO_DATE_PC
, to_number( null ) PPL_ACT_COST_TO_DATE_FC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) ESTIMATED_REMAINING_EFFORT
, to_number( null ) PPL_ETC_COST_TC
, to_number( null ) PPL_ETC_COST_PC
, to_number( null ) PPL_ETC_COST_FC
, to_number( null ) PPL_ETC_RAWCOST_TC
, to_number( null ) PPL_ETC_RAWCOST_PC
, to_number( null ) PPL_ETC_RAWCOST_FC
, to_number( null ) EQPMT_ACT_EFFORT_TO_DATE
, to_number( null ) EQPMT_ACT_COST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_FC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) EQPMT_ETC_EFFORT
, to_number( null ) EQPMT_ETC_COST_TC
, to_number( null ) EQPMT_ETC_COST_PC
, to_number( null ) EQPMT_ETC_COST_FC
, to_number( null ) EQPMT_ETC_RAWCOST_TC
, to_number( null ) EQPMT_ETC_RAWCOST_PC
, to_number( null ) EQPMT_ETC_RAWCOST_FC
, to_number( null ) OTH_QUANTITY_TO_DATE
, to_number( null ) OTH_ACT_COST_TO_DATE_TC
, to_number( null ) OTH_ACT_COST_TO_DATE_PC
, to_number( null ) OTH_ACT_COST_TO_DATE_FC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) OTH_ETC_QUANTITY
, to_number( null ) OTH_ETC_COST_TC
, to_number( null ) OTH_ETC_COST_PC
, to_number( null ) OTH_ETC_COST_FC
, to_number( null ) OTH_ETC_RAWCOST_TC
, to_number( null ) OTH_ETC_RAWCOST_PC
, to_number( null ) OTH_ETC_RAWCOST_FC
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number( null ) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number( null ) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',
p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',
p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag,'N') BAC_value_self -- bug 4493105
, null earned_value
, decode(ppe.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,ppe.base_percent_comp_deriv_code) task_derivation_method
, to_number(null) progress_rollup_id
, to_number(null) record_version_number
, pobj.object_id_to1 object_version_id
, to_char(null) progress_status_code
, to_number(null) incremental_work_quantity
, to_number(null) cumulative_work_quantity
-- 4533112 : Added N only
, 'N' base_progress_status_code
, to_char(null) EFF_ROLLUP_PROG_STAT_CODE
, to_number(null) percent_complete_id
, to_char(null) TASK_WT_BASIS_CODE
, to_number(null) structure_version_id
,'N' create_required
,'N' update_required
, to_number(null) base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM
pa_object_relationships pobj,
pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_proj_elements ppe,
pa_project_statuses pps4,
pa_task_types ttype ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
pobj.object_id_from1 = temp.object_id
AND temp.process_number = l_process_number_temp
AND pobj.object_id_from1 = ppev1.element_version_id
AND pobj.object_id_to1 = ppev2.element_version_id
AND pobj.relationship_type = 'S'
AND ppe.proj_element_id = ppev2.proj_element_id
AND ppe.status_code = pps4.project_status_code(+)
AND ppe.project_id = ppev2.project_id
AND ppe.object_type = ppev2.object_type
AND ppev2.object_type = 'PA_TASKS'
AND ppe.object_type = 'PA_TASKS'
AND ppe.link_task_flag <> 'Y' -- 4392189
AND pobj.object_type_to = 'PA_TASKS'
AND pobj.object_type_from IN ('PA_STRUCTURES', 'PA_TASKS')
AND ppe.type_id = ttype.task_type_id
AND pa_progress_utils.get_max_rollup_asofdate(ppev2.project_id,
ppev2.proj_element_id, ppev2.object_type,p_as_of_date, ppev2.element_version_id, p_structure_type, l_structure_version_id, ppev2.proj_element_id/*Bug 3764224 */)
IS NULL
AND ( (ppev2.financial_task_flag = 'Y' AND p_structure_type = 'FINANCIAL') OR p_structure_type = 'WORKPLAN') -- Bug 4346483
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
;
SELECT a.wbs_element_version_id
, a.rate_based_flag
, a.resource_class_code
, a.resource_assignment_id
, a.total_plan_quantity planned_quantity
, a.total_project_burdened_cost planned_bur_cost_proj_cur
, a.resource_list_member_id
from pa_resource_assignments a
WHERE a.wbs_element_version_id = c_task_ver_id
AND a.project_id = p_project_id
AND a.task_id = c_task_id
-- AND a.ta_display_flag = 'Y' --Bug 4323537
;
SELECT ppr.*
FROM pa_progress_rollup ppr
WHERE ppr.project_id = p_project_id
AND ppr.object_id = c_object_id
AND ppr.proj_element_id = c_proj_element_id
AND ppr.object_type = 'PA_ASSIGNMENTS'
AND ppr.current_flag <> 'W'
AND ppr.structure_type = p_structure_type
AND ppr.as_of_date <= p_as_of_date
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND rownum =1
ORDER BY as_of_date desc
;
SELECT asgn.task_version_id
, 'PA_TASKS' parent_object_type
, asgn.resource_assignment_id object_id_to1 --maansari4/8 -- Bug 3764224, ideally this shdould be changes to RLM id. But keeping this as is due to Scheduling API behaviour
, asgn.task_version_id object_id_from1
, 'PA_ASSIGNMENTS' object_type
, asgn.resource_class_code
, asgn.rate_based_flag
, decode(asgn.rate_based_flag,'Y','EFFORT','N','COST') assignment_type
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.STRUCTURE_VERSION_ID
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_EFFORT_TO_DATE + ppr.EQPMT_ACT_EFFORT_TO_DATE total_act_effort_to_date
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_EFFORT + ppr.estimated_remaining_effort total_etc_effort
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_COST_TO_DATE_TC + ppr.PPL_ACT_COST_TO_DATE_TC + ppr.EQPMT_ACT_COST_TO_DATE_TC total_act_cost_to_date_tc
, ppr.OTH_ACT_COST_TO_DATE_PC + ppr.PPL_ACT_COST_TO_DATE_PC + ppr.EQPMT_ACT_COST_TO_DATE_PC total_act_cost_to_date_pc
, ppr.OTH_ACT_COST_TO_DATE_FC + ppr.PPL_ACT_COST_TO_DATE_FC + ppr.EQPMT_ACT_COST_TO_DATE_FC total_act_cost_to_date_fc
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.OTH_ETC_COST_TC + ppr.PPL_ETC_COST_TC + ppr.EQPMT_ETC_COST_TC total_etc_cost_tc
, ppr.OTH_ETC_COST_PC + ppr.PPL_ETC_COST_PC + ppr.EQPMT_ETC_COST_PC total_etc_cost_pc
, ppr.OTH_ETC_COST_FC + ppr.PPL_ETC_COST_FC + ppr.EQPMT_ETC_COST_FC total_etc_cost_fc
-- , ppr.EARNED_VALUE
, ppr.SUBPRJ_PPL_ACT_EFFORT
, ppr.SUBPRJ_EQPMT_ACT_EFFORT
, ppr.SUBPRJ_PPL_ETC_EFFORT
, ppr.SUBPRJ_EQPMT_ETC_EFFORT
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_TC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_FC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_PC
, ppr.SUBPRJ_PPL_ACT_COST_TC
, ppr.SUBPRJ_PPL_ACT_COST_FC
, ppr.SUBPRJ_PPL_ACT_COST_PC
, ppr.SUBPRJ_EQPMT_ACT_COST_TC
, ppr.SUBPRJ_EQPMT_ACT_COST_FC
, ppr.SUBPRJ_EQPMT_ACT_COST_PC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_TC + ppr.SUBPRJ_PPL_ACT_COST_TC + ppr.SUBPRJ_EQPMT_ACT_COST_TC total_subproj_act_cost_tc
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_PC + ppr.SUBPRJ_PPL_ACT_COST_PC + ppr.SUBPRJ_EQPMT_ACT_COST_PC total_subproj_act_cost_pc
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_FC + ppr.SUBPRJ_PPL_ACT_COST_FC + ppr.SUBPRJ_EQPMT_ACT_COST_FC total_subproj_act_cost_fc
, ppr.SUBPRJ_OTH_ETC_COST_TC
, ppr.SUBPRJ_OTH_ETC_COST_FC
, ppr.SUBPRJ_OTH_ETC_COST_PC
, ppr.SUBPRJ_PPL_ETC_COST_TC
, ppr.SUBPRJ_PPL_ETC_COST_FC
, ppr.SUBPRJ_PPL_ETC_COST_PC
, ppr.SUBPRJ_EQPMT_ETC_COST_TC
, ppr.SUBPRJ_EQPMT_ETC_COST_FC
, ppr.SUBPRJ_EQPMT_ETC_COST_PC
, ppr.SUBPRJ_OTH_ETC_COST_TC + ppr.SUBPRJ_PPL_ETC_COST_TC + ppr.SUBPRJ_EQPMT_ETC_COST_TC total_subproj_etc_cost_tc
, ppr.SUBPRJ_OTH_ETC_COST_PC + ppr.SUBPRJ_PPL_ETC_COST_PC + ppr.SUBPRJ_EQPMT_ETC_COST_PC total_subproj_etc_cost_pc
, ppr.SUBPRJ_OTH_ETC_COST_FC + ppr.SUBPRJ_PPL_ETC_COST_FC + ppr.SUBPRJ_EQPMT_ETC_COST_FC total_subproj_etc_cost_fc
, ppr.SUBPRJ_EARNED_VALUE
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
,decode(c_task_per_comp_deriv_method,'EFFORT', ( nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)),
( nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0)) ) earned_value
, decode(p_wp_rollup_method, 'COST', nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0)
+ nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0)
+ nvl(ppr.EQPMT_ETC_COST_PC,0), 'EFFORT', decode(rate_based_flag,'N', 0, nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0)
+ nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0) + nvl(ppr.estimated_remaining_effort,0)), 0) bac_value_in_rollup_method
,decode(c_task_per_comp_deriv_method,'EFFORT', ( NVL( decode( asgn.rate_based_flag, 'Y',
decode( asgn.resource_class_code,
'PEOPLE', nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,
decode( sign(nvl(asgn.planned_quantity,0)-nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0)), -1, 0,
nvl( asgn.planned_quantity-ppr.PPL_ACT_EFFORT_TO_DATE,0))),
'EQUIPMENT', nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,
decode( sign(nvl(asgn.planned_quantity,0)-nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)), -1, 0,
nvl( asgn.planned_quantity-ppr.EQPMT_ACT_EFFORT_TO_DATE,0)))),0),0)
),
( NVL( decode( asgn.resource_class_code,
'FINANCIAL_ELEMENTS',
nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl( asgn.planned_bur_cost_proj_cur-ppr.OTH_ACT_COST_TO_DATE_PC,0))),
'MATERIAL_ITEMS',
nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl( asgn.planned_bur_cost_proj_cur-ppr.OTH_ACT_COST_TO_DATE_PC,0))),
'PEOPLE',
nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur-ppr.PPL_ACT_COST_TO_DATE_PC,0))),
'EQUIPMENT',
nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur-ppr.EQPMT_ACT_COST_TO_DATE_PC,0)))),
nvl(asgn.planned_bur_cost_proj_cur,0)
))
) bac_value_in_task_deriv
FROM
pa_task_asgmts_v asgn,
pa_progress_rollup ppr
WHERE asgn.task_version_id = c_task_ver_id
AND asgn.project_id = ppr.project_id
AND asgn.RESOURCE_LIST_MEMBER_ID = ppr.object_id -- Bug 3764224
AND asgn.task_id = ppr.proj_element_id -- Bug 3764224
AND ppr.object_type = 'PA_ASSIGNMENTS'
-- AND asgn.ta_display_flag = 'Y' --Bug 4323537.
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(asgn.project_id,
asgn.RESOURCE_LIST_MEMBER_ID, 'PA_ASSIGNMENTS',p_as_of_date,asgn.task_version_id, p_structure_type, l_structure_version_id, asgn.task_id) ---Bug 3764224 -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
UNION ALL
SELECT asgn.task_version_id
, 'PA_TASKS' parent_object_type
, asgn.resource_assignment_id object_id_to1 -- Bug 3764224, ideally this shdould be changes to RLM id. But keeping this as is due to Scheduling API behaviour
, asgn.task_version_id object_id_from1
, 'PA_ASSIGNMENTS' object_type
, asgn.resource_class_code
, asgn.rate_based_flag
, decode(asgn.rate_based_flag,'Y','EFFORT','N','COST') assignment_type
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) ESTIMATED_REMAINING_EFFORT
, to_number(null) STRUCTURE_VERSION_ID
, to_char(null) STRUCTURE_TYPE
, to_number(null) PROJ_ELEMENT_ID
, to_number(null) PPL_ACT_EFFORT_TO_DATE
, to_number(null) EQPMT_ACT_EFFORT_TO_DATE
, to_number(null) total_act_effort_to_date
, to_number(null) EQPMT_ETC_EFFORT
, to_number(null) total_etc_effort
, to_number(null) OTH_ACT_COST_TO_DATE_TC
, to_number(null) OTH_ACT_COST_TO_DATE_PC
, to_number(null) OTH_ACT_COST_TO_DATE_FC
, to_number(null) OTH_ETC_COST_TC
, to_number(null) OTH_ETC_COST_PC
, to_number(null) OTH_ETC_COST_FC
, to_number(null) PPL_ACT_COST_TO_DATE_TC
, to_number(null) PPL_ACT_COST_TO_DATE_PC
, to_number(null) PPL_ACT_COST_TO_DATE_FC
, to_number(null) PPL_ETC_COST_TC
, to_number(null) PPL_ETC_COST_PC
, to_number(null) PPL_ETC_COST_FC
, to_number(null) EQPMT_ACT_COST_TO_DATE_TC
, to_number(null) EQPMT_ACT_COST_TO_DATE_PC
, to_number(null) EQPMT_ACT_COST_TO_DATE_FC
, to_number(null) total_act_cost_to_date_tc
, to_number(null) total_act_cost_to_date_pc
, to_number(null) total_act_cost_to_date_fc
, to_number(null) EQPMT_ETC_COST_TC
, to_number(null) EQPMT_ETC_COST_PC
, to_number(null) EQPMT_ETC_COST_FC
, to_number(null) total_etc_cost_tc
, to_number(null) total_etc_cost_pc
, to_number(null) total_etc_cost_fc
-- , ppr.EARNED_VALUE
, to_number(null) SUBPRJ_PPL_ACT_EFFORT
, to_number(null) SUBPRJ_EQPMT_ACT_EFFORT
, to_number(null) SUBPRJ_PPL_ETC_EFFORT
, to_number(null) SUBPRJ_EQPMT_ETC_EFFORT
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_TC
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_FC
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_PC
, to_number(null) SUBPRJ_PPL_ACT_COST_TC
, to_number(null) SUBPRJ_PPL_ACT_COST_FC
, to_number(null) SUBPRJ_PPL_ACT_COST_PC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_TC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_FC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_PC
, to_number(null) total_subproj_act_cost_tc
, to_number(null) total_subproj_act_cost_pc
, to_number(null) total_subproj_act_cost_fc
, to_number(null) SUBPRJ_OTH_ETC_COST_TC
, to_number(null) SUBPRJ_OTH_ETC_COST_FC
, to_number(null) SUBPRJ_OTH_ETC_COST_PC
, to_number(null) SUBPRJ_PPL_ETC_COST_TC
, to_number(null) SUBPRJ_PPL_ETC_COST_FC
, to_number(null) SUBPRJ_PPL_ETC_COST_PC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_TC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_FC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_PC
, to_number(null) total_subproj_etc_cost_tc
, to_number(null) total_subproj_etc_cost_pc
, to_number(null) total_subproj_etc_cost_fc
, to_number(null) SUBPRJ_EARNED_VALUE
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number(null) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number(null) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, to_number(null) earned_value
, to_number(null) bac_value_in_rollup_method
-- , decode(c_task_per_comp_deriv_method,'EFFORT',decode(asgn.rate_based_flag,'Y',asgn.planned_quantity,0),asgn.planned_quantity) bac_value_in_task_deriv --3801780
--bug 3815252
, decode(c_task_per_comp_deriv_method,'EFFORT',decode(asgn.rate_based_flag,'Y',
decode(asgn.resource_class_code,'PEOPLE', asgn.planned_quantity, 'EQUIPMENT', asgn.planned_quantity, 0),0)
,asgn.planned_bur_cost_proj_cur) bac_value_in_task_deriv --3801780
FROM
pa_task_asgmts_v asgn
WHERE asgn.task_version_id = c_task_ver_id
AND pa_progress_utils.get_max_rollup_asofdate(asgn.project_id,
asgn.RESOURCE_LIST_MEMBER_ID, 'PA_ASSIGNMENTS',p_as_of_date,asgn.task_version_id, p_structure_type, l_structure_version_id, asgn.task_id ) --- Bug 3764224
IS NULL
--bug 3958686, now hidden assignments should not to be selected
-- AND asgn.ta_display_flag = 'Y' -- Bug 4323537
; */
SELECT obj.object_type_from
, 'PA_TASKS' parent_object_type
, obj.object_id_to2 object_id
, obj.object_id_to1
, obj.object_id_from1
, 'PA_DELIVERABLES' object_type
, ppr.actual_finish_date
, ppr.as_of_date
, ppr.completed_percentage
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID
, ppr.STRUCTURE_VERSION_ID
, ppr.TASK_WT_BASIS_CODE
, elem.progress_weight weighting_percentage
, ppr.base_percent_complete
, pps2.project_status_weight override_weight ---override progress status code
, pps3.project_status_weight base_weight --base prog status
FROM pa_proj_elements elem
, pa_object_relationships obj
, pa_progress_rollup ppr
, pa_project_statuses pps2
, pa_project_statuses pps3
WHERE obj.object_id_from2= c_task_proj_elem_id
AND obj.object_type_from = 'PA_TASKS'
AND obj.object_type_to = 'PA_DELIVERABLES'
AND obj.relationship_type = 'A'
AND obj.relationship_subtype = 'TASK_TO_DELIVERABLE'
AND elem.proj_element_id = obj.object_id_to2
AND elem.object_type = 'PA_DELIVERABLES'
and elem.project_id = p_project_id
-- AND obj.object_id_to1 = ppr.object_version_id(+)
AND ppr.object_type(+) = 'PA_DELIVERABLES'
AND ppr.project_id(+) = c_project_id
AND ppr.object_id(+) = obj.object_id_to2
AND ppr.as_of_date(+) = pa_progress_utils.get_max_rollup_asofdate(c_project_id,
obj.object_id_to2, 'PA_DELIVERABLES',p_as_of_date,obj.object_id_to1, p_structure_type, l_structure_version_id, obj.object_id_from2 /* Bug 3764224 */) -- FPM Dev CR 3
AND ppr.structure_type(+) = p_structure_type
AND ppr.structure_version_id is null -- deliverable progress for working version is not allowed
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.current_flag(+) <> 'W'
;
select distinct object_id_from1
from pa_object_relationships
start with object_id_to1 IN (select object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
and relationship_type = 'S'
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S'
MINUS
select object_id object_id_from1 from pa_proj_rollup_temp where process_number = l_process_number_temp
;
select object_id
from pa_proj_rollup_temp where process_number = l_process_number_temp
;
SELECT decode(status.project_system_status_code, 'STRUCTURE_PUBLISHED','Y','N')
FROM pa_proj_elem_ver_structure str
, pa_project_statuses status
where str.element_version_id = c_structure_version_id
AND str.project_id = c_project_id
AND str.status_code = status.project_status_code;
SELECT element_version_id
FROM pa_proj_element_versions
where project_id = c_project_id
and object_type = 'PA_TASKS'
AND parent_structure_version_id = c_structure_version_id
AND wbs_level = (Select max(wbs_level)
From pa_proj_element_versions
where project_id = c_project_id
and object_type = 'PA_TASKS'
AND parent_structure_version_id = c_structure_version_id);
select 'Y' from pa_proj_element_versions ppev1
where ppev1.parent_structure_version_id = c_structure_ver_id
and ppev1.proj_element_id = (select proj_element_id from pa_proj_element_versions ppev2
where ppev2.element_version_id = c_task_version_id
and ppev2.project_id = p_project_id);
select /*+ leading (ROLLUP) */ ppr.as_of_date, ver2.proj_element_id child_task_id, ver2.element_version_id child_task_ver_id
from pa_object_relationships obj
, pa_proj_element_versions ver
, pa_progress_rollup ppr
, pa_proj_rollup_temp rollup
, pa_proj_element_versions ver2
where rollup.object_id = obj.object_id_to1
AND rollup.process_number = l_process_number_temp
AND obj.relationship_type = 'S'
AND obj.object_type_from IN ('PA_STRUCTURES' ,'PA_TASKS')
AND obj.object_type_to = 'PA_TASKS'
AND obj.object_id_from1= ver.element_version_id
AND ver.project_id = p_project_id
AND ver.object_type IN ('PA_TASKS', 'PA_STRUCTURES')
AND ver.project_id = ppr.project_id
AND ppr.as_of_date > p_as_of_date
AND ppr.object_id = ver.proj_element_id
AND ppr.current_flag = 'Y'
AND ppr.proj_element_id = ver.proj_element_id
AND ppr.structure_type = p_structure_type
AND ppr.structure_version_id is null
AND obj.object_id_to1 = ver2.element_version_id
AND ver2.project_id = p_project_id
AND ver2.object_type = 'PA_TASKS'
AND rollup.object_type = 'PA_TASKS' -- cklee bug: 6610612
order by ppr.as_of_date;
SELECT
ppv2.project_id sub_project_id
,ppv2.element_version_id sub_structure_ver_id
,ppv2.proj_element_id sub_proj_element_id
, pa_progress_utils.Get_BAC_Value(ppv2.project_id, c_task_per_comp_deriv_method, ppv2.proj_element_id, ppv2.parent_structure_version_id,
'WORKPLAN','N') sub_project_bac_value
FROM
pa_proj_element_versions ppv2
,pa_proj_elem_ver_structure ppevs2
,pa_object_relationships por1
,pa_object_relationships por2
WHERE
por1.object_id_from1 = c_task_version_id
AND por1.object_id_to1 = por2.object_id_from1
AND por2.object_id_to1 = ppv2.element_version_id
AND ppv2.object_type = 'PA_STRUCTURES'
-- AND por2.relationship_type in ( 'LW', 'LF' )
AND por2.relationship_type = 'LW'
AND ppevs2.element_version_id = ppv2.element_version_id
AND ppevs2.project_id = ppv2.project_id
AND ppevs2.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs2.latest_eff_published_flag = 'Y';
SELECT
ppr.progress_rollup_id
,ppr.actual_start_date
,ppr.actual_finish_date
,ppr.estimated_start_date
,ppr.estimated_finish_date
,pps1.project_status_weight rollup_weight1
,pps2.project_status_weight override_weight2
,pps3.project_status_weight base_weight3
,pps4.project_status_weight task_weight4
-- Bug 4506009 --,decode(c_task_per_comp_deriv_method,'EFFORT', ( nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)),
-- ( nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0))) earned_value
,decode(c_task_per_comp_deriv_method,'EFFORT', nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0)
, nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,0)) bac_value
, nvl(ppr.completed_percentage, ppr.eff_rollup_percent_comp) completed_percentage --Bug 4506009
FROM
pa_progress_rollup ppr
,pa_project_statuses pps1
,pa_project_statuses pps2
,pa_project_statuses pps3
,pa_project_statuses pps4
,pa_proj_elements ppe
WHERE
ppr.project_id = c_sub_project_id
AND ppe.project_id = c_sub_project_id
AND ppe.object_type = 'PA_STRUCTURES'
AND ppe.proj_element_id = c_sub_proj_element_id
AND ppr.object_id = c_sub_proj_element_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.structure_version_id is null
AND ppr.structure_type = 'WORKPLAN'
AND ppr.current_flag IN ('Y', 'N')
AND ppr.as_of_date <= c_as_of_date
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
order by as_of_date desc
;
SELECT 'Y'
FROM pa_object_relationships
WHERE --relationship_type in ( 'LW', 'LF' )
relationship_type = 'LW'
AND object_id_from1 IN
(SELECT object_id_to1
FROM pa_object_relationships
START WITH object_id_from1 = c_task_version_id
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_to1 = object_id_from1
AND relationship_type = 'S')
;
SELECT project_currency_code, org_id INTO l_prj_currency_code, l_org_id FROM pa_projects_all WHERE project_id = p_project_id;
SELECT PA_PROJ_ROLLUP_TEMP_S.nextval
INTO l_process_number_temp FROM dual;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT distinct l_process_number_temp, object_id_from1, 'PA_TASKS', 1
FROM pa_object_relationships
WHERE relationship_type = 'S'
START WITH object_id_to1 = l_task_version_id
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_from1 = object_id_to1
AND relationship_type = 'S'
UNION ALL -- 4563049 : Rollup Structure also if passed, so that it can populate ETC from PJI
SELECT distinct l_process_number_temp, l_task_version_id object_id_from1, 'PA_TASKS', 1
FROM dual
WHERE l_task_version_id = p_structure_version_id
;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
VALUES(l_process_number_temp,p_task_version_id_tbl(i), 'PA_TASKS',1 );
l_mass_rollup_prog_rec_tab.delete;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_rec_tab(i), 1);
l_mass_rollup_prog_rec_tab.delete;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM pa_proj_element_versions
WHERE project_id = p_project_id
AND parent_structure_version_id = p_structure_version_id
--AND PA_PROJ_ELEMENTS_UTILS.IS_LOWEST_TASK(element_version_id) = 'N'
-- 4490532 : changed from IS_LOWEST_TASK to is_summary_task_or_structure
AND PA_PROJ_ELEMENTS_UTILS.is_summary_task_or_structure(element_version_id) = 'Y'
AND object_type = 'PA_TASKS'
UNION
SELECT l_process_number_temp, p_structure_version_id object_id_from1, 'PA_TASKS', 1
FROM dual
;
l_mass_rollup_prog_rec_tab.delete;
l_mass_rollup_prog_rec_tab.delete;
,l_tsk_update_required
,l_tsk_base_percent_comp_tab -- 4392189 : Program Reporting Changes - Phase 2
;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
l_asgn_task_version_id_tab.delete;
l_asgn_rate_based_flag_tab.delete;
l_asgn_resource_class_code_tab.delete;
l_asgn_res_assignment_id_tab.delete;
l_asgn_planned_quantity_tab.delete;
l_asgn_plan_bur_cost_pc_tab.delete;
l_asgn_res_list_member_id_tab.delete;
-- Update to happen only version is disabled or on a working version when version enabled
IF (l_wp_version_enabled_flag = 'N'
OR (l_wp_version_enabled_flag = 'Y'AND l_asgn_progress_rec.structure_version_id IS NOT NULL) ) THEN
UPDATE PA_PROGRESS_ROLLUP
SET ACTUAL_FINISH_DATE = NULL
WHERE progress_rollup_id = l_asgn_progress_rec.progress_rollup_id;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, p_task_version_id, 'PA_TASKS', 1
FROM dual;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_exists_tab(i), 1);
l_mass_rollup_prog_exists_tab.delete;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_exists_tab(i), 1);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PROGRESS_PVT', x_Msg => 'Doing UPDATE_ROLLUP_PROGRESS_PVT', x_Log_Level=> 3);
FOR cur_reverse_tree_rec in cur_reverse_tree_update LOOP
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PROGRESS_PVT', x_Msg => 'cur_reverse_tree_rec.object_id_to1='||cur_reverse_tree_rec.object_id_to1, x_Log_Level=> 3);
SELECT 'Y' into l_child_rollup_rec_exists
FROM dual
WHERE exists
(
SELECT 'xyz'
from pa_proj_rollup_temp
WHERE object_id = cur_reverse_tree_rec.object_id_to1
and process_number = l_process_number_temp
);
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
PERIOD_NAME
, ACT_PRJ_BRDN_COST-ACT_PRJ_EQUIP_BRDN_COST-ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_EQUIP_BRDN_COST
, ACT_POU_BRDN_COST-ACT_POU_LABOR_BRDN_COST-ACT_POU_EQUIP_BRDN_COST
, ACT_POU_LABOR_BRDN_COST
, ACT_POU_EQUIP_BRDN_COST
, ACT_LABOR_HRS
, ACT_EQUIP_HRS
, ETC_PRJ_BRDN_COST-ETC_PRJ_EQUIP_BRDN_COST-ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_EQUIP_BRDN_COST
, ETC_POU_BRDN_COST-ETC_POU_LABOR_BRDN_COST-ETC_POU_EQUIP_BRDN_COST
, ETC_POU_LABOR_BRDN_COST
, ETC_POU_EQUIP_BRDN_COST
, ETC_LABOR_HRS
, ETC_EQUIP_HRS
, ACT_PRJ_RAW_COST-ACT_PRJ_EQUIP_RAW_COST-ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_EQUIP_RAW_COST
, ACT_POU_RAW_COST-ACT_POU_LABOR_RAW_COST-ACT_POU_EQUIP_RAW_COST
, ACT_POU_LABOR_RAW_COST
, ACT_POU_EQUIP_RAW_COST
, ETC_PRJ_RAW_COST-ETC_PRJ_EQUIP_RAW_COST-ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_EQUIP_RAW_COST
, ETC_POU_RAW_COST-ETC_POU_LABOR_RAW_COST-ETC_POU_EQUIP_RAW_COST
, ETC_POU_LABOR_RAW_COST
, ETC_POU_EQUIP_RAW_COST
, LABOR_HOURS
, EQUIPMENT_HOURS
, POU_LABOR_BRDN_COST
, PRJ_LABOR_BRDN_COST
, POU_EQUIP_BRDN_COST
, PRJ_EQUIP_BRDN_COST
, POU_BRDN_COST - ( POU_EQUIP_BRDN_COST + POU_LABOR_BRDN_COST )
, PRJ_BRDN_COST - ( PRJ_EQUIP_BRDN_COST + PRJ_LABOR_BRDN_COST )
, POU_LABOR_RAW_COST
, PRJ_LABOR_RAW_COST
, POU_EQUIP_RAW_COST
, PRJ_EQUIP_RAW_COST
, POU_RAW_COST - ( POU_EQUIP_RAW_COST + POU_LABOR_RAW_COST )
, PRJ_RAW_COST - ( PRJ_EQUIP_RAW_COST + PRJ_LABOR_RAW_COST )
INTO
l_PERIOD_NAME
, l_OTH_ACT_COST_TO_DATE_PC
, l_PPL_ACT_COST_TO_DATE_PC
, l_EQPMT_ACT_COST_TO_DATE_PC
, l_OTH_ACT_COST_TO_DATE_FC
, l_PPL_ACT_COST_TO_DATE_FC
, l_EQPMT_ACT_COST_TO_DATE_FC
, l_PPL_ACT_EFFORT_TO_DATE
, l_EQPMT_ACT_EFFORT_TO_DATE
, l_ETC_Cost_PC
, l_PPL_ETC_COST_PC
, l_EQPMT_ETC_COST_PC
, l_ETC_Cost_FC
, l_PPL_ETC_COST_FC
, l_EQPMT_ETC_COST_FC
, l_remaining_effort1
, l_EQPMT_ETC_EFFORT
, l_OTH_ACT_RAWCOST_TO_DATE_PC
, l_PPL_ACT_RAWCOST_TO_DATE_PC
, l_EQPMT_ACT_RAWCOST_TO_DATE_PC
, l_OTH_ACT_RAWCOST_TO_DATE_FC
, l_PPL_ACT_RAWCOST_TO_DATE_FC
, l_EQPMT_ACT_RAWCOST_TO_DATE_FC
, l_ETC_RAWCost_PC
, l_PPL_ETC_RAWCOST_PC
, l_EQPMT_ETC_RAWCOST_PC
, l_ETC_RAWCost_FC
, l_PPL_ETC_RAWCOST_FC
, l_EQPMT_ETC_RAWCOST_FC
, l_LABOR_HOURS
, l_EQUIPMENT_HOURS
, l_POU_LABOR_BRDN_COST
, l_PRJ_LABOR_BRDN_COST
, l_POU_EQUIP_BRDN_COST
, l_PRJ_EQUIP_BRDN_COST
, l_POU_OTH_BRDN_COST
, l_PRJ_OTH_BRDN_COST
, l_POU_LABOR_RAW_COST
, l_PRJ_LABOR_RAW_COST
, l_POU_EQUIP_RAW_COST
, l_PRJ_EQUIP_RAW_COST
, l_POU_OTH_RAW_COST
, l_PRJ_OTH_RAW_COST
FROM PJI_FM_XBS_ACCUM_TMP1
WHERE project_id = p_project_id
AND struct_version_id = p_structure_version_id
AND project_element_id = cur_reverse_tree_rec.proj_element_id
AND plan_version_id > 0
AND txn_currency_code is null
AND calendar_type = 'A'
AND res_list_member_id is null;
UPDATE pa_proj_elements
SET status_code = l_status_code
WHERE project_id = p_project_id
AND proj_element_id = cur_reverse_tree_rec.proj_element_id;
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
WHERE object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = cur_reverse_tree_rec.object_Type ---4743866
AND project_id = p_project_id
--AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED', 'COMPLETED' )
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' ) -- 02/06/04 Satish
AND structure_type = p_structure_type -- FPM Dev CR 3
AND current_flag = 'N' and published_flag = 'N'
;
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
WHERE object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = cur_reverse_tree_rec.object_Type ---4743866
AND project_id = p_project_id
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' ) -- 02/06/04 Satish
AND structure_type = p_structure_type -- FPM Dev CR 3
AND published_flag = 'Y' ---4743866
AND current_flag = 'Y'
AND trunc(date_computed) = trunc(p_as_of_date)
;
-- table in case of update, in case of insert, use the new object version id
-- Commented below code and added new condition
--IF p_upd_new_elem_ver_id_flag = 'Y' THEN
-- l_tsk_object_version_id_tab(task_index) := l_rollup_table1(i).object_id;
PA_PROJECT_STRUCTURE_PVT1.update_sch_dirty_flag(
p_structure_version_id => p_structure_version_id
,p_dirty_flag => 'Y'
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
UPDATE pa_proj_elem_ver_schedule
SET ACTUAL_START_DATE = l_actual_start_date
, ACTUAL_FINISH_DATE = l_actual_finish_date
, ESTIMATED_START_DATE = l_rollup_table1(i).start_date2
, ESTIMATED_FINISH_DATE = l_rollup_table1(i).finish_date2
, record_version_number = record_version_number+1
-- 5119716 Begin
, estimated_duration = trunc(l_rollup_table1(i).finish_date2) - trunc(l_rollup_table1(i).start_date2) + 1
, actual_duration = trunc(l_actual_finish_date) - trunc(l_actual_start_date) + 1
-- 5119716 End
, last_updated_by = l_user_id
, last_update_date= sysdate
, last_update_login = l_login_id
WHERE project_id = p_project_id
AND element_version_id = l_rollup_table1(i).object_id;
UPDATE pa_projects_all
SET actual_start_date = l_rollup_table1(i).start_date1,
actual_finish_date = l_rollup_table1(i).finish_date1
WHERE project_id = p_project_id;
l_tsk_update_required(task_index):='Y';
SELECT percent_complete_id
INTO l_percent_complete_id
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = p_structure_type
AND date_computed = ( SELECT max(date_computed)
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = p_structure_type
AND date_computed <= p_as_of_date);
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = cur_reverse_tree_rec.proj_element_id
AND object_type = l_rollup_table1(i).object_type
AND current_flag <> 'W'
AND structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND structure_version_id is null) OR (l_published_structure = 'N' AND structure_version_id = p_structure_version_id))
;
UPDATE pa_progress_rollup
SET
object_version_id = l_tsk_object_version_id_tab(i)
, last_update_date = sysdate
, last_updated_by = l_user_id
, last_update_login = l_login_id
, eff_rollup_percent_comp = l_tsk_roll_comp_percent_tab(i)
, completed_percentage = decode(p_progress_mode,'TRANSFER_WP_PC', l_tsk_roll_comp_percent_tab(i), completed_percentage)
-- Bug 4284353 : Used decode above
, estimated_start_date = l_tsk_est_start_date_tab(i)
, estimated_finish_date = l_tsk_est_finish_date_tab(i)
, actual_start_date = l_tsk_actual_start_date_tab(i)
, actual_finish_date = l_tsk_actual_finish_date_tab(i)
, record_version_number = record_version_number +1
, base_percent_comp_deriv_code = l_tsk_deriv_method_tab(i)
, base_progress_status_code = l_tsk_base_prog_stat_code_tab(i)
, eff_rollup_prog_stat_code = l_tsk_eff_roll_prg_st_code_tab(i)
, percent_complete_id = l_tsk_percent_complete_id_tab(i)
, ppl_act_effort_to_date = l_tsk_ppl_act_eff_tab(i)
, ppl_act_cost_to_date_pc = l_tsk_ppl_act_cost_pc_tab(i)
, ppl_act_cost_to_date_fc = l_tsk_ppl_act_cost_fc_tab(i)
, ppl_act_rawcost_to_date_pc = l_tsk_ppl_act_rawcost_pc_tab(i)
, ppl_act_rawcost_to_date_fc = l_tsk_ppl_act_rawcost_fc_tab(i)
, estimated_remaining_effort = l_tsk_est_rem_effort_tab(i)
, ppl_etc_cost_pc = l_tsk_ppl_etc_cost_pc_tab(i)
, ppl_etc_cost_fc = l_tsk_ppl_etc_cost_fc_tab(i)
, ppl_etc_rawcost_pc = l_tsk_ppl_etc_rawcost_pc_tab(i)
, ppl_etc_rawcost_fc = l_tsk_ppl_etc_rawcost_fc_tab(i)
, eqpmt_act_effort_to_date = l_tsk_eqpmt_act_effort_tab(i)
, eqpmt_act_cost_to_date_pc = l_tsk_eqpmt_act_cost_pc_tab(i)
, eqpmt_act_cost_to_date_fc = l_tsk_eqpmt_act_cost_fc_tab(i)
, eqpmt_act_rawcost_to_date_pc = l_tsk_eqpmt_act_rawcost_pc_tab(i)
, eqpmt_act_rawcost_to_date_fc = l_tsk_eqpmt_act_rawcost_fc_tab(i)
, eqpmt_etc_effort = l_tsk_eqpmt_etc_effort_tab(i)
, eqpmt_etc_cost_pc = l_tsk_eqpmt_etc_cost_pc_tab(i)
, eqpmt_etc_cost_fc = l_tsk_eqpmt_etc_cost_fc_tab(i)
, eqpmt_etc_rawcost_pc = l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, eqpmt_etc_rawcost_fc = l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, oth_act_cost_to_date_pc = l_tsk_oth_act_cost_pc_tab(i)
, oth_act_cost_to_date_fc = l_tsk_oth_act_cost_fc_tab(i)
, oth_act_rawcost_to_date_pc = l_tsk_oth_act_rawcost_pc_tab(i)
, oth_act_rawcost_to_date_fc = l_tsk_oth_act_rawcost_fc_tab(i)
, oth_etc_cost_pc= l_tsk_oth_etc_cost_pc_tab(i)
, oth_etc_cost_fc = l_tsk_oth_etc_cost_fc_tab(i)
, oth_etc_rawcost_pc = l_tsk_oth_etc_rawcost_pc_tab(i)
, oth_etc_rawcost_fc = l_tsk_oth_etc_rawcost_fc_tab(i)
, earned_value = l_tsk_earned_value_tab(i)
, task_wt_basis_code = l_tsk_task_wt_basis_code_tab(i)
, base_percent_complete = l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
WHERE l_tsk_update_required(i) = 'Y'
AND progress_rollup_id = l_tsk_progress_rollup_id_tab(i)
;
UPDATE pa_progress_rollup
SET
object_version_id = l_tsk_object_version_id_tab(i)
, last_update_date = sysdate
, last_updated_by = l_user_id
, last_update_login = l_login_id
, eff_rollup_percent_comp = l_tsk_roll_comp_percent_tab(i)
, estimated_start_date = l_tsk_est_start_date_tab(i)
, estimated_finish_date = l_tsk_est_finish_date_tab(i)
, actual_start_date = l_tsk_actual_start_date_tab(i)
, actual_finish_date = l_tsk_actual_finish_date_tab(i)
, record_version_number = record_version_number +1
, base_percent_comp_deriv_code = l_tsk_deriv_method_tab(i)
, base_progress_status_code = l_tsk_base_prog_stat_code_tab(i)
, eff_rollup_prog_stat_code = l_tsk_eff_roll_prg_st_code_tab(i)
, percent_complete_id = l_tsk_percent_complete_id_tab(i)
, ppl_act_effort_to_date = l_tsk_ppl_act_eff_tab(i)
, ppl_act_cost_to_date_pc = l_tsk_ppl_act_cost_pc_tab(i)
, ppl_act_cost_to_date_fc = l_tsk_ppl_act_cost_fc_tab(i)
, ppl_act_rawcost_to_date_pc = l_tsk_ppl_act_rawcost_pc_tab(i)
, ppl_act_rawcost_to_date_fc = l_tsk_ppl_act_rawcost_fc_tab(i)
, estimated_remaining_effort = l_tsk_est_rem_effort_tab(i)
, ppl_etc_cost_pc = l_tsk_ppl_etc_cost_pc_tab(i)
, ppl_etc_cost_fc = l_tsk_ppl_etc_cost_fc_tab(i)
, ppl_etc_rawcost_pc = l_tsk_ppl_etc_rawcost_pc_tab(i)
, ppl_etc_rawcost_fc = l_tsk_ppl_etc_rawcost_fc_tab(i)
, eqpmt_act_effort_to_date = l_tsk_eqpmt_act_effort_tab(i)
, eqpmt_act_cost_to_date_pc = l_tsk_eqpmt_act_cost_pc_tab(i)
, eqpmt_act_cost_to_date_fc = l_tsk_eqpmt_act_cost_fc_tab(i)
, eqpmt_act_rawcost_to_date_pc = l_tsk_eqpmt_act_rawcost_pc_tab(i)
, eqpmt_act_rawcost_to_date_fc = l_tsk_eqpmt_act_rawcost_fc_tab(i)
, eqpmt_etc_effort = l_tsk_eqpmt_etc_effort_tab(i)
, eqpmt_etc_cost_pc = l_tsk_eqpmt_etc_cost_pc_tab(i)
, eqpmt_etc_cost_fc = l_tsk_eqpmt_etc_cost_fc_tab(i)
, eqpmt_etc_rawcost_pc = l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, eqpmt_etc_rawcost_fc = l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, oth_act_cost_to_date_pc = l_tsk_oth_act_cost_pc_tab(i)
, oth_act_cost_to_date_fc = l_tsk_oth_act_cost_fc_tab(i)
, oth_act_rawcost_to_date_pc = l_tsk_oth_act_rawcost_pc_tab(i)
, oth_act_rawcost_to_date_fc = l_tsk_oth_act_rawcost_fc_tab(i)
, oth_etc_cost_pc= l_tsk_oth_etc_cost_pc_tab(i)
, oth_etc_cost_fc = l_tsk_oth_etc_cost_fc_tab(i)
, oth_etc_rawcost_pc = l_tsk_oth_etc_rawcost_pc_tab(i)
, oth_etc_rawcost_fc = l_tsk_oth_etc_rawcost_fc_tab(i)
, earned_value = l_tsk_earned_value_tab(i)
, task_wt_basis_code = l_tsk_task_wt_basis_code_tab(i)
, base_percent_complete = l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
WHERE l_tsk_update_required(i) = 'Y'
AND project_id = p_project_id
AND object_id = l_tsk_object_id_tab(i)
AND proj_element_id = l_tsk_proj_element_id_tab(i)
AND object_type = l_tsk_object_type_tab(i)
AND as_of_date >= p_as_of_date
AND current_flag = 'W'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
;
INSERT INTO pa_progress_rollup
(
progress_rollup_id
,project_id
,object_id
,object_type
,as_of_date
,object_version_id
,last_update_date
,last_updated_by
,creation_date
,created_by
,progress_status_code
,last_update_login
,eff_rollup_percent_comp
,completed_percentage
,estimated_start_date
,estimated_finish_date
,actual_start_date
,actual_finish_date
,record_version_number
,base_percent_comp_deriv_code
,base_progress_status_code
,eff_rollup_prog_stat_code
,percent_complete_id
,structure_type
,proj_element_id
,structure_version_id
,ppl_act_effort_to_date
,ppl_act_cost_to_date_pc
,ppl_act_cost_to_date_fc
,ppl_act_rawcost_to_date_pc
,ppl_act_rawcost_to_date_fc
,estimated_remaining_effort
,ppl_etc_cost_pc
,ppl_etc_cost_fc
,ppl_etc_rawcost_pc
,ppl_etc_rawcost_fc
,eqpmt_act_effort_to_date
,eqpmt_act_cost_to_date_pc
,eqpmt_act_cost_to_date_fc
,eqpmt_act_rawcost_to_date_pc
,eqpmt_act_rawcost_to_date_fc
,eqpmt_etc_effort
,eqpmt_etc_cost_pc
,eqpmt_etc_cost_fc
,eqpmt_etc_rawcost_pc
,eqpmt_etc_rawcost_fc
,oth_quantity_to_date
,oth_act_cost_to_date_pc
,oth_act_cost_to_date_fc
,oth_act_rawcost_to_date_pc
,oth_act_rawcost_to_date_fc
,oth_etc_quantity
,oth_etc_cost_pc
,oth_etc_cost_fc
,oth_etc_rawcost_pc
,oth_etc_rawcost_fc
,earned_value
,task_wt_basis_code
,current_flag
,projfunc_cost_rate_type
,projfunc_cost_exchange_rate
,projfunc_cost_rate_date
,proj_cost_rate_type
,proj_cost_exchange_rate
,proj_cost_rate_date
,txn_currency_code
,prog_pa_period_name
,prog_gl_period_name
,base_percent_complete
)
SELECT
PA_PROGRESS_ROLLUP_S.nextval
, p_project_id
, l_tsk_object_id_tab(i)
, l_tsk_object_type_tab(i)
, p_as_of_date
, l_tsk_object_version_id_tab(i)
, sysdate
, l_user_id
, sysdate
, l_user_id
, l_tsk_progress_stat_code_tab(i)
, l_login_id
, l_tsk_roll_comp_percent_tab(i)
, decode(p_progress_mode,'TRANSFER_WP_PC',l_tsk_roll_comp_percent_tab(i),l_tsk_over_percent_comp_tab(i))
-- Bug 4284353 : Used decode above
, l_tsk_est_start_date_tab(i)
, l_tsk_est_finish_date_tab(i)
, l_tsk_actual_start_date_tab(i)
, l_tsk_actual_finish_date_tab(i)
, 1
, l_tsk_deriv_method_tab(i)
, l_tsk_base_prog_stat_code_tab(i)
, l_tsk_eff_roll_prg_st_code_tab(i)
, l_tsk_percent_complete_id_tab(i)
, p_structure_type
, l_tsk_proj_element_id_tab(i)
, l_structure_version_id
, l_tsk_ppl_act_eff_tab(i)
, l_tsk_ppl_act_cost_pc_tab(i)
, l_tsk_ppl_act_cost_fc_tab(i)
, l_tsk_ppl_act_rawcost_pc_tab(i)
, l_tsk_ppl_act_rawcost_fc_tab(i)
, l_tsk_est_rem_effort_tab(i)
, l_tsk_ppl_etc_cost_pc_tab(i)
, l_tsk_ppl_etc_cost_fc_tab(i)
, l_tsk_ppl_etc_rawcost_pc_tab(i)
, l_tsk_ppl_etc_rawcost_fc_tab(i)
, l_tsk_eqpmt_act_effort_tab(i)
, l_tsk_eqpmt_act_cost_pc_tab(i)
, l_tsk_eqpmt_act_cost_fc_tab(i)
, l_tsk_eqpmt_act_rawcost_pc_tab(i)
, l_tsk_eqpmt_act_rawcost_fc_tab(i)
, l_tsk_eqpmt_etc_effort_tab(i)
, l_tsk_eqpmt_etc_cost_pc_tab(i)
, l_tsk_eqpmt_etc_cost_fc_tab(i)
, l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, l_tsk_oth_quantity_tab(i)
, l_tsk_oth_act_cost_pc_tab(i)
, l_tsk_oth_act_cost_fc_tab(i)
, l_tsk_oth_act_rawcost_pc_tab(i)
, l_tsk_oth_act_rawcost_fc_tab(i)
, l_tsk_oth_etc_quantity_tab(i)
, l_tsk_oth_etc_cost_pc_tab(i)
, l_tsk_oth_etc_cost_fc_tab(i)
, l_tsk_oth_etc_rawcost_pc_tab(i)
, l_tsk_oth_etc_rawcost_fc_tab(i)
, l_tsk_earned_value_tab(i)
, l_tsk_task_wt_basis_code_tab(i)
, l_tsk_current_flag_tab(i)
, l_tsk_pf_cost_rate_type_tab(i)
, l_tsk_pf_cost_exc_rate_tab(i)
, l_tsk_pf_cost_rate_date_tab(i)
, l_tsk_p_cost_rate_type_tab(i)
, l_tsk_p_cost_exc_rate_tab(i)
, l_tsk_p_cost_rate_date_tab(i)
, l_tsk_txn_currency_code_tab(i)
, l_tsk_prog_pa_period_name_tab(i)
, l_tsk_prog_gl_period_name_tab(i)
, l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
FROM
DUAL
WHERE l_tsk_create_required(i) = 'Y'
;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
PROCEDURE UPDATE_ROLLUP_PROGRESS_PVT(
p_api_version IN NUMBER :=1.0
,p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE
,p_commit IN VARCHAR2 :=FND_API.G_FALSE
,p_validate_only IN VARCHAR2 :=FND_API.G_TRUE
,p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
,p_calling_module IN VARCHAR2 :='SELF_SERVICE'
,p_calling_mode IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR -- Bug 4097710
,p_debug_mode IN VARCHAR2 :='N'
,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_project_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_object_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_as_of_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_rollup_table IN PA_SCHEDULE_OBJECTS_PVT.PA_SCHEDULE_OBJECTS_TBL_TYPE
,p_lowest_level_task IN VARCHAR2 := 'N'
,p_task_version_id IN NUMBER
,p_structure_version_id IN NUMBER
,p_structure_type IN VARCHAR2 := 'WORKPLAN'
,p_fin_rollup_method IN VARCHAR2 := 'COST'
,p_wp_rollup_method IN VARCHAR2 := 'COST'
,p_published_structure IN VARCHAR2
,p_rollup_entire_wbs IN VARCHAR2 := 'N' -- FPM Dev CR 7
,p_working_wp_prog_flag IN VARCHAR2 := 'N' --bug 3829341
,p_upd_new_elem_ver_id_flag IN VARCHAR2 := 'Y' -- rtarway, for BUG 3951024
,p_progress_mode IN VARCHAR2 := 'FUTURE' -- 4091457
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
) IS
l_api_name CONSTANT VARCHAR(30) := 'UPDATE_ROLLUP_PROGRESS_PVT' ;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'FND_API.G_EXC_ERROR', x_Log_Level=> 3);
rollback to UPDATE_ROLLUP_PROGRESS_PVT2;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'FND_API.G_EXC_UNEXPECTED_ERROR', x_Log_Level=> 3);
rollback to UPDATE_ROLLUP_PROGRESS_PVT2;
p_procedure_name => 'UPDATE_ROLLUP_PROGRESS_PVT',
p_error_text => SUBSTRB(SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'OTHERS = '||sqlerrm, x_Log_Level=> 3);
rollback to UPDATE_ROLLUP_PROGRESS_PVT2;
p_procedure_name => 'UPDATE_ROLLUP_PROGRESS_PVT',
p_error_text => SUBSTRB(SQLERRM,1,120));
END UPDATE_ROLLUP_PROGRESS_PVT;
SELECT proj_element_id, object_id_from1, object_id_to1, object_type
FROM
( select object_id_from1, object_id_to1
from pa_object_relationships
where p_rollup_entire_wbs='N'
AND relationship_type = 'S' -- FPM
start with object_id_to1 = p_object_version_id
--and relationship_type = 'S' -- Bug 3603636
and relationship_type = 'S' -- Bug 4122809 : Added this
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S' -- Bug 3958686
) pobj, pa_proj_element_versions ppev
WHERE element_version_id = object_id_to1
AND p_rollup_entire_wbs='N'
UNION -- AMG Changes
SELECT ever.proj_element_id, obj.object_id_from1 object_id_from1, ever.element_version_id object_id_to1, ever.object_type object_type
FROM pa_proj_element_versions ever
, pa_object_relationships obj
WHERE ever.project_id = p_project_id
and ever.parent_structure_version_id = p_structure_version_id
-- 4490532 : changed from IS_LOWEST_TASK to is_summary_task_or_structure
-- and PA_PROJ_ELEMENTS_UTILS.IS_LOWEST_TASK(ever.element_version_id) = 'N'
and PA_PROJ_ELEMENTS_UTILS.is_summary_task_or_structure(ever.element_version_id) = 'Y'
and ever.object_type = 'PA_TASKS'
AND obj.object_id_to1 = ever.element_version_id
AND obj.relationship_type = 'S'
and p_rollup_entire_wbs='Y';
select as_of_date, published_flag, ppc.current_flag
from pa_progress_rollup ppr, pa_percent_completes ppc
where ppr.project_id = p_project_id
and ppr.object_id = l_object_id
and ppr.as_of_Date > p_as_of_date
and ppr.project_id = ppc.project_id(+)
and ppr.object_id = ppc.object_id(+)
and ppr.as_of_date = ppc.date_computed(+)
and ppr.structure_type = p_structure_type
and ppr.structure_version_id is null -- For Future Rollup no need to check for structure version id
order by as_of_date;
select proj_element_id into l_object_id
from pa_proj_element_versions
where element_version_id = cur_tree_rec.object_id_from1;
/* select *
from pa_structures_links_v
where sub_project_id = p_project_id;*/
SELECT
ppv2.project_id sub_project_id
,ppv2.element_version_id SUB_STRUCTURE_VER_ID
,ppv1.project_id PARENT_PROJECT_ID
,ppv1.parent_structure_version_id PARENT_STRUCTURE_VER_ID
,ppv1.element_version_id PARENT_TASK_VERSION_ID
,ppv1.proj_element_id PARENT_TASK_ID
FROM
pa_proj_element_versions ppv1
,pa_proj_elem_ver_structure ppevs1
,pa_proj_element_versions ppv2
,pa_proj_elem_ver_structure ppevs2
,pa_object_relationships por1
,pa_object_relationships por2
WHERE
ppv2.element_version_id = por1.object_id_to1
AND por1.object_id_from1 = por2.object_id_to1
AND por2.object_id_from1 = ppv1.element_version_id
AND ppv2.object_type = 'PA_STRUCTURES'
-- AND por1.relationship_type in ( 'LW', 'LF' )
AND por1.relationship_type = 'LW'
AND ppevs1.element_version_id = ppv1.parent_structure_version_id
AND ppevs1.project_id = ppv1.project_id
AND ppevs1.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs1.latest_eff_published_flag = 'Y'
AND ppevs2.element_version_id = ppv2.element_version_id
AND ppevs2.project_id = ppv2.project_id
AND ppevs2.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs2.latest_eff_published_flag = 'Y'
AND ppv2.project_id=p_project_id
;
select decode(c_base_percnt_deriv_code, 'COST', sum(brdn_cost), 'EFFORT', sum(nvl(labor_hrs,0)+nvl(equipment_hours,0)))
from pji_fp_xbs_accum_f
where project_id = c_project_id
and plan_version_id = c_plan_version_id
and project_element_id = c_proj_element_id
and calendar_type = 'A'
and wbs_rollup_flag = 'N'
and bitand(curr_record_type_id, 8) = 8
and rbs_aggr_level = 'T'
and prg_rollup_flag = 'N'
;
SELECT base_percent_comp_deriv_code
,status_code --bug 4033869
FROM pa_proj_elements
WHERE project_id = c_project_id
AND proj_element_id = c_task_id;
SELECT task_weight_basis_code,progress_cycle_id ---4701759, 4701727
FROM pa_proj_progress_attr
WHERE project_id = c_project_id
AND structure_type = 'WORKPLAN';
SELECT *
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_type = 'PA_STRUCTURES'
AND structure_type = 'WORKPLAN'
AND structure_version_id is NULL
AND as_of_date = p_as_of_date;
SELECT *
FROM pa_progress_rollup
WHERE object_id = c_object_id
AND project_id = c_project_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date = p_as_of_date;
SELECT project_status_code
FROM pa_project_statuses
WHERE project_status_weight = c_status_weight
AND status_type = c_status_type
AND predefined_flag = 'Y';
SELECT project_status_weight
FROM pa_project_statuses
WHERE project_status_code = c_status_code
AND status_type = c_status_type;
select as_of_date
from pa_progress_rollup
where project_id = l_proj
and object_id = l_obj
and object_type = 'PA_TASKS'
and structure_version_id is null
and structure_type = 'WORKPLAN'
and current_flag = 'Y';
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.PROGRAM_ROLLUP_PVT', x_Msg => 'Mode is Update U', x_Log_Level=> 3);
SELECT GREATEST(l_par_progress_status_weight, l_child_progress_status_weight)
INTO l_progress_status_weight
FROM DUAL;
SELECT LEAST(l_sub_project_rec.ACTUAL_START_DATE, l_parent_task_rec.ACTUAL_START_DATE)
INTO l_actual_start_date
FROM DUAL;
SELECT GREATEST(l_sub_project_rec.ACTUAL_FINISH_DATE, l_parent_task_rec.ACTUAL_FINISH_DATE)
INTO l_actual_finish_date
FROM DUAL;
SELECT LEAST(l_sub_project_rec.ESTIMATED_START_DATE, l_parent_task_rec.ESTIMATED_START_DATE)
INTO l_estimated_start_date
FROM DUAL;
SELECT GREATEST(l_sub_project_rec.ESTIMATED_FINISH_DATE, l_parent_task_rec.ESTIMATED_FINISH_DATE)
INTO l_estimated_finish_date
FROM DUAL;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.PROGRAM_ROLLUP_PVT', x_Msg => 'Mode is Insert I', x_Log_Level=> 3);
SELECT
*/
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
/*
PERIOD_NAME
, ACT_PRJ_BRDN_COST-ACT_PRJ_EQUIP_BRDN_COST-ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_EQUIP_BRDN_COST
, ACT_POU_BRDN_COST-ACT_POU_LABOR_BRDN_COST-ACT_POU_EQUIP_BRDN_COST
, ACT_POU_LABOR_BRDN_COST
, ACT_POU_EQUIP_BRDN_COST
, ACT_LABOR_HRS
, ACT_EQUIP_HRS
, ETC_PRJ_BRDN_COST-ETC_PRJ_EQUIP_BRDN_COST-ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_EQUIP_BRDN_COST
, ETC_POU_BRDN_COST-ETC_POU_LABOR_BRDN_COST-ETC_POU_EQUIP_BRDN_COST
, ETC_POU_LABOR_BRDN_COST
, ETC_POU_EQUIP_BRDN_COST
, ETC_LABOR_HRS
, ETC_EQUIP_HRS
, ACT_PRJ_RAW_COST-ACT_PRJ_EQUIP_RAW_COST-ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_EQUIP_RAW_COST
, ACT_POU_RAW_COST-ACT_POU_LABOR_RAW_COST-ACT_POU_EQUIP_RAW_COST
, ACT_POU_LABOR_RAW_COST
, ACT_POU_EQUIP_RAW_COST
, ETC_PRJ_RAW_COST-ETC_PRJ_EQUIP_RAW_COST-ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_EQUIP_RAW_COST
, ETC_POU_RAW_COST-ETC_POU_LABOR_RAW_COST-ETC_POU_EQUIP_RAW_COST
, ETC_POU_LABOR_RAW_COST
, ETC_POU_EQUIP_RAW_COST
, LABOR_HOURS
, EQUIPMENT_HOURS
, POU_LABOR_BRDN_COST
, PRJ_LABOR_BRDN_COST
, POU_EQUIP_BRDN_COST
, PRJ_EQUIP_BRDN_COST
, POU_BRDN_COST - ( POU_EQUIP_BRDN_COST + POU_LABOR_BRDN_COST )
, PRJ_BRDN_COST - ( PRJ_EQUIP_BRDN_COST + PRJ_LABOR_BRDN_COST )
, POU_LABOR_RAW_COST
, PRJ_LABOR_RAW_COST
, POU_EQUIP_RAW_COST
, PRJ_EQUIP_RAW_COST
, POU_RAW_COST - ( POU_EQUIP_RAW_COST + POU_LABOR_RAW_COST )
, PRJ_RAW_COST - ( PRJ_EQUIP_RAW_COST + PRJ_LABOR_RAW_COST )
INTO l_PERIOD_NAME
, l_OTH_ACT_COST_TO_DATE_PC
, l_PPL_ACT_COST_TO_DATE_PC
, l_EQPMT_ACT_COST_TO_DATE_PC
, l_OTH_ACT_COST_TO_DATE_FC
, l_PPL_ACT_COST_TO_DATE_FC
, l_EQPMT_ACT_COST_TO_DATE_FC
, l_PPL_ACT_EFFORT_TO_DATE
, l_EQPMT_ACT_EFFORT_TO_DATE
, l_ETC_Cost_PC
, l_PPL_ETC_COST_PC
, l_EQPMT_ETC_COST_PC
, l_ETC_Cost_FC
, l_PPL_ETC_COST_FC
, l_EQPMT_ETC_COST_FC
, l_remaining_effort1
, l_EQPMT_ETC_EFFORT
, l_OTH_ACT_RAWCOST_TO_DATE_PC
, l_PPL_ACT_RAWCOST_TO_DATE_PC
, l_EQPMT_ACT_RAWCOST_TO_DATE_PC
, l_OTH_ACT_RAWCOST_TO_DATE_FC
, l_PPL_ACT_RAWCOST_TO_DATE_FC
, l_EQPMT_ACT_RAWCOST_TO_DATE_FC
, l_ETC_RAWCost_PC
, l_PPL_ETC_RAWCOST_PC
, l_EQPMT_ETC_RAWCOST_PC
, l_ETC_RAWCost_FC
, l_PPL_ETC_RAWCOST_FC
, l_EQPMT_ETC_RAWCOST_FC
, l_LABOR_HOURS
, l_EQUIPMENT_HOURS
, l_POU_LABOR_BRDN_COST
, l_PRJ_LABOR_BRDN_COST
, l_POU_EQUIP_BRDN_COST
, l_PRJ_EQUIP_BRDN_COST
, l_POU_OTH_BRDN_COST
, l_PRJ_OTH_BRDN_COST
, l_POU_LABOR_RAW_COST
, l_PRJ_LABOR_RAW_COST
, l_POU_EQUIP_RAW_COST
, l_PRJ_EQUIP_RAW_COST
, l_POU_OTH_RAW_COST
, l_PRJ_OTH_RAW_COST
FROM PJI_FM_XBS_ACCUM_TMP1
WHERE project_id = l_c1rec.parent_project_id
AND struct_version_id = l_c1rec.parent_structure_ver_id
AND project_element_id = l_c1rec.parent_task_id
AND plan_version_id > 0
AND txn_currency_code is null
AND calendar_type = 'A'
AND res_list_member_id is null;
p_error_text => SUBSTRB('Select from PJI_FM_XBS_ACCUM_TMP1 Failed: SQLERRM'||SQLERRM,1,120));
PA_PROGRESS_ROLLUP_PKG.UPDATE_ROW(
X_PROGRESS_ROLLUP_ID => l_parent_task_rec.PROGRESS_ROLLUP_ID
,X_PROJECT_ID => l_parent_task_rec.PROJECT_ID
,X_OBJECT_ID => l_parent_task_rec.OBJECT_ID
,X_OBJECT_TYPE => l_parent_task_rec.OBJECT_TYPE
,X_AS_OF_DATE => l_parent_task_rec.AS_OF_DATE
,X_OBJECT_VERSION_ID => l_parent_task_rec.OBJECT_VERSION_ID
,X_LAST_UPDATE_DATE => sysdate
,X_LAST_UPDATED_BY => l_user_id
,X_PROGRESS_STATUS_CODE => l_parent_task_rec.PROGRESS_STATUS_CODE
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => l_parent_task_rec.INCREMENTAL_WORK_QUANTITY
,X_CUMULATIVE_WORK_QTY => l_parent_task_rec.CUMULATIVE_WORK_QUANTITY
,X_BASE_PERCENT_COMPLETE => l_parent_task_rec.BASE_PERCENT_COMPLETE
,X_EFF_ROLLUP_PERCENT_COMP => l_eff_rollup_prcnt_comp
,X_COMPLETED_PERCENTAGE => l_parent_task_rec.COMPLETED_PERCENTAGE
,X_ESTIMATED_START_DATE => l_estimated_start_date -- l_parent_task_rec.ESTIMATED_START_DATE
,X_ESTIMATED_FINISH_DATE => l_estimated_finish_date -- l_parent_task_rec.ESTIMATED_FINISH_DATE
,X_ACTUAL_START_DATE => l_actual_start_date --l_parent_task_rec.ACTUAL_START_DATE
,X_ACTUAL_FINISH_DATE => l_actual_finish_date -- l_parent_task_rec.ACTUAL_FINISH_DATE
,X_EST_REMAINING_EFFORT => l_remaining_effort1
,X_BASE_PERCENT_COMP_DERIV_CODE => l_parent_task_rec.BASE_PERCENT_COMP_DERIV_CODE
,X_BASE_PROGRESS_STATUS_CODE => l_parent_task_rec.BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => l_eff_rollup_progress_status--l_parent_task_rec.EFF_ROLLUP_PROG_STAT_CODE
,X_RECORD_VERSION_NUMBER => l_parent_task_rec.RECORD_VERSION_NUMBER
,X_percent_complete_id => l_parent_task_rec.percent_complete_id
,X_STRUCTURE_TYPE => l_parent_task_rec.STRUCTURE_TYPE
,X_PROJ_ELEMENT_ID => l_parent_task_rec.PROJ_ELEMENT_ID
,X_STRUCTURE_VERSION_ID => l_parent_task_rec.STRUCTURE_VERSION_ID
,X_PPL_ACT_EFFORT_TO_DATE => l_PPL_ACT_EFFORT_TO_DATE
,X_EQPMT_ACT_EFFORT_TO_DATE => l_EQPMT_ACT_EFFORT_TO_DATE
,X_EQPMT_ETC_EFFORT => l_EQPMT_ETC_EFFORT
,X_OTH_ACT_COST_TO_DATE_TC => l_parent_task_rec.OTH_ACT_COST_TO_DATE_TC
,X_OTH_ACT_COST_TO_DATE_FC => l_OTH_ACT_COST_TO_DATE_FC
,X_OTH_ACT_COST_TO_DATE_PC => l_OTH_ACT_COST_TO_DATE_PC
,X_OTH_ETC_COST_TC => l_parent_task_rec.OTH_ETC_COST_TC
,X_OTH_ETC_COST_FC => l_ETC_Cost_FC
,X_OTH_ETC_COST_PC => l_ETC_Cost_PC
,X_PPL_ACT_COST_TO_DATE_TC => l_parent_task_rec.PPL_ACT_COST_TO_DATE_TC
,X_PPL_ACT_COST_TO_DATE_FC => l_PPL_ACT_COST_TO_DATE_FC
,X_PPL_ACT_COST_TO_DATE_PC => l_PPL_ACT_COST_TO_DATE_PC
,X_PPL_ETC_COST_TC => l_parent_task_rec.PPL_ETC_COST_TC
,X_PPL_ETC_COST_FC => l_PPL_ETC_COST_FC
,X_PPL_ETC_COST_PC => l_PPL_ETC_COST_PC
,X_EQPMT_ACT_COST_TO_DATE_TC => l_parent_task_rec.EQPMT_ACT_COST_TO_DATE_TC
,X_EQPMT_ACT_COST_TO_DATE_FC => l_EQPMT_ACT_COST_TO_DATE_FC
,X_EQPMT_ACT_COST_TO_DATE_PC => l_EQPMT_ACT_COST_TO_DATE_PC
,X_EQPMT_ETC_COST_TC => l_parent_task_rec.EQPMT_ETC_COST_TC
,X_EQPMT_ETC_COST_FC => l_EQPMT_ETC_COST_FC
,X_EQPMT_ETC_COST_PC => l_EQPMT_ETC_COST_PC
,X_EARNED_VALUE => l_bcwp
,X_TASK_WT_BASIS_CODE => l_parent_task_rec.TASK_WT_BASIS_CODE
,X_SUBPRJ_PPL_ACT_EFFORT => null
,X_SUBPRJ_EQPMT_ACT_EFFORT => null
,X_SUBPRJ_PPL_ETC_EFFORT => null
,X_SUBPRJ_EQPMT_ETC_EFFORT => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_TC => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_FC => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_PC => null
,X_SUBPRJ_PPL_ACT_COST_TC => null
,X_SUBPRJ_PPL_ACT_COST_FC => null
,X_SUBPRJ_PPL_ACT_COST_PC => null
,X_SUBPRJ_EQPMT_ACT_COST_TC => null
,X_SUBPRJ_EQPMT_ACT_COST_FC => null
,X_SUBPRJ_EQPMT_ACT_COST_PC => null
,X_SUBPRJ_OTH_ETC_COST_TC => null
,X_SUBPRJ_OTH_ETC_COST_FC => null
,X_SUBPRJ_OTH_ETC_COST_PC => null
,X_SUBPRJ_PPL_ETC_COST_TC => null
,X_SUBPRJ_PPL_ETC_COST_FC => null
,X_SUBPRJ_PPL_ETC_COST_PC => null
,X_SUBPRJ_EQPMT_ETC_COST_TC => null
,X_SUBPRJ_EQPMT_ETC_COST_FC => null
,X_SUBPRJ_EQPMT_ETC_COST_PC => null
,X_SUBPRJ_EARNED_VALUE => null
,X_CURRENT_FLAG => l_parent_task_rec.CURRENT_FLAG
,X_PROJFUNC_COST_RATE_TYPE => l_parent_task_rec.PROJFUNC_COST_RATE_TYPE
,X_PROJFUNC_COST_EXCHANGE_RATE => l_parent_task_rec.PROJFUNC_COST_EXCHANGE_RATE
,X_PROJFUNC_COST_RATE_DATE => l_parent_task_rec.PROJFUNC_COST_RATE_DATE
,X_PROJ_COST_RATE_TYPE => l_parent_task_rec.PROJ_COST_RATE_TYPE
,X_PROJ_COST_EXCHANGE_RATE => l_parent_task_rec.PROJ_COST_EXCHANGE_RATE
,X_PROJ_COST_RATE_DATE => l_parent_task_rec.PROJ_COST_RATE_DATE
,X_TXN_CURRENCY_CODE => l_parent_task_rec.TXN_CURRENCY_CODE
,X_PROG_PA_PERIOD_NAME => l_parent_task_rec.PROG_PA_PERIOD_NAME
,X_PROG_GL_PERIOD_NAME => l_parent_task_rec.PROG_GL_PERIOD_NAME
,X_OTH_QUANTITY_TO_DATE => l_parent_task_rec.oth_quantity_to_date
,X_OTH_ETC_QUANTITY => l_parent_task_rec.oth_etc_quantity
,X_OTH_ACT_RAWCOST_TO_DATE_TC => l_parent_task_rec.OTH_ACT_RAWCOST_TO_DATE_TC
,X_OTH_ACT_RAWCOST_TO_DATE_FC => l_OTH_ACT_RAWCOST_TO_DATE_FC
,X_OTH_ACT_RAWCOST_TO_DATE_PC => l_OTH_ACT_RAWCOST_TO_DATE_PC
,X_OTH_ETC_RAWCOST_TC => l_parent_task_rec.OTH_ETC_RAWCOST_TC
,X_OTH_ETC_RAWCOST_FC => l_ETC_RAWCost_FC
,X_OTH_ETC_RAWCOST_PC => l_ETC_RAWCost_PC
,X_PPL_ACT_RAWCOST_TO_DATE_TC => l_parent_task_rec.PPL_ACT_RAWCOST_TO_DATE_TC
,X_PPL_ACT_RAWCOST_TO_DATE_FC => l_PPL_ACT_RAWCOST_TO_DATE_FC
,X_PPL_ACT_RAWCOST_TO_DATE_PC => l_PPL_ACT_RAWCOST_TO_DATE_PC
,X_PPL_ETC_RAWCOST_TC => l_parent_task_rec.PPL_ETC_RAWCOST_TC
,X_PPL_ETC_RAWCOST_FC => l_PPL_ETC_RAWCOST_FC
,X_PPL_ETC_RAWCOST_PC => l_PPL_ETC_RAWCOST_PC
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => l_parent_task_rec.EQPMT_ACT_RAWCOST_TO_DATE_TC
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => l_EQPMT_ACT_RAWCOST_TO_DATE_FC
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => l_EQPMT_ACT_RAWCOST_TO_DATE_PC
,X_EQPMT_ETC_RAWCOST_TC => l_parent_task_rec.EQPMT_ETC_RAWCOST_TC
,X_EQPMT_ETC_RAWCOST_FC => l_EQPMT_ETC_RAWCOST_FC
,X_EQPMT_ETC_RAWCOST_PC => l_EQPMT_ETC_RAWCOST_PC
,X_SP_OTH_ACT_RAWCOST_TODATE_TC => null
,X_SP_OTH_ACT_RAWCOST_TODATE_FC => null
,X_SP_OTH_ACT_RAWCOST_TODATE_PC => null
,X_SUBPRJ_PPL_ACT_RAWCOST_TC => null
,X_SUBPRJ_PPL_ACT_RAWCOST_FC => null
,X_SUBPRJ_PPL_ACT_RAWCOST_PC => null
,X_SUBPRJ_EQPMT_ACT_RAWCOST_TC => null
,X_SUBPRJ_EQPMT_ACT_RAWCOST_FC => null
,X_SUBPRJ_EQPMT_ACT_RAWCOST_PC => null
,X_SUBPRJ_OTH_ETC_RAWCOST_TC => null
,X_SUBPRJ_OTH_ETC_RAWCOST_FC => null
,X_SUBPRJ_OTH_ETC_RAWCOST_PC => null
,X_SUBPRJ_PPL_ETC_RAWCOST_TC => null
,X_SUBPRJ_PPL_ETC_RAWCOST_FC => null
,X_SUBPRJ_PPL_ETC_RAWCOST_PC => null
,X_SUBPRJ_EQPMT_ETC_RAWCOST_TC => null
,X_SUBPRJ_EQPMT_ETC_RAWCOST_FC => null
,X_SUBPRJ_EQPMT_ETC_RAWCOST_PC => null
);
SELECT 'X'
INTO l_dummy
FROM pa_progress_rollup
WHERE project_id = l_c1rec.parent_project_id
AND object_id = l_c1rec.parent_task_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is NULL
AND trunc(as_of_date) > p_as_of_date
AND current_flag = 'Y';
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = l_c1rec.parent_project_id
AND object_id = l_c1rec.parent_task_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is NULL
AND current_flag = 'Y';
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_progress_rollup_id
,X_PROJECT_ID => l_c1rec.parent_project_id
,X_OBJECT_ID => l_c1rec.parent_task_id
,X_OBJECT_TYPE => 'PA_TASKS'
,X_AS_OF_DATE => l_parent_as_of_date --bug 4033869
,X_OBJECT_VERSION_ID => l_c1rec.parent_task_version_id
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => l_user_id
,X_CREATION_DATE => SYSDATE
,X_CREATED_BY => l_user_id
,X_PROGRESS_STATUS_CODE => null
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => null
,X_CUMULATIVE_WORK_QTY => null
,X_BASE_PERCENT_COMPLETE => null
,X_EFF_ROLLUP_PERCENT_COMP => l_eff_rollup_prcnt_comp
,X_COMPLETED_PERCENTAGE => null
,X_ESTIMATED_START_DATE => l_estimated_start_date
,X_ESTIMATED_FINISH_DATE => l_estimated_finish_date
,X_ACTUAL_START_DATE => l_actual_start_date
,X_ACTUAL_FINISH_DATE => l_actual_finish_date
,X_EST_REMAINING_EFFORT => l_remaining_effort1
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => null
,X_EFF_ROLLUP_PROG_STAT_CODE => l_eff_rollup_progress_status
,x_percent_complete_id => null
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => l_c1rec.parent_task_id
,X_STRUCTURE_VERSION_ID => null
,X_PPL_ACT_EFFORT_TO_DATE => l_PPL_ACT_EFFORT_TO_DATE
,X_EQPMT_ACT_EFFORT_TO_DATE => l_EQPMT_ACT_EFFORT_TO_DATE
,X_EQPMT_ETC_EFFORT => l_EQPMT_ETC_EFFORT
,X_OTH_ACT_COST_TO_DATE_TC => l_parent_task_rec.OTH_ACT_COST_TO_DATE_TC
,X_OTH_ACT_COST_TO_DATE_FC => l_OTH_ACT_COST_TO_DATE_FC
,X_OTH_ACT_COST_TO_DATE_PC => l_OTH_ACT_COST_TO_DATE_PC
,X_OTH_ETC_COST_TC => l_parent_task_rec.OTH_ETC_COST_TC
,X_OTH_ETC_COST_FC => l_ETC_Cost_FC
,X_OTH_ETC_COST_PC => l_ETC_Cost_PC
,X_PPL_ACT_COST_TO_DATE_TC => l_parent_task_rec.PPL_ACT_COST_TO_DATE_TC
,X_PPL_ACT_COST_TO_DATE_FC => l_PPL_ACT_COST_TO_DATE_FC
,X_PPL_ACT_COST_TO_DATE_PC => l_PPL_ACT_COST_TO_DATE_PC
,X_PPL_ETC_COST_TC => l_parent_task_rec.PPL_ETC_COST_TC
,X_PPL_ETC_COST_FC => l_PPL_ETC_COST_FC
,X_PPL_ETC_COST_PC => l_PPL_ETC_COST_PC
,X_EQPMT_ACT_COST_TO_DATE_TC => l_parent_task_rec.EQPMT_ACT_COST_TO_DATE_TC
,X_EQPMT_ACT_COST_TO_DATE_FC => l_EQPMT_ACT_COST_TO_DATE_FC
,X_EQPMT_ACT_COST_TO_DATE_PC => l_EQPMT_ACT_COST_TO_DATE_PC
,X_EQPMT_ETC_COST_TC => l_parent_task_rec.EQPMT_ETC_COST_TC
,X_EQPMT_ETC_COST_FC => l_EQPMT_ETC_COST_FC
,X_EQPMT_ETC_COST_PC => l_EQPMT_ETC_COST_PC
,X_EARNED_VALUE => l_bcwp
,X_TASK_WT_BASIS_CODE => l_task_weight_basis_code
,X_SUBPRJ_PPL_ACT_EFFORT => null
,X_SUBPRJ_EQPMT_ACT_EFFORT => null
,X_SUBPRJ_PPL_ETC_EFFORT => null
,X_SUBPRJ_EQPMT_ETC_EFFORT => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_TC => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_FC => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_PC => null
,X_SUBPRJ_PPL_ACT_COST_TC => null
,X_SUBPRJ_PPL_ACT_COST_FC => null
,X_SUBPRJ_PPL_ACT_COST_PC => null
,X_SUBPRJ_EQPMT_ACT_COST_TC => null
,X_SUBPRJ_EQPMT_ACT_COST_FC => null
,X_SUBPRJ_EQPMT_ACT_COST_PC => null
,X_SUBPRJ_OTH_ETC_COST_TC => null
,X_SUBPRJ_OTH_ETC_COST_FC => null
,X_SUBPRJ_OTH_ETC_COST_PC => null
,X_SUBPRJ_PPL_ETC_COST_TC => null
,X_SUBPRJ_PPL_ETC_COST_FC => null
,X_SUBPRJ_PPL_ETC_COST_PC => null
,X_SUBPRJ_EQPMT_ETC_COST_TC => null
,X_SUBPRJ_EQPMT_ETC_COST_FC => null
,X_SUBPRJ_EQPMT_ETC_COST_PC => null
,X_SUBPRJ_EARNED_VALUE => null
,X_CURRENT_FLAG => l_current_flag
,X_PROJFUNC_COST_RATE_TYPE => l_sub_project_rec.PROJFUNC_COST_RATE_TYPE
,X_PROJFUNC_COST_EXCHANGE_RATE => l_sub_project_rec.PROJFUNC_COST_EXCHANGE_RATE
,X_PROJFUNC_COST_RATE_DATE => l_sub_project_rec.PROJFUNC_COST_RATE_DATE
,X_PROJ_COST_RATE_TYPE => l_sub_project_rec.PROJ_COST_RATE_TYPE
,X_PROJ_COST_EXCHANGE_RATE => l_sub_project_rec.PROJ_COST_EXCHANGE_RATE
,X_PROJ_COST_RATE_DATE => l_sub_project_rec.PROJ_COST_RATE_DATE
,X_TXN_CURRENCY_CODE => l_sub_project_rec.TXN_CURRENCY_CODE
,X_PROG_PA_PERIOD_NAME => l_sub_project_rec.PROG_PA_PERIOD_NAME
,X_PROG_GL_PERIOD_NAME => l_sub_project_rec.PROG_GL_PERIOD_NAME
,X_OTH_QUANTITY_TO_DATE => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => l_OTH_ACT_RAWCOST_TO_DATE_FC
,X_OTH_ACT_RAWCOST_TO_DATE_PC => l_OTH_ACT_RAWCOST_TO_DATE_PC
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => l_ETC_RAWCost_FC
,X_OTH_ETC_RAWCOST_PC => l_ETC_RAWCost_PC
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => l_PPL_ACT_RAWCOST_TO_DATE_FC
,X_PPL_ACT_RAWCOST_TO_DATE_PC => l_PPL_ACT_RAWCOST_TO_DATE_PC
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => l_PPL_ETC_RAWCOST_FC
,X_PPL_ETC_RAWCOST_PC => l_PPL_ETC_RAWCOST_PC
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => l_EQPMT_ACT_RAWCOST_TO_DATE_FC
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => l_EQPMT_ACT_RAWCOST_TO_DATE_PC
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => l_EQPMT_ETC_RAWCOST_FC
,X_EQPMT_ETC_RAWCOST_PC => l_EQPMT_ETC_RAWCOST_PC
,X_SP_OTH_ACT_RAWCOST_TODATE_TC => null
,X_SP_OTH_ACT_RAWCOST_TODATE_FC => null
,X_SP_OTH_ACT_RAWCOST_TODATE_PC => null
,X_SUBPRJ_PPL_ACT_RAWCOST_TC => null
,X_SUBPRJ_PPL_ACT_RAWCOST_FC => null
,X_SUBPRJ_PPL_ACT_RAWCOST_PC => null
,X_SUBPRJ_EQPMT_ACT_RAWCOST_TC => null
,X_SUBPRJ_EQPMT_ACT_RAWCOST_FC => null
,X_SUBPRJ_EQPMT_ACT_RAWCOST_PC => null
,X_SUBPRJ_OTH_ETC_RAWCOST_TC => null
,X_SUBPRJ_OTH_ETC_RAWCOST_FC => null
,X_SUBPRJ_OTH_ETC_RAWCOST_PC => null
,X_SUBPRJ_PPL_ETC_RAWCOST_TC => null
,X_SUBPRJ_PPL_ETC_RAWCOST_FC => null
,X_SUBPRJ_PPL_ETC_RAWCOST_PC => null
,X_SUBPRJ_EQPMT_ETC_RAWCOST_TC => null
,X_SUBPRJ_EQPMT_ETC_RAWCOST_FC => null
,X_SUBPRJ_EQPMT_ETC_RAWCOST_PC => null
);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.PROGRAM_ROLLUP_PVT', x_Msg => 'Done with Insert/Update, Calling Rollup', x_Log_Level=> 3);
SELECT obj.object_id_from1
, obj.object_type_from parent_object_type
, ppev.wbs_level-1 parent_wbs_level
, ppev.element_version_id object_id_to1
, ppev.object_type object_type
, ppev.wbs_level wbs_level
, obj.weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.base_percent_complete
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 --base prog status
, ppr.ESTIMATED_REMAINING_EFFORT
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID rollup_proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_EFFORT_TO_DATE + ppr.EQPMT_ACT_EFFORT_TO_DATE total_act_effort_to_date
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_EFFORT + ppr.estimated_remaining_effort total_etc_effort
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_COST_TO_DATE_TC + ppr.PPL_ACT_COST_TO_DATE_TC + ppr.EQPMT_ACT_COST_TO_DATE_TC total_act_cost_to_date_tc
, ppr.OTH_ACT_COST_TO_DATE_PC + ppr.PPL_ACT_COST_TO_DATE_PC + ppr.EQPMT_ACT_COST_TO_DATE_PC total_act_cost_to_date_pc
, ppr.OTH_ACT_COST_TO_DATE_FC + ppr.PPL_ACT_COST_TO_DATE_FC + ppr.EQPMT_ACT_COST_TO_DATE_FC total_act_cost_to_date_fc
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.OTH_ETC_COST_TC + ppr.PPL_ETC_COST_TC + ppr.EQPMT_ETC_COST_TC total_etc_cost_tc
, ppr.OTH_ETC_COST_PC + ppr.PPL_ETC_COST_PC + ppr.EQPMT_ETC_COST_PC total_etc_cost_pc
, ppr.OTH_ETC_COST_FC + ppr.PPL_ETC_COST_FC + ppr.EQPMT_ETC_COST_FC total_etc_cost_fc
--Bug 3614828 Begin
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_RAWCost_TC
, ppr.OTH_ETC_RAWCost_PC
, ppr.OTH_ETC_RAWCost_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
--Bug 3614828 End
, ppr.SUBPRJ_PPL_ACT_EFFORT
, ppr.SUBPRJ_EQPMT_ACT_EFFORT
, ppr.SUBPRJ_PPL_ETC_EFFORT
, ppr.SUBPRJ_EQPMT_ETC_EFFORT
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_TC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_FC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_PC
, ppr.SUBPRJ_PPL_ACT_COST_TC
, ppr.SUBPRJ_PPL_ACT_COST_FC
, ppr.SUBPRJ_PPL_ACT_COST_PC
, ppr.SUBPRJ_EQPMT_ACT_COST_TC
, ppr.SUBPRJ_EQPMT_ACT_COST_FC
, ppr.SUBPRJ_EQPMT_ACT_COST_PC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_TC + ppr.SUBPRJ_PPL_ACT_COST_TC + ppr.SUBPRJ_EQPMT_ACT_COST_TC total_subproj_act_cost_tc
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_PC + ppr.SUBPRJ_PPL_ACT_COST_PC + ppr.SUBPRJ_EQPMT_ACT_COST_PC total_subproj_act_cost_pc
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_FC + ppr.SUBPRJ_PPL_ACT_COST_FC + ppr.SUBPRJ_EQPMT_ACT_COST_FC total_subproj_act_cost_fc
, ppr.SUBPRJ_OTH_ETC_COST_TC
, ppr.SUBPRJ_OTH_ETC_COST_FC
, ppr.SUBPRJ_OTH_ETC_COST_PC
, ppr.SUBPRJ_PPL_ETC_COST_TC
, ppr.SUBPRJ_PPL_ETC_COST_FC
, ppr.SUBPRJ_PPL_ETC_COST_PC
, ppr.SUBPRJ_EQPMT_ETC_COST_TC
, ppr.SUBPRJ_EQPMT_ETC_COST_FC
, ppr.SUBPRJ_EQPMT_ETC_COST_PC
, ppr.SUBPRJ_OTH_ETC_COST_TC + ppr.SUBPRJ_PPL_ETC_COST_TC + ppr.SUBPRJ_EQPMT_ETC_COST_TC total_subproj_etc_cost_tc
, ppr.SUBPRJ_OTH_ETC_COST_PC + ppr.SUBPRJ_PPL_ETC_COST_PC + ppr.SUBPRJ_EQPMT_ETC_COST_PC total_subproj_etc_cost_pc
, ppr.SUBPRJ_OTH_ETC_COST_FC + ppr.SUBPRJ_PPL_ETC_COST_FC + ppr.SUBPRJ_EQPMT_ETC_COST_FC total_subproj_etc_cost_fc
, ppr.SUBPRJ_EARNED_VALUE
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, p_wp_rollup_method, ppev.proj_element_id, ppev.parent_structure_version_id, 'WORKPLAN') BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, p_wp_rollup_method, ppev.proj_element_id, ppev.parent_structure_version_id, 'WORKPLAN','N','N') BAC_value_self -- bug 4493105
, null earned_value
, ppr.Oth_quantity_to_date
, ppr.Oth_etc_quantity
-- 4533112 : Added base_progress_status_code
, decode(ppr.base_progress_status_code, 'Y' , 'Y', 'N') base_progress_status_code
FROM pa_proj_element_versions ppev,
pa_object_relationships obj,
pa_progress_rollup ppr,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3,
pa_proj_elements ppe -- 4392189
WHERE ppev.element_version_id = c_task_ver_id
AND ppev.element_version_id = obj.object_id_to1
AND obj.relationship_type = 'S'
AND ppev.object_type = 'PA_TASKS'
AND ppev.proj_element_id = ppe.proj_element_id -- 4392189
AND ppe.link_task_flag <> 'Y' -- 4392189
AND ppr.project_id = ppev.project_id
AND ppr.object_id = ppev.proj_element_id
AND ppr.proj_element_id = ppev.proj_element_id -- Bug 3764224
-- AND ppr.as_of_date = trunc(p_as_of_date)
-- Bug 3879461 : After discussion with Sameer Realeraskar, Majid
-- It is to select only the rollup record till passed as of date
AND ppr.as_of_date = (SELECT max(as_of_date)
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = ppev.proj_element_id
AND proj_element_id = ppev.proj_element_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date
)
AND (ppr.current_flag = 'W'
OR (ppr.current_flag IN( 'Y', 'N') -- Bug 4336720 : Added Y and N Both
AND NOT EXISTS (select 1
from pa_progress_rollup ppc1
where ppc1.project_id = p_project_id
and ppc1.object_id = ppev.proj_element_id
and ppc1.proj_element_id = ppev.proj_element_id
and ppc1.object_Type = 'PA_TASKS'
and ppc1.structure_type = 'WORKPLAN'
and ppc1.as_of_date <= p_as_of_date
and ppc1.structure_version_id is null
and ppc1.current_flag = 'W')))
-- AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate2(ppev.project_id,
-- ppev.proj_element_id, ppev.object_type,'WORKPLAN',null, ppev.proj_element_id/* Bug 3764224 */)
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.structure_type = 'WORKPLAN'
AND ppr.structure_version_id is null
-- AND ppr.current_flag = 'W' --bug 3879461
UNION ALL
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, wbs_level parent_wbs_level
, element_version_id object_id_to1
, ppev.object_type object_type
, wbs_level wbs_level
, to_number( null ) weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_number(null) base_percent_complete
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number(null) ESTIMATED_REMAINING_EFFORT
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id
, to_char(null) STRUCTURE_TYPE
, to_number(null) rollup_proj_element_id
, to_number(null) PPL_ACT_EFFORT_TO_DATE
, to_number(null) EQPMT_ACT_EFFORT_TO_DATE
, to_number(null) total_act_effort_to_date
, to_number(null) EQPMT_ETC_EFFORT
, to_number(null) total_etc_effort
, to_number(null) OTH_ACT_COST_TO_DATE_TC
, to_number(null) OTH_ACT_COST_TO_DATE_PC
, to_number(null) OTH_ACT_COST_TO_DATE_FC
, to_number(null) OTH_ETC_COST_TC
, to_number(null) OTH_ETC_COST_PC
, to_number(null) OTH_ETC_COST_FC
, to_number(null) PPL_ACT_COST_TO_DATE_TC
, to_number(null) PPL_ACT_COST_TO_DATE_PC
, to_number(null) PPL_ACT_COST_TO_DATE_FC
, to_number(null) PPL_ETC_COST_TC
, to_number(null) PPL_ETC_COST_PC
, to_number(null) PPL_ETC_COST_FC
, to_number(null) EQPMT_ACT_COST_TO_DATE_TC
, to_number(null) EQPMT_ACT_COST_TO_DATE_PC
, to_number(null) EQPMT_ACT_COST_TO_DATE_FC
, to_number(null) total_act_cost_to_date_tc
, to_number(null) total_act_cost_to_date_pc
, to_number(null) total_act_cost_to_date_fc
, to_number(null) EQPMT_ETC_COST_TC
, to_number(null) EQPMT_ETC_COST_PC
, to_number(null) EQPMT_ETC_COST_FC
, to_number(null) total_etc_cost_tc
, to_number(null) total_etc_cost_pc
, to_number(null) total_etc_cost_fc
--Bug 3614828 Begin
, to_number(null) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number(null) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number(null) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number(null) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number(null) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number(null) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number(null) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number(null) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number(null) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number(null) OTH_ETC_RAWCost_TC
, to_number(null) OTH_ETC_RAWCost_PC
, to_number(null) OTH_ETC_RAWCost_FC
, to_number(null) PPL_ETC_RAWCOST_TC
, to_number(null) PPL_ETC_RAWCOST_PC
, to_number(null) PPL_ETC_RAWCOST_FC
, to_number(null) EQPMT_ETC_RAWCOST_TC
, to_number(null) EQPMT_ETC_RAWCOST_PC
, to_number(null) EQPMT_ETC_RAWCOST_FC
--Bug 3614828 End
, to_number(null) SUBPRJ_PPL_ACT_EFFORT
, to_number(null) SUBPRJ_EQPMT_ACT_EFFORT
, to_number(null) SUBPRJ_PPL_ETC_EFFORT
, to_number(null) SUBPRJ_EQPMT_ETC_EFFORT
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_TC
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_FC
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_PC
, to_number(null) SUBPRJ_PPL_ACT_COST_TC
, to_number(null) SUBPRJ_PPL_ACT_COST_FC
, to_number(null) SUBPRJ_PPL_ACT_COST_PC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_TC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_FC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_PC
, to_number(null) total_subproj_act_cost_tc
, to_number(null) total_subproj_act_cost_pc
, to_number(null) total_subproj_act_cost_fc
, to_number(null) SUBPRJ_OTH_ETC_COST_TC
, to_number(null) SUBPRJ_OTH_ETC_COST_FC
, to_number(null) SUBPRJ_OTH_ETC_COST_PC
, to_number(null) SUBPRJ_PPL_ETC_COST_TC
, to_number(null) SUBPRJ_PPL_ETC_COST_FC
, to_number(null) SUBPRJ_PPL_ETC_COST_PC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_TC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_FC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_PC
, to_number(null) total_subproj_etc_cost_tc
, to_number(null) total_subproj_etc_cost_pc
, to_number(null) total_subproj_etc_cost_fc
, to_number(null) SUBPRJ_EARNED_VALUE
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number(null) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number(null) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, p_wp_rollup_method, ppev.proj_element_id, ppev.parent_structure_version_id, 'WORKPLAN') BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, p_wp_rollup_method, ppev.proj_element_id, ppev.parent_structure_version_id, 'WORKPLAN','N','N') BAC_value_self -- bug 4493105
, null earned_value
, to_number(null) Oth_quantity_to_date
, to_number(null) Oth_etc_quantity
-- 4533112 : Added base_progress_status_code
, 'N' base_progress_status_code
FROM pa_proj_element_versions ppev
WHERE ppev.element_version_id = c_task_ver_id
AND ppev.object_type = 'PA_TASKS'
-- Bug 3879461 Begin
AND NOT EXISTS (SELECT 1
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = ppev.proj_element_id
AND proj_element_id = ppev.proj_element_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date
)
-- AND pa_progress_utils.get_max_rollup_asofdate2(ppev.project_id,
-- ppev.proj_element_id, ppev.object_type,'WORKPLAN',null, ppev.proj_element_id/* Bug 3764224 */) IS NULL
-- Bug 3879461 End
-- Begin fix for Bug # 4032987.
-- This query returns the progress of immediate sub-tasks of the input task.
UNION ALL
SELECT obj.object_id_from1
, obj.object_type_from parent_object_type
, ppev1.wbs_level-1 parent_wbs_level
, ppev2.element_version_id object_id_to1
, ppev2.object_type object_type
, ppev2.wbs_level wbs_level
, obj.weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.base_percent_complete
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 --base prog status
, ppr.ESTIMATED_REMAINING_EFFORT
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev2.proj_element_id
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID rollup_proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_EFFORT_TO_DATE + ppr.EQPMT_ACT_EFFORT_TO_DATE total_act_effort_to_date
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_EFFORT + ppr.estimated_remaining_effort total_etc_effort
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_COST_TO_DATE_TC + ppr.PPL_ACT_COST_TO_DATE_TC + ppr.EQPMT_ACT_COST_TO_DATE_TC total_act_cost_to_date_tc
, ppr.OTH_ACT_COST_TO_DATE_PC + ppr.PPL_ACT_COST_TO_DATE_PC + ppr.EQPMT_ACT_COST_TO_DATE_PC total_act_cost_to_date_pc
, ppr.OTH_ACT_COST_TO_DATE_FC + ppr.PPL_ACT_COST_TO_DATE_FC + ppr.EQPMT_ACT_COST_TO_DATE_FC total_act_cost_to_date_fc
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.OTH_ETC_COST_TC + ppr.PPL_ETC_COST_TC + ppr.EQPMT_ETC_COST_TC total_etc_cost_tc
, ppr.OTH_ETC_COST_PC + ppr.PPL_ETC_COST_PC + ppr.EQPMT_ETC_COST_PC total_etc_cost_pc
, ppr.OTH_ETC_COST_FC + ppr.PPL_ETC_COST_FC + ppr.EQPMT_ETC_COST_FC total_etc_cost_fc
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_RAWCost_TC
, ppr.OTH_ETC_RAWCost_PC
, ppr.OTH_ETC_RAWCost_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.SUBPRJ_PPL_ACT_EFFORT
, ppr.SUBPRJ_EQPMT_ACT_EFFORT
, ppr.SUBPRJ_PPL_ETC_EFFORT
, ppr.SUBPRJ_EQPMT_ETC_EFFORT
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_TC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_FC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_PC
, ppr.SUBPRJ_PPL_ACT_COST_TC
, ppr.SUBPRJ_PPL_ACT_COST_FC
, ppr.SUBPRJ_PPL_ACT_COST_PC
, ppr.SUBPRJ_EQPMT_ACT_COST_TC
, ppr.SUBPRJ_EQPMT_ACT_COST_FC
, ppr.SUBPRJ_EQPMT_ACT_COST_PC
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_TC + ppr.SUBPRJ_PPL_ACT_COST_TC + ppr.SUBPRJ_EQPMT_ACT_COST_TC total_subproj_act_cost_tc
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_PC + ppr.SUBPRJ_PPL_ACT_COST_PC + ppr.SUBPRJ_EQPMT_ACT_COST_PC total_subproj_act_cost_pc
, ppr.SUBPRJ_OTH_ACT_COST_TO_DT_FC + ppr.SUBPRJ_PPL_ACT_COST_FC + ppr.SUBPRJ_EQPMT_ACT_COST_FC total_subproj_act_cost_fc
, ppr.SUBPRJ_OTH_ETC_COST_TC
, ppr.SUBPRJ_OTH_ETC_COST_FC
, ppr.SUBPRJ_OTH_ETC_COST_PC
, ppr.SUBPRJ_PPL_ETC_COST_TC
, ppr.SUBPRJ_PPL_ETC_COST_FC
, ppr.SUBPRJ_PPL_ETC_COST_PC
, ppr.SUBPRJ_EQPMT_ETC_COST_TC
, ppr.SUBPRJ_EQPMT_ETC_COST_FC
, ppr.SUBPRJ_EQPMT_ETC_COST_PC
, ppr.SUBPRJ_OTH_ETC_COST_TC + ppr.SUBPRJ_PPL_ETC_COST_TC + ppr.SUBPRJ_EQPMT_ETC_COST_TC total_subproj_etc_cost_tc
, ppr.SUBPRJ_OTH_ETC_COST_PC + ppr.SUBPRJ_PPL_ETC_COST_PC + ppr.SUBPRJ_EQPMT_ETC_COST_PC total_subproj_etc_cost_pc
, ppr.SUBPRJ_OTH_ETC_COST_FC + ppr.SUBPRJ_PPL_ETC_COST_FC + ppr.SUBPRJ_EQPMT_ETC_COST_FC total_subproj_etc_cost_fc
, ppr.SUBPRJ_EARNED_VALUE
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, p_wp_rollup_method, ppev2.proj_element_id, ppev2.parent_structure_version_id, 'WORKPLAN') BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, p_wp_rollup_method, ppev2.proj_element_id, ppev2.parent_structure_version_id, 'WORKPLAN','N','N') BAC_value_self -- bug 4493105
, null earned_value
, ppr.Oth_quantity_to_date
, ppr.Oth_etc_quantity
-- 4533112 : Added base_progress_status_code
, decode(ppr.base_progress_status_code,'Y','Y','N') base_progress_status_code
FROM pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_object_relationships obj,
pa_progress_rollup ppr,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3,
pa_proj_elements ppe -- 4392189
WHERE obj.object_id_from1 = c_task_ver_id
AND obj.object_id_from1 = ppev1.element_version_id
AND obj.object_id_to1 = ppev2.element_version_id
AND obj.relationship_type = 'S'
AND ppev1.object_type = 'PA_TASKS'
AND ppev2.object_type = 'PA_TASKS'
AND ppev2.proj_element_id = ppe.proj_element_id -- 4392189
AND ppe.link_task_flag <> 'Y' -- 4392189
AND ppr.project_id = ppev2.project_id
AND ppr.object_id = ppev2.proj_element_id
AND ppr.proj_element_id = ppev2.proj_element_id
AND ppr.as_of_date = (SELECT max(as_of_date)
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = ppev2.proj_element_id
AND proj_element_id = ppev2.proj_element_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date
)
AND (ppr.current_flag = 'W'
OR (ppr.current_flag IN( 'Y', 'N') -- Bug 4336720 : Added Y and N Both
AND NOT EXISTS (select 1
from pa_progress_rollup ppc1
where ppc1.project_id = p_project_id
and ppc1.object_id = ppev2.proj_element_id
and ppc1.proj_element_id = ppev2.proj_element_id
and ppc1.object_Type = 'PA_TASKS'
and ppc1.structure_type = 'WORKPLAN'
and ppc1.as_of_date <= p_as_of_date
and ppc1.structure_version_id is null
and ppc1.current_flag = 'W')))
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.structure_type = 'WORKPLAN'
AND ppr.structure_version_id is null
-- This query returns etc value = planned value when ther is no progress for the immediate sub-tasks.
UNION ALL
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
obj.object_id_from1 object_id_from1
, ppev1.object_type parent_object_type
, ppev1.wbs_level-1 parent_wbs_level
, ppev2.element_version_id object_id_to1
, ppev2.object_type object_type
, ppev2.wbs_level wbs_level
--, to_number( null ) weighting_percentage --bug 4191181
, obj.weighting_percentage weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_number(null) base_percent_complete
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, (nvl(pfxat.LABOR_HOURS,0) + nvl(pfxat.EQUIPMENT_HOURS,0)) ESTIMATED_REMAINING_EFFORT
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev2.proj_element_id
, to_char(null) STRUCTURE_TYPE
, to_number(null) rollup_proj_element_id
, to_number(null) PPL_ACT_EFFORT_TO_DATE
, to_number(null) EQPMT_ACT_EFFORT_TO_DATE
, to_number(null) total_act_effort_to_date
, pfxat.equipment_hours EQPMT_ETC_EFFORT
, (nvl(pfxat.LABOR_HOURS,0) + nvl(pfxat.EQUIPMENT_HOURS,0)) total_etc_effort
, to_number(null) OTH_ACT_COST_TO_DATE_TC
, to_number(null) OTH_ACT_COST_TO_DATE_PC
, to_number(null) OTH_ACT_COST_TO_DATE_FC
, (nvl(pfxat.txn_brdn_cost,0) - (nvl(pfxat.txn_labor_brdn_cost,0) + nvl(pfxat.txn_equip_brdn_cost,0))) OTH_ETC_COST_TC
, (nvl(pfxat.prj_brdn_cost,0) - (nvl(pfxat.prj_labor_brdn_cost,0) + nvl(pfxat.prj_equip_brdn_cost,0))) OTH_ETC_COST_PC
, (nvl(pfxat.pou_brdn_cost,0) - (nvl(pfxat.pou_labor_brdn_cost,0) + nvl(pfxat.pou_equip_brdn_cost,0))) OTH_ETC_COST_FC
, to_number(null) PPL_ACT_COST_TO_DATE_TC
, to_number(null) PPL_ACT_COST_TO_DATE_PC
, to_number(null) PPL_ACT_COST_TO_DATE_FC
, pfxat.txn_labor_brdn_cost PPL_ETC_COST_TC
, pfxat.prj_labor_brdn_cost PPL_ETC_COST_PC
, pfxat.pou_labor_brdn_cost PPL_ETC_COST_FC
, to_number(null) EQPMT_ACT_COST_TO_DATE_TC
, to_number(null) EQPMT_ACT_COST_TO_DATE_PC
, to_number(null) EQPMT_ACT_COST_TO_DATE_FC
, to_number(null) total_act_cost_to_date_tc
, to_number(null) total_act_cost_to_date_pc
, to_number(null) total_act_cost_to_date_fc
, pfxat.txn_equip_brdn_cost EQPMT_ETC_COST_TC
, pfxat.prj_equip_brdn_cost EQPMT_ETC_COST_PC
, pfxat.pou_equip_brdn_cost EQPMT_ETC_COST_FC
, pfxat.txn_brdn_cost total_etc_cost_tc
, pfxat.prj_brdn_cost total_etc_cost_pc
, pfxat.pou_brdn_cost total_etc_cost_fc
, to_number(null) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number(null) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number(null) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number(null) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number(null) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number(null) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number(null) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number(null) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number(null) PPL_ACT_RAWCOST_TO_DATE_FC
, (nvl(pfxat.txn_raw_cost,0) - (nvl(pfxat.txn_labor_raw_cost,0) + nvl(pfxat.txn_equip_raw_cost,0))) OTH_ETC_RAWCost_TC
, (nvl(pfxat.prj_raw_cost,0) - (nvl(pfxat.prj_labor_raw_cost,0) + nvl(pfxat.prj_equip_raw_cost,0))) OTH_ETC_RAWCost_PC
, (nvl(pfxat.pou_raw_cost,0) - (nvl(pfxat.pou_labor_raw_cost,0) + nvl(pfxat.pou_equip_raw_cost,0))) OTH_ETC_RAWCost_FC
, pfxat.txn_labor_raw_cost PPL_ETC_RAWCOST_TC
, pfxat.prj_labor_raw_cost PPL_ETC_RAWCOST_PC
, pfxat.pou_labor_raw_cost PPL_ETC_RAWCOST_FC
, pfxat.txn_equip_raw_cost EQPMT_ETC_RAWCOST_TC
, pfxat.prj_equip_raw_cost EQPMT_ETC_RAWCOST_PC
, pfxat.pou_equip_raw_cost EQPMT_ETC_RAWCOST_FC
, to_number(null) SUBPRJ_PPL_ACT_EFFORT
, to_number(null) SUBPRJ_EQPMT_ACT_EFFORT
, to_number(null) SUBPRJ_PPL_ETC_EFFORT
, to_number(null) SUBPRJ_EQPMT_ETC_EFFORT
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_TC
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_FC
, to_number(null) SUBPRJ_OTH_ACT_COST_TO_DT_PC
, to_number(null) SUBPRJ_PPL_ACT_COST_TC
, to_number(null) SUBPRJ_PPL_ACT_COST_FC
, to_number(null) SUBPRJ_PPL_ACT_COST_PC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_TC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_FC
, to_number(null) SUBPRJ_EQPMT_ACT_COST_PC
, to_number(null) total_subproj_act_cost_tc
, to_number(null) total_subproj_act_cost_pc
, to_number(null) total_subproj_act_cost_fc
, to_number(null) SUBPRJ_OTH_ETC_COST_TC
, to_number(null) SUBPRJ_OTH_ETC_COST_FC
, to_number(null) SUBPRJ_OTH_ETC_COST_PC
, to_number(null) SUBPRJ_PPL_ETC_COST_TC
, to_number(null) SUBPRJ_PPL_ETC_COST_FC
, to_number(null) SUBPRJ_PPL_ETC_COST_PC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_TC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_FC
, to_number(null) SUBPRJ_EQPMT_ETC_COST_PC
, to_number(null) total_subproj_etc_cost_tc
, to_number(null) total_subproj_etc_cost_pc
, to_number(null) total_subproj_etc_cost_fc
, to_number(null) SUBPRJ_EARNED_VALUE
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number(null) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number(null) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, p_wp_rollup_method, ppev2.proj_element_id, ppev2.parent_structure_version_id, 'WORKPLAN') BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, p_wp_rollup_method, ppev2.proj_element_id, ppev2.parent_structure_version_id, 'WORKPLAN','N','N') BAC_value_self -- bug 4493105
, null earned_value
, to_number(null) Oth_quantity_to_date
, to_number(null) Oth_etc_quantity
-- 4533112 : Added base_progress_status_code
, 'N' base_progress_status_code
FROM pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_object_relationships obj,
pji_fm_xbs_accum_tmp1 pfxat,
pa_proj_elements ppe -- 4392189
WHERE obj.object_id_from1 = c_task_ver_id
AND obj.object_id_from1 = ppev1.element_version_id
AND obj.object_id_to1 = ppev2.element_version_id
AND obj.relationship_type = 'S'
AND ppev2.proj_element_id = ppe.proj_element_id -- 4392189
AND ppe.link_task_flag <> 'Y' -- 4392189
AND ppev1.object_type = 'PA_TASKS'
AND ppev2.object_type = 'PA_TASKS'
AND pfxat.project_id(+) = ppev2.project_id
AND pfxat.struct_version_id(+) = ppev2.parent_structure_version_id
AND pfxat.project_element_id(+) = ppev2.proj_element_id
AND pfxat.calendar_type(+) = 'A'
AND pfxat.plan_version_id(+) > 0
AND pfxat.txn_currency_code(+) is null
AND NOT EXISTS (SELECT 1
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = ppev2.proj_element_id
AND proj_element_id = ppev2.proj_element_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date
)
-- End fix for Bug # 4032987.
;
SELECT asgn.task_version_id
, 'PA_TASKS' parent_object_type
, asgn.resource_assignment_id object_id_to1
, asgn.task_version_id object_id_from1
, 'PA_ASSIGNMENTS' object_type
, asgn.resource_class_code
, asgn.rate_based_flag
, decode(asgn.rate_based_flag,'Y','EFFORT','N','COST') assignment_type
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
--, ppr.ESTIMATED_REMAINING_EFFORT --bug 3977167
, nvl(ppr.ESTIMATED_REMAINING_EFFORT,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_quantity,0) - nvl(ppr.PPL_ACT_EFFORT_TO_DATE, 0)), -1, 0,
nvl(asgn.planned_quantity,0) - nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0))
, 0)) ESTIMATED_REMAINING_EFFORT
, ppr.STRUCTURE_VERSION_ID
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_EFFORT_TO_DATE + ppr.EQPMT_ACT_EFFORT_TO_DATE total_act_effort_to_date
--, ppr.EQPMT_ETC_EFFORT --bug 3977167
, nvl(ppr.EQPMT_ETC_EFFORT,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_quantity,0) - nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE, 0)), -1, 0,
nvl(asgn.planned_quantity,0) - nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE, 0))
, 0)) EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_EFFORT + ppr.estimated_remaining_effort total_etc_effort
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
--, ppr.OTH_ETC_COST_TC --bug 3977167
--, ppr.OTH_ETC_COST_PC --bug 3977167
--, ppr.OTH_ETC_COST_FC --bug 3977167
, nvl(ppr.OTH_ETC_COST_TC,
decode(asgn.resource_class_code,'PEOPLE', 0, 'EQUIPMENT', 0,
decode( sign(nvl(asgn.planned_bur_cost_txn_cur,0) - nvl(ppr.OTH_ACT_COST_TO_DATE_TC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_txn_cur,0) - nvl(ppr.OTH_ACT_COST_TO_DATE_TC, 0))
)) OTH_ETC_COST_TC
,nvl(ppr.OTH_ETC_COST_PC,
decode(asgn.resource_class_code,'PEOPLE', 0, 'EQUIPMENT', 0,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0) - nvl(ppr.OTH_ACT_COST_TO_DATE_PC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0) - nvl(ppr.OTH_ACT_COST_TO_DATE_PC, 0))
)) OTH_ETC_COST_PC
, nvl(ppr.OTH_ETC_COST_FC,
decode(asgn.resource_class_code,'PEOPLE', 0, 'EQUIPMENT', 0,
decode( sign(nvl(asgn.planned_bur_cost_projfunc,0) - nvl(ppr.OTH_ACT_COST_TO_DATE_FC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_projfunc,0) - nvl(ppr.OTH_ACT_COST_TO_DATE_FC, 0))
)) OTH_ETC_COST_FC
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
--, ppr.PPL_ETC_COST_TC --bug 3977167
--, ppr.PPL_ETC_COST_PC --bug 3977167
--, ppr.PPL_ETC_COST_FC --bug 3977167
, nvl(ppr.PPL_ETC_COST_TC,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_bur_cost_txn_cur,0) - nvl(ppr.PPL_ACT_COST_TO_DATE_TC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_txn_cur,0) - nvl(ppr.PPL_ACT_COST_TO_DATE_TC, 0))
,0)) PPL_ETC_COST_TC
, nvl(ppr.PPL_ETC_COST_PC,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_bur_cost_proj_cur,0) - nvl(ppr.PPL_ACT_COST_TO_DATE_PC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0) - nvl(ppr.PPL_ACT_COST_TO_DATE_PC, 0))
,0)) PPL_ETC_COST_PC
, nvl(ppr.PPL_ETC_COST_FC,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_bur_cost_projfunc,0) - nvl(ppr.PPL_ACT_COST_TO_DATE_FC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_projfunc,0) - nvl(ppr.PPL_ACT_COST_TO_DATE_FC, 0))
,0)) PPL_ETC_COST_FC
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_COST_TO_DATE_TC + ppr.PPL_ACT_COST_TO_DATE_TC + ppr.EQPMT_ACT_COST_TO_DATE_TC total_act_cost_to_date_tc
, ppr.OTH_ACT_COST_TO_DATE_PC + ppr.PPL_ACT_COST_TO_DATE_PC + ppr.EQPMT_ACT_COST_TO_DATE_PC total_act_cost_to_date_pc
, ppr.OTH_ACT_COST_TO_DATE_FC + ppr.PPL_ACT_COST_TO_DATE_FC + ppr.EQPMT_ACT_COST_TO_DATE_FC total_act_cost_to_date_fc
--, ppr.EQPMT_ETC_COST_TC --bug 3977167
--, ppr.EQPMT_ETC_COST_PC --bug 3977167
--, ppr.EQPMT_ETC_COST_FC --bug 3977167
, nvl(ppr.EQPMT_ETC_COST_TC,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_bur_cost_txn_cur,0) - nvl(ppr.EQPMT_ACT_COST_TO_DATE_TC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_txn_cur,0) - nvl(ppr.EQPMT_ACT_COST_TO_DATE_TC, 0))
,0)) EQPMT_ETC_COST_TC
, nvl(ppr.EQPMT_ETC_COST_PC,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_bur_cost_proj_cur,0) - nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0) - nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC, 0))
,0)) EQPMT_ETC_COST_PC
, nvl(ppr.EQPMT_ETC_COST_FC,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_bur_cost_projfunc,0) - nvl(ppr.EQPMT_ACT_COST_TO_DATE_FC, 0)), -1, 0,
nvl(asgn.planned_bur_cost_projfunc,0) - nvl(ppr.EQPMT_ACT_COST_TO_DATE_FC, 0))
,0)) EQPMT_ETC_COST_FC
, ppr.OTH_ETC_COST_TC + ppr.PPL_ETC_COST_TC + ppr.EQPMT_ETC_COST_TC total_etc_cost_tc
, ppr.OTH_ETC_COST_PC + ppr.PPL_ETC_COST_PC + ppr.EQPMT_ETC_COST_PC total_etc_cost_pc
, ppr.OTH_ETC_COST_FC + ppr.PPL_ETC_COST_FC + ppr.EQPMT_ETC_COST_FC total_etc_cost_fc
--Bug 3614828 Begin
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
--, ppr.OTH_ETC_RAWCost_TC --bug 3977167
--, ppr.OTH_ETC_RAWCost_PC --bug 3977167
--, ppr.OTH_ETC_RAWCost_FC --bug 3977167
, nvl(ppr.OTH_ETC_RAWCost_TC,
decode(asgn.resource_class_code,'PEOPLE', 0, 'EQUIPMENT', 0,
decode( sign(nvl(asgn.planned_raw_cost_txn_cur,0) - nvl(ppr.OTH_ACT_RAWCOST_TO_DATE_TC, 0)), -1, 0,
nvl(asgn.planned_raw_cost_txn_cur,0) - nvl(ppr.OTH_ACT_RAWCOST_TO_DATE_TC, 0))
)) OTH_ETC_RAWCost_TC
, nvl(ppr.OTH_ETC_RAWCost_PC,
decode(asgn.resource_class_code,'PEOPLE', 0, 'EQUIPMENT', 0,
decode(sign(nvl(asgn.planned_raw_cost_proj_cur,0) - nvl(ppr.OTH_ACT_RAWCOST_TO_DATE_PC, 0)), -1, 0,
nvl(asgn.planned_raw_cost_proj_cur,0) - nvl(ppr.OTH_ACT_RAWCOST_TO_DATE_PC, 0))
)) OTH_ETC_RAWCost_PC
, nvl(ppr.OTH_ETC_RAWCost_FC,
decode(asgn.resource_class_code,'PEOPLE', 0, 'EQUIPMENT', 0,
decode(sign(nvl(asgn.planned_raw_cost_projfunc,0) - nvl(ppr.OTH_ACT_RAWCOST_TO_DATE_FC, 0)), -1, 0,
nvl(asgn.planned_raw_cost_projfunc,0) - nvl(ppr.OTH_ACT_RAWCOST_TO_DATE_FC, 0))
)) OTH_ETC_RAWCost_FC
--, ppr.PPL_ETC_RAWCOST_TC --bug 3977167
--, ppr.PPL_ETC_RAWCOST_PC --bug 3977167
--, ppr.PPL_ETC_RAWCOST_FC --bug 3977167
, nvl(ppr.PPL_ETC_RAWCOST_TC,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_raw_cost_txn_cur,0) - nvl(ppr.PPL_ACT_RAWCOST_TO_DATE_TC, 0)),-1,0,
nvl(asgn.planned_raw_cost_txn_cur,0) - nvl(ppr.PPL_ACT_RAWCOST_TO_DATE_TC, 0))
,0)) PPL_ETC_RAWCOST_TC
, nvl(ppr.PPL_ETC_RAWCOST_PC,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_raw_cost_proj_cur,0) - nvl(ppr.PPL_ACT_RAWCOST_TO_DATE_PC, 0)),-1,0,
nvl(asgn.planned_raw_cost_proj_cur,0) - nvl(ppr.PPL_ACT_RAWCOST_TO_DATE_PC, 0))
,0)) PPL_ETC_RAWCOST_PC
, nvl(ppr.PPL_ETC_RAWCOST_FC,
decode(asgn.resource_class_code,'PEOPLE',
decode(sign(nvl(asgn.planned_raw_cost_projfunc,0) - nvl(ppr.PPL_ACT_RAWCOST_TO_DATE_FC, 0)),-1,0,
nvl(asgn.planned_raw_cost_projfunc,0) - nvl(ppr.PPL_ACT_RAWCOST_TO_DATE_FC, 0))
,0)) PPL_ETC_RAWCOST_FC
--, ppr.EQPMT_ETC_RAWCOST_TC --bug 3977167
--, ppr.EQPMT_ETC_RAWCOST_PC --bug 3977167
--, ppr.EQPMT_ETC_RAWCOST_FC --bug 3977167
, nvl(ppr.EQPMT_ETC_RAWCOST_TC,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_raw_cost_txn_cur,0) - nvl(ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC, 0)),-1,0,
nvl(asgn.planned_raw_cost_txn_cur,0) - nvl(ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC, 0))
,0)) EQPMT_ETC_RAWCOST_TC
, nvl(ppr.EQPMT_ETC_RAWCOST_PC,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_raw_cost_proj_cur,0) - nvl(ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC, 0)),-1,0,
nvl(asgn.planned_raw_cost_proj_cur,0) - nvl(ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC, 0))
,0)) EQPMT_ETC_RAWCOST_PC
, nvl(ppr.EQPMT_ETC_RAWCOST_FC,
decode(asgn.resource_class_code,'EQUIPMENT',
decode(sign(nvl(asgn.planned_raw_cost_projfunc,0) - nvl(ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC, 0)),-1,0,
nvl(asgn.planned_raw_cost_projfunc,0) - nvl(ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC, 0))
,0)) EQPMT_ETC_RAWCOST_FC
--Bug 3614828 End
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
,decode(c_task_per_comp_deriv_method,'EFFORT', ( nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)),
( nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0)) ) earned_value
,decode(p_wp_rollup_method, 'COST', nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0)
+ nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0)
+ nvl(ppr.EQPMT_ETC_COST_PC,0), 'EFFORT', decode(rate_based_flag,'N', 0, nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0)
+ nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0) + nvl(ppr.estimated_remaining_effort,0)), 0) bac_value_in_rollup_method
--bug 3815252
,decode(c_task_per_comp_deriv_method,'EFFORT', ( NVL( decode( asgn.rate_based_flag, 'Y',
decode( asgn.resource_class_code,
'PEOPLE', nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,
decode( sign(nvl(asgn.planned_quantity,0)-nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0)), -1, 0,
nvl(asgn.planned_quantity,0)-nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0))),
'EQUIPMENT', nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,
decode( sign(nvl(asgn.planned_quantity,0)-nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)), -1, 0,
nvl(asgn.planned_quantity,0)-nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)))),0),0) -- Bug 4213130 nvl(asgn.planned_quantity,0))
),
( NVL( decode( asgn.resource_class_code,
'FINANCIAL_ELEMENTS',
nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0))),
'MATERIAL_ITEMS',
nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0))),
'PEOPLE',
nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0))),
'EQUIPMENT',
nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,
decode( sign(nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0)), -1, 0,
nvl(asgn.planned_bur_cost_proj_cur,0)-nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0)))),
nvl(asgn.planned_bur_cost_proj_cur,0)
))
) bac_value_in_task_deriv
, ppr.Oth_quantity_to_date
, ppr.Oth_etc_quantity
FROM
pa_task_asgmts_v asgn,
pa_progress_rollup ppr
WHERE asgn.task_version_id = c_task_ver_id
AND asgn.task_id = c_task_id
AND asgn.project_id = p_project_id
AND asgn.project_id = ppr.project_id(+)
AND asgn.RESOURCE_LIST_MEMBER_ID = ppr.object_id(+) -- Bug 3764224
AND asgn.task_id = ppr.proj_element_id(+) -- Bug 3764224
AND ppr.object_type(+) = 'PA_ASSIGNMENTS'
-- Bug 3879461 : After discussion with Sameer Realeraskar, Majid
-- It is to select only the rollup record till passed as of date
AND ppr.structure_type(+) = 'WORKPLAN'
AND ppr.structure_version_id(+) is null
AND ppr.as_of_date(+) <= p_as_of_date
AND nvl(ppr.progress_rollup_id,-99) = pa_progress_utils.get_w_pub_prupid_asofdate(p_project_id,asgn.RESOURCE_LIST_MEMBER_ID,'PA_ASSIGNMENTS',asgn.task_id,p_as_of_date);
/* (SELECT nvl(max(progress_rollup_id),-99)
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = asgn.RESOURCE_LIST_MEMBER_ID
AND proj_element_id = asgn.task_id
AND object_type = 'PA_ASSIGNMENTS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date
AND (ppr.current_flag = 'W'
--OR (ppr.current_flag ='Y' --bug 4183176
OR (ppr.current_flag IN ('Y', 'N')
AND NOT EXISTS (select 1
from pa_progress_rollup ppc1
where ppc1.project_id = p_project_id
and ppc1.object_id = asgn.RESOURCE_LIST_MEMBER_ID
and ppc1.proj_element_id = asgn.task_id
and ppc1.object_Type = 'PA_ASSIGNMENTS'
and ppc1.structure_type = 'WORKPLAN'
and ppc1.as_of_date <= p_as_of_date
and ppc1.structure_version_id is null
and ppc1.current_flag = 'W'))))
-- AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate2(asgn.project_id,
-- asgn.RESOURCE_LIST_MEMBER_ID, 'PA_ASSIGNMENTS','WORKPLAN', null, asgn.task_id) ---Bug 3764224
--bug 3958686, hidden assignments should not to be selected
-- AND asgn.ta_display_flag = 'Y' -- Bug 4323537
; */
SELECT obj.object_type_from
, 'PA_TASKS' parent_object_type
, obj.object_id_to2 object_id
, obj.object_id_to1
, obj.object_id_from1
, 'PA_DELIVERABLES' object_type
, ppr.actual_finish_date
, ppr.completed_percentage
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID
, ppr.STRUCTURE_VERSION_ID
, ppr.TASK_WT_BASIS_CODE
, elem.progress_weight weighting_percentage
, ppr.base_percent_complete
, pps2.project_status_weight override_weight ---override progress status code
, pps3.project_status_weight base_weight --base prog status
FROM pa_proj_elements elem
, pa_object_relationships obj
, pa_progress_rollup ppr
, pa_project_statuses pps2
, pa_project_statuses pps3
WHERE obj.object_id_from2= c_task_proj_elem_id
---AND obj.object_id_from1 = c_task_ver_id ---to get delv for specific task ver , object_id_from1 is not populated in this case
AND obj.object_type_from = 'PA_TASKS'
AND obj.object_type_to = 'PA_DELIVERABLES'
AND obj.relationship_type = 'A'
AND obj.relationship_subtype = 'TASK_TO_DELIVERABLE'
AND elem.proj_element_id = obj.object_id_to2
AND elem.object_type = 'PA_DELIVERABLES'
and elem.project_id = c_project_id
AND ppr.project_id(+) = c_project_id
AND ppr.object_id(+) = obj.object_id_to2
AND ppr.object_type(+) = 'PA_DELIVERABLES'
AND ppr.as_of_date(+) <= p_as_of_date
-- Bug 3879461 : After discussion with Sameer Realeraskar, Majid
-- It is to select only the rollup record till passed as of date
AND nvl(ppr.progress_rollup_id,-99) = pa_progress_utils.get_w_pub_prupid_asofdate(c_project_id,obj.object_id_to2,'PA_DELIVERABLES',obj.object_id_from2,p_as_of_date)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+);
/* (SELECT nvl(max(progress_rollup_id),-99)
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = obj.object_id_to2
--bug 4250623, do not check for proj_element_id as deliverable may not be associated with task
--AND proj_element_id = obj.object_id_from2
AND object_type = 'PA_DELIVERABLES'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date
--bug 4182870, added for selecting only one record
AND (ppr.current_flag = 'W'
OR (ppr.current_flag IN ('Y', 'N')
AND NOT EXISTS (select 1
from pa_progress_rollup ppc1
where ppc1.project_id = p_project_id
and ppc1.object_id = obj.object_id_to2
--bug 4250623, do not check for proj_element_id as deliverable may not be associated with task
--and ppc1.proj_element_id = obj.object_id_from2
and ppc1.object_Type = 'PA_DELIVERABLES'
and ppc1.structure_type = 'WORKPLAN'
and ppc1.as_of_date <= p_as_of_date
and ppc1.structure_version_id is null
and ppc1.current_flag = 'W'))))
-- AND ppr.as_of_date(+) = pa_progress_utils.get_max_rollup_asofdate2(c_project_id,
-- obj.object_id_to2, 'PA_DELIVERABLES','WORKPLAN', null, obj.object_id_from2 ) -- bug 3764224 Bug 3808044 : Changed to2 to from2
AND ppr.structure_type(+) = 'WORKPLAN'
AND ppr.structure_version_id(+) is null
-- AND ppr.current_flag(+) = 'W' --bug 3879461
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
; */
SELECT elem.status_code, stat.project_system_status_code, decode(elem.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,elem.base_percent_comp_deriv_code), ttype.prog_entry_enable_flag
FROM pa_proj_elements elem
, pa_task_types ttype
, pa_project_statuses stat
where elem.proj_element_id = c_task_proj_elem_id
AND elem.project_id = c_project_id
AND elem.object_type ='PA_TASKS'
AND elem.type_id = ttype.task_type_id
AND elem.status_code = stat.project_status_code(+);
select lookup_code
from fnd_lookup_values
where attribute4 = c_status_weight
and lookup_type = 'PROGRESS_SYSTEM_STATUS'
and language = 'US'
AND VIEW_APPLICATION_ID = 275 ; -- Bug ref # 6507900;
select project_status_code
from pa_project_statuses
where project_status_weight = c_status_weight
and status_type = 'TASK'
and predefined_flag = 'Y';
SELECT * from pa_progress_rollup
WHERE progress_rollup_id = c_progress_rollup_id;
SELECT *
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = c_proj_element_id
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date = ( SELECT max( as_of_date )
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = c_proj_element_id
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND as_of_date <= p_as_of_date );
SELECT STATUS_CODE
FROM PA_PROJ_ELEMENTS
WHERE PROJ_ELEMENT_ID=l_proj_element_id
AND PROJECT_ID = l_project_id;
SELECT scheduled_start_date, scheduled_finish_date
FROM pa_proj_elem_ver_schedule
WHERE PROJECT_ID = c_project_id
AND element_version_id = c_element_version_id;
SELECT 'Y' FROM DUAL
WHERE EXISTS
(SELECT 'xyz'
FROM pa_percent_completes
WHERE project_id = p_project_id
AND task_id = p_task_id
AND object_type = 'PA_DELIVERABLES'
AND trunc(date_computed)<= trunc(p_as_of_date)
AND structure_type = 'WORKPLAN'
AND PA_PROGRESS_UTILS.get_system_task_status( status_code, 'PA_DELIVERABLES') = 'DLVR_IN_PROGRESS'
);
SELECT
ppv2.project_id sub_project_id
,ppv2.element_version_id sub_structure_ver_id
,ppv2.proj_element_id sub_proj_element_id
, pa_progress_utils.Get_BAC_Value(ppv2.project_id, c_task_per_comp_deriv_method, ppv2.proj_element_id, ppv2.parent_structure_version_id,
'WORKPLAN','N') sub_project_bac_value
FROM
pa_proj_element_versions ppv2
,pa_proj_elem_ver_structure ppevs2
,pa_object_relationships por1
,pa_object_relationships por2
WHERE
por1.object_id_from1 = c_task_version_id
AND por1.object_id_to1 = por2.object_id_from1
AND por2.object_id_to1 = ppv2.element_version_id
AND ppv2.object_type = 'PA_STRUCTURES'
-- AND por2.relationship_type in ( 'LW', 'LF' )
AND por2.relationship_type = 'LW'
AND ppevs2.element_version_id = ppv2.element_version_id
AND ppevs2.project_id = ppv2.project_id
AND ppevs2.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs2.latest_eff_published_flag = 'Y';
SELECT /*+ index(pfxat pji_fm_xbs_accum_tmp1_n1) */
ppr.progress_rollup_id
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_LABOR_HRS,ppr.ESTIMATED_REMAINING_EFFORT) ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_PRJ_LABOR_BRDN_COST,ppr.PPL_ETC_COST_PC) PPL_ETC_COST_PC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_POU_LABOR_BRDN_COST,ppr.PPL_ETC_COST_FC) PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_PRJ_LABOR_RAW_COST,ppr.PPL_ETC_RAWCOST_PC) PPL_ETC_RAWCOST_PC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_POU_LABOR_RAW_COST,ppr.PPL_ETC_RAWCOST_FC) PPL_ETC_RAWCOST_FC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_EQUIP_HRS,ppr.EQPMT_ETC_EFFORT) EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_PRJ_EQUIP_BRDN_COST,ppr.EQPMT_ETC_COST_PC) EQPMT_ETC_COST_PC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_POU_EQUIP_BRDN_COST,ppr.EQPMT_ETC_COST_FC) EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_PRJ_EQUIP_RAW_COST,ppr.EQPMT_ETC_RAWCOST_PC) EQPMT_ETC_RAWCOST_PC
, decode(ppr.progress_rollup_id,null,pfxat.ETC_POU_EQUIP_RAW_COST,ppr.EQPMT_ETC_RAWCOST_FC) EQPMT_ETC_RAWCOST_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, decode(ppr.progress_rollup_id,null,(pfxat.ETC_PRJ_BRDN_COST-nvl(pfxat.ETC_PRJ_EQUIP_BRDN_COST,0)-nvl(pfxat.ETC_PRJ_LABOR_BRDN_COST,0)),ppr.OTH_ETC_COST_PC) OTH_ETC_COST_PC
, decode(ppr.progress_rollup_id,null,(pfxat.ETC_POU_BRDN_COST-nvl(pfxat.ETC_POU_EQUIP_BRDN_COST,0)-nvl(pfxat.ETC_POU_LABOR_BRDN_COST,0)),ppr.OTH_ETC_COST_FC) OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCost_TC
, decode(ppr.progress_rollup_id,null,(pfxat.ETC_PRJ_RAW_COST-nvl(pfxat.ETC_PRJ_EQUIP_RAW_COST,0)-nvl(pfxat.ETC_PRJ_LABOR_RAW_COST,0)),ppr.OTH_ETC_RAWCost_PC) OTH_ETC_RAWCost_PC
, decode(ppr.progress_rollup_id,null,(pfxat.ETC_POU_RAW_COST-nvl(pfxat.ETC_POU_EQUIP_RAW_COST,0)-nvl(pfxat.ETC_POU_LABOR_RAW_COST,0)),ppr.OTH_ETC_RAWCost_FC) OTH_ETC_RAWCost_FC
, pps1.project_status_weight rollup_weight1
, pps2.project_status_weight override_weight2
, pps3.project_status_weight base_weight3
, pps4.project_status_weight task_weight4
-- Bug 4506009, decode(c_task_per_comp_deriv_method,'EFFORT', ( nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)),
-- ( nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0))) earned_value
, decode(c_task_per_comp_deriv_method,'EFFORT', decode(nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0),0,
nvl(pfxat.ETC_LABOR_HRS,0) + nvl(pfxat.ETC_EQUIP_HRS,0),nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0))
, decode(nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,0),0,
nvl(pfxat.ETC_PRJ_BRDN_COST,0), nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,0))) bac_value
, nvl(ppr.completed_percentage, ppr.eff_rollup_percent_comp) completed_percentage -- Bug 4506009
FROM
pa_progress_rollup ppr
,pa_project_statuses pps1
,pa_project_statuses pps2
,pa_project_statuses pps3
,pa_project_statuses pps4
,pa_proj_elements ppe
,pji_fm_xbs_accum_tmp1 pfxat
WHERE
ppr.project_id = c_sub_project_id
AND ppe.project_id = c_sub_project_id
AND ppe.object_type = 'PA_STRUCTURES'
AND ppe.proj_element_id = c_sub_proj_element_id
AND ppr.object_id(+) = c_sub_proj_element_id
AND ppr.object_type(+) = 'PA_STRUCTURES'
AND ppr.structure_version_id(+) is null
AND ppr.structure_type(+) = 'WORKPLAN'
AND ppr.current_flag(+) <> 'W' ---IN ('Y', 'N')
AND ppr.as_of_date(+) <= c_as_of_date
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
AND pfxat.project_id = ppe.project_id
AND pfxat.struct_version_id = c_sub_str_version_id
AND pfxat.project_element_id = ppe.proj_element_id
AND pfxat.plan_version_id > 0
AND pfxat.txn_currency_code is null
AND pfxat.calendar_type = 'A'
AND pfxat.res_list_member_id is null
order by as_of_date desc
;
SELECT 'Y'
FROM pa_object_relationships
WHERE --relationship_type in ( 'LW', 'LF' )
relationship_type = 'LW'
AND object_id_from1 IN
(SELECT object_id_to1
FROM pa_object_relationships
START WITH object_id_from1 = c_task_version_id
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_to1 = object_id_from1
AND relationship_type = 'S')
;
SELECT project_currency_code INTO l_prj_currency_code FROM pa_projects_all WHERE project_id = p_project_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'Getting Periods', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'After Getting Periods', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rollup_table1(i).object_id='||l_rollup_table1(i).object_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_eff_rollup_status_code='||l_eff_rollup_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_progress_status_code='||l_progress_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rolled_up_per_comp='||l_rolled_up_per_comp, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rolled_up_prog_stat='||l_rolled_up_prog_stat, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_PROGRESS_ROLLUP_ID='||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rollup_rec_ver_number='||l_rollup_rec_ver_number, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rollup_table1(i).task_statusl ='||l_rollup_table1(i).task_status1, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rollup_table1(i).percent_complete1 ='||l_rollup_table1(i).percent_complete1, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_status_code ='||l_status_code, x_Log_Level=> 3);
UPDATE pa_percent_completes
SET status_code = l_status_code
WHERE object_id = p_task_id
AND project_id = p_project_id
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' )
AND structure_type = 'WORKPLAN'
AND current_flag = 'N' and published_flag = 'N';
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'Actual Exists', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_actual_exists='||l_actual_exists, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'Defaulting Status and Actual Dates', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_percent_complete1='||l_percent_complete1, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_rolled_up_per_comp='||l_rolled_up_per_comp, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'l_status_code ='||l_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_status_code='||l_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_existing_object_status='||l_existing_object_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'l_task_system_status_code='||l_task_system_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'After Defaulting l_status_code='||l_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'After Defaulting l_task_system_status_code='||l_task_system_status_code, x_Log_Level=> 3);
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
WHERE object_id = p_task_id
AND project_id = p_project_id
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' )
AND structure_type = 'WORKPLAN'
AND current_flag = 'N' and published_flag = 'N';
SELECT
PERIOD_NAME
, ACT_PRJ_BRDN_COST-ACT_PRJ_EQUIP_BRDN_COST-ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_EQUIP_BRDN_COST
, ACT_POU_BRDN_COST-ACT_POU_LABOR_BRDN_COST-ACT_POU_EQUIP_BRDN_COST
, ACT_POU_LABOR_BRDN_COST
, ACT_POU_EQUIP_BRDN_COST
, ACT_LABOR_HRS
, ACT_EQUIP_HRS
, ETC_PRJ_BRDN_COST-ETC_PRJ_EQUIP_BRDN_COST-ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_EQUIP_BRDN_COST
, ETC_POU_BRDN_COST-ETC_POU_LABOR_BRDN_COST-ETC_POU_EQUIP_BRDN_COST
, ETC_POU_LABOR_BRDN_COST
, ETC_POU_EQUIP_BRDN_COST
, ETC_LABOR_HRS
, ETC_EQUIP_HRS
, ACT_PRJ_RAW_COST-ACT_PRJ_EQUIP_RAW_COST-ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_EQUIP_RAW_COST
, ACT_POU_RAW_COST-ACT_POU_LABOR_RAW_COST-ACT_POU_EQUIP_RAW_COST
, ACT_POU_LABOR_RAW_COST
, ACT_POU_EQUIP_RAW_COST
, ETC_PRJ_RAW_COST-ETC_PRJ_EQUIP_RAW_COST-ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_EQUIP_RAW_COST
, ETC_POU_RAW_COST-ETC_POU_LABOR_RAW_COST-ETC_POU_EQUIP_RAW_COST
, ETC_POU_LABOR_RAW_COST
, ETC_POU_EQUIP_RAW_COST
,EQUIPMENT_HOURS
,POU_LABOR_BRDN_COST
,PRJ_LABOR_BRDN_COST
,POU_EQUIP_BRDN_COST
,PRJ_EQUIP_BRDN_COST
,POU_LABOR_RAW_COST
,PRJ_LABOR_RAW_COST
,POU_EQUIP_RAW_COST
,PRJ_EQUIP_RAW_COST
INTO l_PERIOD_NAME
, l_OTH_ACT_COST_TO_DATE_PC
, l_PPL_ACT_COST_TO_DATE_PC
, l_EQPMT_ACT_COST_TO_DATE_PC
, l_OTH_ACT_COST_TO_DATE_FC
, l_PPL_ACT_COST_TO_DATE_FC
, l_EQPMT_ACT_COST_TO_DATE_FC
, l_PPL_ACT_EFFORT_TO_DATE
, l_EQPMT_ACT_EFFORT_TO_DATE
, l_ETC_Cost_PC
, l_PPL_ETC_COST_PC
, l_EQPMT_ETC_COST_PC
, l_ETC_Cost_FC
, l_PPL_ETC_COST_FC
, l_EQPMT_ETC_COST_FC
, l_remaining_effort1
, l_EQPMT_ETC_EFFORT
, l_OTH_ACT_RAWCOST_TO_DATE_PC
, l_PPL_ACT_RAWCOST_TO_DATE_PC
, l_EQPMT_ACT_RAWCOST_TO_DATE_PC
, l_OTH_ACT_RAWCOST_TO_DATE_FC
, l_PPL_ACT_RAWCOST_TO_DATE_FC
, l_EQPMT_ACT_RAWCOST_TO_DATE_FC
, l_ETC_RAWCost_PC
, l_PPL_ETC_RAWCOST_PC
, l_EQPMT_ETC_RAWCOST_PC
, l_ETC_RAWCost_FC
, l_PPL_ETC_RAWCOST_FC
, l_EQPMT_ETC_RAWCOST_FC
,l_EQUIPMENT_HOURS
,l_POU_LABOR_BRDN_COST
,l_PRJ_LABOR_BRDN_COST
,l_POU_EQUIP_BRDN_COST
,l_PRJ_EQUIP_BRDN_COST
,l_POU_LABOR_RAW_COST
,l_PRJ_LABOR_RAW_COST
,l_POU_EQUIP_RAW_COST
,l_PRJ_EQUIP_RAW_COST
FROM PJI_FM_XBS_ACCUM_TMP1
WHERE project_id = p_project_id
AND struct_version_id = p_structure_version_id
AND project_element_id = p_task_id
AND plan_version_id > 0
AND txn_currency_code is null
AND calendar_type = 'A'
AND res_list_member_id is null;
/* Do not update actuals if the project is of shared type. */
-- 4623833 : Added l_subproj_task_version_id check
-- update_task_progress makes equip amount as null for link task
-- This should be updated back with the rolled amounts from sub projects
-- Ideally, the below code should not be there at all and alwsy values shd rollup
-- but for precuations at this last stage of build, just including link task check here
IF l_split_workplan = 'N' AND l_subproj_task_version_id IS NULL
THEN
/* Start of changes for bug 5675437*/
-- For hidden assignment case, we need to get the actuals from submitted record rather than current working one
IF l_rollup_table1(i).SUMMARY_OBJECT_FLAG = 'N' AND PA_PROGRESS_UTILS.check_assignment_exists(p_project_id, p_task_version_id, 'PA_TASKS') = 'N' THEN
l_PROGRESS_ROLLUP_ID3 := PA_PROGRESS_UTILS.get_prog_rollup_id(
p_project_id => p_project_id
,p_object_id => p_task_id
,p_object_type => 'PA_TASKS'
,p_object_version_id => p_task_version_id
,p_as_of_date => p_as_of_date
,p_structure_type => 'WORKPLAN'
,p_structure_version_id => l_structure_version_id
,p_proj_element_id => p_task_id
,x_record_version_number => l_rollup_rec_ver_number3
);
PA_PROGRESS_ROLLUP_PKG.UPDATE_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => p_task_id
,X_OBJECT_TYPE => l_rollup_table1(i).object_type
,X_AS_OF_DATE => p_as_of_date
,X_OBJECT_VERSION_ID => l_rollup_table1(i).object_id
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => l_user_id
,X_PROGRESS_STATUS_CODE => l_cur_rollup_rec.progress_status_code
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => l_cur_rollup_rec.incremental_work_quantity
,X_CUMULATIVE_WORK_QTY => l_cur_rollup_rec.cumulative_work_quantity
,X_BASE_PERCENT_COMPLETE => l_percent_complete2 -- 4392189 : Program Reporting Changes - Phase 2
,X_EFF_ROLLUP_PERCENT_COMP => l_percent_complete1
,X_COMPLETED_PERCENTAGE => l_cur_rollup_rec.completed_percentage
,X_ESTIMATED_START_DATE => l_rollup_table1(i).start_date2
,X_ESTIMATED_FINISH_DATE => l_rollup_table1(i).finish_date2
,X_ACTUAL_START_DATE => l_actual_start_date -- Bug 3956299 l_rollup_table1(i).start_date1
,X_ACTUAL_FINISH_DATE => l_actual_finish_date -- Bug 3956299 l_rollup_table1(i).finish_date1
,X_EST_REMAINING_EFFORT => l_remaining_effort1
,X_RECORD_VERSION_NUMBER => l_rollup_rec_ver_number
,X_BASE_PERCENT_COMP_DERIV_CODE => l_cur_rollup_rec.BASE_PERCENT_COMP_DERIV_CODE
,X_BASE_PROGRESS_STATUS_CODE => l_rolled_up_base_prog_stat
,X_EFF_ROLLUP_PROG_STAT_CODE => l_eff_rollup_status_code
,x_percent_complete_id => null
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => p_task_id
,X_STRUCTURE_VERSION_ID => l_structure_version_id
,X_PPL_ACT_EFFORT_TO_DATE => l_PPL_ACT_EFFORT_TO_DATE
,X_EQPMT_ACT_EFFORT_TO_DATE => l_EQPMT_ACT_EFFORT_TO_DATE
,X_EQPMT_ETC_EFFORT => l_EQPMT_ETC_EFFORT
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => l_OTH_ACT_COST_TO_DATE_FC
,X_OTH_ACT_COST_TO_DATE_PC => l_OTH_ACT_COST_TO_DATE_PC
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => l_ETC_Cost_FC
,X_OTH_ETC_COST_PC => l_ETC_Cost_PC
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => l_PPL_ACT_COST_TO_DATE_FC
,X_PPL_ACT_COST_TO_DATE_PC => l_PPL_ACT_COST_TO_DATE_PC
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => l_PPL_ETC_COST_FC
,X_PPL_ETC_COST_PC => l_PPL_ETC_COST_PC
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => l_EQPMT_ACT_COST_TO_DATE_FC
,X_EQPMT_ACT_COST_TO_DATE_PC => l_EQPMT_ACT_COST_TO_DATE_PC
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => l_EQPMT_ETC_COST_FC
,X_EQPMT_ETC_COST_PC => l_EQPMT_ETC_COST_PC
,X_EARNED_VALUE => l_earned_value1
,X_TASK_WT_BASIS_CODE => l_rollup_method
,X_SUBPRJ_PPL_ACT_EFFORT => l_cur_rollup_rec.SUBPRJ_PPL_ACT_EFFORT
,X_SUBPRJ_EQPMT_ACT_EFFORT => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_EFFORT
,X_SUBPRJ_PPL_ETC_EFFORT => l_cur_rollup_rec.SUBPRJ_PPL_ETC_EFFORT
,X_SUBPRJ_EQPMT_ETC_EFFORT => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_EFFORT
,X_SBPJ_OTH_ACT_COST_TO_DATE_TC => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_FC => l_cur_rollup_rec.SUBPRJ_OTH_ACT_COST_TO_DT_FC
,X_SBPJ_OTH_ACT_COST_TO_DATE_PC => l_cur_rollup_rec.SUBPRJ_OTH_ACT_COST_TO_DT_PC
,X_SUBPRJ_PPL_ACT_COST_TC => l_cur_rollup_rec.SUBPRJ_PPL_ACT_COST_TC
,X_SUBPRJ_PPL_ACT_COST_FC => l_cur_rollup_rec.SUBPRJ_PPL_ACT_COST_FC
,X_SUBPRJ_PPL_ACT_COST_PC => l_cur_rollup_rec.SUBPRJ_PPL_ACT_COST_PC
,X_SUBPRJ_EQPMT_ACT_COST_TC => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_COST_TC
,X_SUBPRJ_EQPMT_ACT_COST_FC => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_COST_FC
,X_SUBPRJ_EQPMT_ACT_COST_PC => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_COST_PC
,X_SUBPRJ_OTH_ETC_COST_TC => l_cur_rollup_rec.SUBPRJ_OTH_ETC_COST_TC
,X_SUBPRJ_OTH_ETC_COST_FC => l_cur_rollup_rec.SUBPRJ_OTH_ETC_COST_FC
,X_SUBPRJ_OTH_ETC_COST_PC => l_cur_rollup_rec.SUBPRJ_OTH_ETC_COST_PC
,X_SUBPRJ_PPL_ETC_COST_TC => l_cur_rollup_rec.SUBPRJ_PPL_ETC_COST_TC
,X_SUBPRJ_PPL_ETC_COST_FC => l_cur_rollup_rec.SUBPRJ_PPL_ETC_COST_FC
,X_SUBPRJ_PPL_ETC_COST_PC => l_cur_rollup_rec.SUBPRJ_PPL_ETC_COST_PC
,X_SUBPRJ_EQPMT_ETC_COST_TC => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_COST_TC
,X_SUBPRJ_EQPMT_ETC_COST_FC => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_COST_FC
,X_SUBPRJ_EQPMT_ETC_COST_PC => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_COST_PC
,X_SUBPRJ_EARNED_VALUE => l_cur_rollup_rec.SUBPRJ_EARNED_VALUE
,X_CURRENT_FLAG => l_cur_rollup_rec.CURRENT_FLAG
,X_PROJFUNC_COST_RATE_TYPE => l_cur_rollup_rec.PROJFUNC_COST_RATE_TYPE
,X_PROJFUNC_COST_EXCHANGE_RATE => l_cur_rollup_rec.PROJFUNC_COST_EXCHANGE_RATE
,X_PROJFUNC_COST_RATE_DATE => l_cur_rollup_rec.PROJFUNC_COST_RATE_DATE
,X_PROJ_COST_RATE_TYPE => l_cur_rollup_rec.PROJ_COST_RATE_TYPE
,X_PROJ_COST_EXCHANGE_RATE => l_cur_rollup_rec.PROJ_COST_EXCHANGE_RATE
,X_PROJ_COST_RATE_DATE => l_cur_rollup_rec.PROJ_COST_RATE_DATE
,X_TXN_CURRENCY_CODE => l_cur_rollup_rec.TXN_CURRENCY_CODE
,X_PROG_PA_PERIOD_NAME => l_cur_rollup_rec.PROG_PA_PERIOD_NAME
,X_PROG_GL_PERIOD_NAME => l_cur_rollup_rec.PROG_GL_PERIOD_NAME
,X_OTH_QUANTITY_TO_DATE => l_Oth_quantity_to_date
,X_OTH_ETC_QUANTITY => l_Oth_etc_quantity
-- Bug 3621404 : Raw Cost Changes
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => l_OTH_ACT_RAWCOST_TO_DATE_FC
,X_OTH_ACT_RAWCOST_TO_DATE_PC => l_OTH_ACT_RAWCOST_TO_DATE_PC
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => l_ETC_RAWCost_FC
,X_OTH_ETC_RAWCOST_PC => l_ETC_RAWCost_PC
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => l_PPL_ACT_RAWCOST_TO_DATE_FC
,X_PPL_ACT_RAWCOST_TO_DATE_PC => l_PPL_ACT_RAWCOST_TO_DATE_PC
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => l_PPL_ETC_RAWCOST_FC
,X_PPL_ETC_RAWCOST_PC => l_PPL_ETC_RAWCOST_PC
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => l_EQPMT_ACT_RAWCOST_TO_DATE_FC
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => l_EQPMT_ACT_RAWCOST_TO_DATE_PC
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => l_EQPMT_ETC_RAWCOST_FC
,X_EQPMT_ETC_RAWCOST_PC => l_EQPMT_ETC_RAWCOST_PC
,X_SP_OTH_ACT_RAWCOST_TODATE_TC => l_cur_rollup_rec.SPJ_OTH_ACT_RAWCOST_TO_DT_TC
,X_SP_OTH_ACT_RAWCOST_TODATE_FC => l_cur_rollup_rec.SPJ_OTH_ACT_RAWCOST_TO_DT_FC
,X_SP_OTH_ACT_RAWCOST_TODATE_PC => l_cur_rollup_rec.SPJ_OTH_ACT_RAWCOST_TO_DT_PC
,X_SUBPRJ_PPL_ACT_RAWCOST_TC => l_cur_rollup_rec.SUBPRJ_PPL_ACT_RAWCOST_TC
,X_SUBPRJ_PPL_ACT_RAWCOST_FC => l_cur_rollup_rec.SUBPRJ_PPL_ACT_RAWCOST_FC
,X_SUBPRJ_PPL_ACT_RAWCOST_PC => l_cur_rollup_rec.SUBPRJ_PPL_ACT_RAWCOST_PC
,X_SUBPRJ_EQPMT_ACT_RAWCOST_TC => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_RAWCOST_TC
,X_SUBPRJ_EQPMT_ACT_RAWCOST_FC => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_RAWCOST_FC
,X_SUBPRJ_EQPMT_ACT_RAWCOST_PC => l_cur_rollup_rec.SUBPRJ_EQPMT_ACT_RAWCOST_PC
,X_SUBPRJ_OTH_ETC_RAWCOST_TC => l_cur_rollup_rec.SUBPRJ_OTH_ETC_RAWCOST_TC
,X_SUBPRJ_OTH_ETC_RAWCOST_FC => l_cur_rollup_rec.SUBPRJ_OTH_ETC_RAWCOST_FC
,X_SUBPRJ_OTH_ETC_RAWCOST_PC => l_cur_rollup_rec.SUBPRJ_OTH_ETC_RAWCOST_PC
,X_SUBPRJ_PPL_ETC_RAWCOST_TC => l_cur_rollup_rec.SUBPRJ_PPL_ETC_RAWCOST_TC
,X_SUBPRJ_PPL_ETC_RAWCOST_FC => l_cur_rollup_rec.SUBPRJ_PPL_ETC_RAWCOST_FC
,X_SUBPRJ_PPL_ETC_RAWCOST_PC => l_cur_rollup_rec.SUBPRJ_PPL_ETC_RAWCOST_PC
,X_SUBPRJ_EQPMT_ETC_RAWCOST_TC => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_RAWCOST_TC
,X_SUBPRJ_EQPMT_ETC_RAWCOST_FC => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_RAWCOST_FC
,X_SUBPRJ_EQPMT_ETC_RAWCOST_PC => l_cur_rollup_rec.SUBPRJ_EQPMT_ETC_RAWCOST_PC
);
UPDATE pa_proj_elements
SET progress_outdated_flag = 'Y'
WHERE proj_element_id = p_task_id
AND project_id = p_project_id
AND object_type = l_rollup_table1(i).object_type;
SELECT percent_complete_id
INTO l_percent_complete_id
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = p_task_id
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = 'WORKPLAN'
AND date_computed = ( SELECT max(date_computed)
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = p_task_id
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = 'WORKPLAN'
AND date_computed <= p_as_of_date
);
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => p_task_id
,X_OBJECT_TYPE => l_rollup_table1(i).object_type
,X_AS_OF_DATE => p_as_of_date
,X_OBJECT_VERSION_ID => l_rollup_table1(i).object_id
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => l_user_id
,X_CREATION_DATE => SYSDATE
,X_CREATED_BY => l_user_id
,X_PROGRESS_STATUS_CODE => l_rolled_up_prog_stat
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => null
,X_CUMULATIVE_WORK_QTY => null
,X_BASE_PERCENT_COMPLETE => l_percent_complete2 -- 4392189 : Program Reporting Changes - Phase 2
,X_EFF_ROLLUP_PERCENT_COMP => l_percent_complete1
,X_COMPLETED_PERCENTAGE => l_rolled_up_per_comp
,X_ESTIMATED_START_DATE => l_rollup_table1(i).start_date2
,X_ESTIMATED_FINISH_DATE => l_rollup_table1(i).finish_date2
,X_ACTUAL_START_DATE => l_actual_start_date -- Bug 3956299 l_rollup_table1(i).start_date1
,X_ACTUAL_FINISH_DATE => l_actual_finish_date -- Bug 3956299 l_rollup_table1(i).finish_date1
,X_EST_REMAINING_EFFORT => l_remaining_effort1
,X_BASE_PERCENT_COMP_DERIV_CODE => l_BASE_PERCENT_COMP_DERIV_CODE
,X_BASE_PROGRESS_STATUS_CODE => l_rolled_up_base_prog_stat
,X_EFF_ROLLUP_PROG_STAT_CODE => l_eff_rollup_status_code
,x_percent_complete_id => l_percent_complete_id
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => p_task_id
,X_STRUCTURE_VERSION_ID => l_structure_version_id
,X_PPL_ACT_EFFORT_TO_DATE => l_PPL_ACT_EFFORT_TO_DATE
,X_EQPMT_ACT_EFFORT_TO_DATE => l_EQPMT_ACT_EFFORT_TO_DATE
,X_EQPMT_ETC_EFFORT => l_EQPMT_ETC_EFFORT
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => l_OTH_ACT_COST_TO_DATE_FC
,X_OTH_ACT_COST_TO_DATE_PC => l_OTH_ACT_COST_TO_DATE_PC
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => l_ETC_Cost_FC
,X_OTH_ETC_COST_PC => l_ETC_Cost_PC
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => l_PPL_ACT_COST_TO_DATE_FC
,X_PPL_ACT_COST_TO_DATE_PC => l_PPL_ACT_COST_TO_DATE_PC
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => l_PPL_ETC_COST_FC
,X_PPL_ETC_COST_PC => l_PPL_ETC_COST_PC
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => l_EQPMT_ACT_COST_TO_DATE_FC
,X_EQPMT_ACT_COST_TO_DATE_PC => l_EQPMT_ACT_COST_TO_DATE_PC
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => l_EQPMT_ETC_COST_FC
,X_EQPMT_ETC_COST_PC => l_EQPMT_ETC_COST_PC
,X_EARNED_VALUE => l_earned_value1
,X_TASK_WT_BASIS_CODE => l_rollup_method
,X_SUBPRJ_PPL_ACT_EFFORT => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ACT_EFFORT
,X_SUBPRJ_EQPMT_ACT_EFFORT => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ACT_EFFORT
,X_SUBPRJ_PPL_ETC_EFFORT => l_SUB_PRJ_PPL_ETC_EFFORT
,X_SUBPRJ_EQPMT_ETC_EFFORT => l_SUB_PRJ_EQPMT_ETC_EFFORT
,X_SBPJ_OTH_ACT_COST_TO_DATE_TC => null
,X_SBPJ_OTH_ACT_COST_TO_DATE_FC => l_cur_pa_rollup1_rec.SUBPRJ_OTH_ACT_COST_TO_DT_FC
,X_SBPJ_OTH_ACT_COST_TO_DATE_PC => l_cur_pa_rollup1_rec.SUBPRJ_OTH_ACT_COST_TO_DT_PC
,X_SUBPRJ_PPL_ACT_COST_TC => null
,X_SUBPRJ_PPL_ACT_COST_FC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ACT_COST_FC
,X_SUBPRJ_PPL_ACT_COST_PC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ACT_COST_PC
,X_SUBPRJ_EQPMT_ACT_COST_TC => null
,X_SUBPRJ_EQPMT_ACT_COST_FC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ACT_COST_FC
,X_SUBPRJ_EQPMT_ACT_COST_PC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ACT_COST_PC
,X_SUBPRJ_OTH_ETC_COST_TC => null
,X_SUBPRJ_OTH_ETC_COST_FC => l_SUB_PRJ_ETC_COST_FC
,X_SUBPRJ_OTH_ETC_COST_PC => l_SUB_PRJ_ETC_COST_PC
,X_SUBPRJ_PPL_ETC_COST_TC => null
,X_SUBPRJ_PPL_ETC_COST_FC => l_SUB_PRJ_PPL_ETC_COST_FC
,X_SUBPRJ_PPL_ETC_COST_PC => l_SUB_PRJ_PPL_ETC_COST_PC
,X_SUBPRJ_EQPMT_ETC_COST_TC => null
,X_SUBPRJ_EQPMT_ETC_COST_FC => l_SUB_PRJ_EQPMT_ETC_COST_FC
,X_SUBPRJ_EQPMT_ETC_COST_PC => l_SUB_PRJ_EQPMT_ETC_COST_PC
,X_SUBPRJ_EARNED_VALUE => l_cur_pa_rollup1_rec.SUBPRJ_EARNED_VALUE
,X_CURRENT_FLAG => l_current_flag --maaansari FPM Dev CR2
,X_PROJFUNC_COST_RATE_TYPE => l_cur_pa_rollup1_rec.PROJFUNC_COST_RATE_TYPE
,X_PROJFUNC_COST_EXCHANGE_RATE => l_cur_pa_rollup1_rec.PROJFUNC_COST_EXCHANGE_RATE
,X_PROJFUNC_COST_RATE_DATE => l_cur_pa_rollup1_rec.PROJFUNC_COST_RATE_DATE
,X_PROJ_COST_RATE_TYPE => l_cur_pa_rollup1_rec.PROJ_COST_RATE_TYPE
,X_PROJ_COST_EXCHANGE_RATE => l_cur_pa_rollup1_rec.PROJ_COST_EXCHANGE_RATE
,X_PROJ_COST_RATE_DATE => l_cur_pa_rollup1_rec.PROJ_COST_RATE_DATE
,X_TXN_CURRENCY_CODE => l_cur_pa_rollup1_rec.TXN_CURRENCY_CODE
,X_PROG_PA_PERIOD_NAME => l_prog_pa_period_name
,X_PROG_GL_PERIOD_NAME => l_prog_gl_period_name
,X_OTH_QUANTITY_TO_DATE => l_Oth_quantity_to_date
,X_OTH_ETC_QUANTITY => l_Oth_etc_quantity
-- Bug 3621404 : Raw Cost Changes
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => l_OTH_ACT_RAWCOST_TO_DATE_FC
,X_OTH_ACT_RAWCOST_TO_DATE_PC => l_OTH_ACT_RAWCOST_TO_DATE_PC
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => l_ETC_RAWCost_FC
,X_OTH_ETC_RAWCOST_PC => l_ETC_RAWCost_PC
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => l_PPL_ACT_RAWCOST_TO_DATE_FC
,X_PPL_ACT_RAWCOST_TO_DATE_PC => l_PPL_ACT_RAWCOST_TO_DATE_PC
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => l_PPL_ETC_RAWCOST_FC
,X_PPL_ETC_RAWCOST_PC => l_PPL_ETC_RAWCOST_PC
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => l_EQPMT_ACT_RAWCOST_TO_DATE_FC
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => l_EQPMT_ACT_RAWCOST_TO_DATE_PC
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => l_EQPMT_ETC_RAWCOST_FC
,X_EQPMT_ETC_RAWCOST_PC => l_EQPMT_ETC_RAWCOST_PC
,X_SP_OTH_ACT_RAWCOST_TODATE_TC => l_cur_pa_rollup1_rec.SPJ_OTH_ACT_RAWCOST_TO_DT_TC
,X_SP_OTH_ACT_RAWCOST_TODATE_FC => l_cur_pa_rollup1_rec.SPJ_OTH_ACT_RAWCOST_TO_DT_FC
,X_SP_OTH_ACT_RAWCOST_TODATE_PC => l_cur_pa_rollup1_rec.SPJ_OTH_ACT_RAWCOST_TO_DT_PC
,X_SUBPRJ_PPL_ACT_RAWCOST_TC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ACT_RAWCOST_TC
,X_SUBPRJ_PPL_ACT_RAWCOST_FC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ACT_RAWCOST_FC
,X_SUBPRJ_PPL_ACT_RAWCOST_PC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ACT_RAWCOST_PC
,X_SUBPRJ_EQPMT_ACT_RAWCOST_TC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ACT_RAWCOST_TC
,X_SUBPRJ_EQPMT_ACT_RAWCOST_FC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ACT_RAWCOST_FC
,X_SUBPRJ_EQPMT_ACT_RAWCOST_PC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ACT_RAWCOST_PC
,X_SUBPRJ_OTH_ETC_RAWCOST_TC => l_cur_pa_rollup1_rec.SUBPRJ_OTH_ETC_RAWCOST_TC
,X_SUBPRJ_OTH_ETC_RAWCOST_FC => l_cur_pa_rollup1_rec.SUBPRJ_OTH_ETC_RAWCOST_FC
,X_SUBPRJ_OTH_ETC_RAWCOST_PC => l_cur_pa_rollup1_rec.SUBPRJ_OTH_ETC_RAWCOST_PC
,X_SUBPRJ_PPL_ETC_RAWCOST_TC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ETC_RAWCOST_TC
,X_SUBPRJ_PPL_ETC_RAWCOST_FC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ETC_RAWCOST_FC
,X_SUBPRJ_PPL_ETC_RAWCOST_PC => l_cur_pa_rollup1_rec.SUBPRJ_PPL_ETC_RAWCOST_PC
,X_SUBPRJ_EQPMT_ETC_RAWCOST_TC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ETC_RAWCOST_TC
,X_SUBPRJ_EQPMT_ETC_RAWCOST_FC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ETC_RAWCOST_FC
,X_SUBPRJ_EQPMT_ETC_RAWCOST_PC => l_cur_pa_rollup1_rec.SUBPRJ_EQPMT_ETC_RAWCOST_PC
);
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE progress_rollup_id <> l_progress_rollup_id
AND project_id = p_project_id
AND object_id = p_task_id
AND object_type = l_rollup_table1(i).object_type
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
;
UPDATE pa_proj_elements
SET progress_outdated_flag = 'Y'
WHERE proj_element_id = p_task_id
AND project_id = p_project_id
AND object_type = l_rollup_table1(i).object_type;
p_procedure_name => 'update_ASGN_DLV_TO_TASK_ROLLUP_PVT',
p_error_text => SUBSTRB('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP:'||SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.UPDATE_ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Msg => 'PA_PROGRESS_PVT.ASGN_DLV_TO_TASK_ROLLUP_PVT End', x_Log_Level=> 3);
SELECT 'x'
FROM pa_progress_rollup
WHERE object_id = p_resource_list_mem_id
and structure_version_id = p_structure_version_id
and proj_element_id = p_task_id
and structure_type = 'WORKPLAN'
and object_type = 'PA_ASSIGNMENTS'
and current_flag = 'Y';
SELECT obj2.object_id_to1 subprj_str_ver_id
, obj2.object_id_to2 subprj_id
, ver.proj_element_id subprj_proj_elem_id
from pa_object_relationships obj1
, pa_object_relationships obj2
, pa_proj_element_versions ver
WHERE obj1.object_id_from1 = p_object_version_id
AND obj1.relationship_type = 'S'
AND obj1.object_id_to1 = obj2.object_id_from1
AND obj2.relationship_type = 'LW'
AND obj2.object_id_to1 = ver.element_version_id
;
SELECT
ETC_LABOR_HRS ESTIMATED_REMAINING_EFFORT
,ACT_LABOR_HRS PPL_ACT_EFFORT_TO_DATE
,ACT_EQUIP_HRS EQPMT_ACT_EFFORT_TO_DATE
,ETC_EQUIP_HRS EQPMT_ETC_EFFORT
,ACT_POU_BRDN_COST-ACT_POU_LABOR_BRDN_COST-ACT_POU_EQUIP_BRDN_COST OTH_ACT_COST_TO_DATE_FC
,ACT_PRJ_BRDN_COST-ACT_PRJ_EQUIP_BRDN_COST-ACT_PRJ_LABOR_BRDN_COST OTH_ACT_COST_TO_DATE_PC
,ETC_POU_BRDN_COST-ETC_POU_LABOR_BRDN_COST-ETC_POU_EQUIP_BRDN_COST OTH_ETC_COST_FC
,ETC_PRJ_BRDN_COST-ETC_PRJ_EQUIP_BRDN_COST-ETC_PRJ_LABOR_BRDN_COST OTH_ETC_COST_PC
,ACT_POU_LABOR_BRDN_COST PPL_ACT_COST_TO_DATE_FC
,ACT_PRJ_LABOR_BRDN_COST PPL_ACT_COST_TO_DATE_PC
,ETC_POU_LABOR_BRDN_COST PPL_ETC_COST_FC
,ETC_PRJ_LABOR_BRDN_COST PPL_ETC_COST_PC
,ACT_POU_EQUIP_BRDN_COST EQPMT_ACT_COST_TO_DATE_FC
,ACT_PRJ_EQUIP_BRDN_COST EQPMT_ACT_COST_TO_DATE_PC
,ETC_POU_EQUIP_BRDN_COST EQPMT_ETC_COST_FC
,ETC_PRJ_EQUIP_BRDN_COST EQPMT_ETC_COST_PC
,ACT_POU_RAW_COST-ACT_POU_LABOR_RAW_COST-ACT_POU_EQUIP_RAW_COST OTH_ACT_RAWCOST_TO_DATE_FC
,ACT_PRJ_RAW_COST-ACT_PRJ_EQUIP_RAW_COST-ACT_PRJ_LABOR_RAW_COST OTH_ACT_RAWCOST_TO_DATE_PC
,ETC_POU_RAW_COST-ETC_POU_LABOR_RAW_COST-ETC_POU_EQUIP_RAW_COST OTH_ETC_RAWCOST_FC
,ETC_PRJ_RAW_COST-ETC_PRJ_EQUIP_RAW_COST-ETC_PRJ_LABOR_RAW_COST OTH_ETC_RAWCOST_PC
,ACT_POU_LABOR_RAW_COST PPL_ACT_RAWCOST_TO_DATE_FC
,ACT_PRJ_LABOR_RAW_COST PPL_ACT_RAWCOST_TO_DATE_PC
,ETC_POU_LABOR_RAW_COST PPL_ETC_RAWCOST_FC
,ETC_PRJ_LABOR_RAW_COST PPL_ETC_RAWCOST_PC
,ACT_POU_EQUIP_RAW_COST EQPMT_ACT_RAWCOST_TO_DATE_FC
,ACT_PRJ_EQUIP_RAW_COST EQPMT_ACT_RAWCOST_TO_DATE_PC
,ETC_POU_EQUIP_RAW_COST EQPMT_ETC_RAWCOST_FC
,ETC_PRJ_EQUIP_RAW_COST EQPMT_ETC_RAWCOST_PC
FROM pji_fm_xbs_accum_tmp1 pjitmp
WHERE pjitmp.project_id = c_project_id
AND struct_version_id = c_str_version_id
AND project_element_id = c_proj_element_id
AND plan_version_id > 0
AND txn_currency_code is null
AND calendar_type = 'A'
AND res_list_member_id is null;
delete from pa_percent_completes
where project_id= p_project_id
and task_id = p_task_id
and object_id = p_resource_list_mem_id
and object_type = 'PA_ASSIGNMENTS'
and published_flag = 'N'
and structure_type = 'WORKPLAN'
;
delete from pa_progress_rollup
where project_id= p_project_id
and proj_element_id = p_task_id
and object_id = p_resource_list_mem_id
and current_flag = 'W'
and object_type = 'PA_ASSIGNMENTS'
and structure_type = 'WORKPLAN'
and structure_version_id is null
;
delete from pa_percent_completes
where project_id= p_project_id
and task_id = p_task_id
and object_id = p_resource_list_mem_id
and object_type = 'PA_ASSIGNMENTS'
and published_flag = 'N'
and date_computed <= p_as_of_date
and structure_type = 'WORKPLAN'
;
delete from pa_percent_completes
WHERE project_id = p_project_id
and object_id = p_resource_list_mem_id
and task_id = p_task_id
and trunc(date_computed) = trunc(p_as_of_date)
and structure_type = 'WORKPLAN'
and object_type = 'PA_ASSIGNMENTS'
and published_flag = 'Y';
delete from pa_progress_rollup
where project_id= p_project_id
and proj_element_id = p_task_id
and object_id = p_resource_list_mem_id
and object_type = 'PA_ASSIGNMENTS'
and current_flag = 'W'
and as_of_date <= p_as_of_date
and structure_type = 'WORKPLAN'
and structure_version_id is null
;
delete from pa_progress_rollup
WHERE project_id = p_project_id
and object_id = p_resource_list_mem_id
and structure_version_id is null
and proj_element_id = p_task_id
and trunc(as_of_date) = trunc(p_as_of_date)
and structure_type = 'WORKPLAN'
and object_type = 'PA_ASSIGNMENTS'
and current_flag in ('Y', 'N');
UPDATE pa_percent_completes
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = p_resource_list_mem_id
AND task_id = p_task_id
AND current_flag = 'Y'
AND object_type = 'PA_ASSIGNMENTS';
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = p_resource_list_mem_id
AND proj_element_id = p_task_id
AND current_flag = 'Y'
AND object_type = 'PA_ASSIGNMENTS'
AND structure_version_id is null
AND structure_type = 'WORKPLAN'
;
select PA_PERCENT_COMPLETES_S.nextval
into x_percent_complete_id
from dual;
select PA_PROGRESS_ROLLUP_S.nextval
into X_PROGRESS_ROLLUP_ID
from dual;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.convert_task_prog_to_assgn', x_Msg => 'Before Inserting into pa_percent_completes', x_Log_Level=> 3);
INSERT INTO pa_percent_completes(
TASK_ID
,DATE_COMPUTED
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,LAST_UPDATE_LOGIN
,COMPLETED_PERCENTAGE
,DESCRIPTION
,PROJECT_ID
,PM_PRODUCT_CODE
,CURRENT_FLAG
,PERCENT_COMPLETE_ID
,OBJECT_ID
,OBJECT_VERSION_ID
,OBJECT_TYPE
,STATUS_CODE
,PROGRESS_STATUS_CODE
,ESTIMATED_START_DATE
,ESTIMATED_FINISH_DATE
,ACTUAL_START_DATE
,ACTUAL_FINISH_DATE
,PUBLISHED_FLAG
,PUBLISHED_BY_PARTY_ID
,RECORD_VERSION_NUMBER
,PROGRESS_COMMENT
,HISTORY_FLAG
,ATTRIBUTE_CATEGORY
,ATTRIBUTE1
,ATTRIBUTE2
,ATTRIBUTE3
,ATTRIBUTE4
,ATTRIBUTE5
,ATTRIBUTE6
,ATTRIBUTE7
,ATTRIBUTE8
,ATTRIBUTE9
,ATTRIBUTE10
,ATTRIBUTE11
,ATTRIBUTE12
,ATTRIBUTE13
,ATTRIBUTE14
,ATTRIBUTE15
,STRUCTURE_TYPE
)
SELECT
TASK_ID
,DATE_COMPUTED
,SYSDATE
,l_user_id
,SYSDATE
,l_user_id
,l_login_id
,null --COMPLETED_PERCENTAGE
,null --DESCRIPTION
,PROJECT_ID
,PM_PRODUCT_CODE
,CURRENT_FLAG
,x_PERCENT_COMPLETE_ID
,p_resource_list_mem_id --OBJECT_ID
,OBJECT_VERSION_ID
,'PA_ASSIGNMENTS' --OBJECT_TYPE
,null --STATUS_CODE
,PROGRESS_STATUS_CODE
,ESTIMATED_START_DATE
,ESTIMATED_FINISH_DATE
,ACTUAL_START_DATE
,ACTUAL_FINISH_DATE
,PUBLISHED_FLAG
,PUBLISHED_BY_PARTY_ID
,RECORD_VERSION_NUMBER
,PROGRESS_COMMENT
,HISTORY_FLAG
,ATTRIBUTE_CATEGORY
,ATTRIBUTE1
,ATTRIBUTE2
,ATTRIBUTE3
,ATTRIBUTE4
,ATTRIBUTE5
,ATTRIBUTE6
,ATTRIBUTE7
,ATTRIBUTE8
,ATTRIBUTE9
,ATTRIBUTE10
,ATTRIBUTE11
,ATTRIBUTE12
,ATTRIBUTE13
,ATTRIBUTE14
,ATTRIBUTE15
,STRUCTURE_TYPE
FROM pa_percent_completes
WHERE project_id = p_project_id
and object_id = p_task_id
and task_id = p_task_id
and structure_type = 'WORKPLAN'
and trunc(date_computed) = trunc(p_as_of_date)
--and published_flag = 'Y' --bug 3958686
--and current_flag = 'Y'
and ((p_action = 'SAVE' and published_flag = 'N')
or (p_action = 'PUBLISH' and published_flag = 'Y' and current_flag = 'Y'))
;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.convert_task_prog_to_assgn', x_Msg => 'Done Inserting into pa_percent_completes', x_Log_Level=> 3);
INSERT INTO pa_progress_rollup(
PROGRESS_ROLLUP_ID
,PERCENT_COMPLETE_ID
,PROJECT_ID
,OBJECT_ID
,OBJECT_TYPE
,AS_OF_DATE
,OBJECT_VERSION_ID
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,PROGRESS_STATUS_CODE
,LAST_UPDATE_LOGIN
,INCREMENTAL_WORK_QUANTITY
,CUMULATIVE_WORK_QUANTITY
,BASE_PERCENT_COMPLETE
,EFF_ROLLUP_PERCENT_COMP
,COMPLETED_PERCENTAGE
,ESTIMATED_START_DATE
,ESTIMATED_FINISH_DATE
,ACTUAL_START_DATE
,ACTUAL_FINISH_DATE
,ESTIMATED_REMAINING_EFFORT
,RECORD_VERSION_NUMBER
,BASE_PERCENT_COMP_DERIV_CODE
,BASE_PROGRESS_STATUS_CODE
,EFF_ROLLUP_PROG_STAT_CODE
,STRUCTURE_TYPE
,PROJ_ELEMENT_ID
,STRUCTURE_VERSION_ID
,PPL_ACT_EFFORT_TO_DATE
,EQPMT_ACT_EFFORT_TO_DATE
,EQPMT_ETC_EFFORT
,OTH_ACT_COST_TO_DATE_TC
,OTH_ACT_COST_TO_DATE_FC
,OTH_ACT_COST_TO_DATE_PC
,OTH_ETC_COST_TC
,OTH_ETC_COST_FC
,OTH_ETC_COST_PC
,PPL_ACT_COST_TO_DATE_TC
,PPL_ACT_COST_TO_DATE_FC
,PPL_ACT_COST_TO_DATE_PC
,PPL_ETC_COST_TC
,PPL_ETC_COST_FC
,PPL_ETC_COST_PC
,EQPMT_ACT_COST_TO_DATE_TC
,EQPMT_ACT_COST_TO_DATE_FC
,EQPMT_ACT_COST_TO_DATE_PC
,EQPMT_ETC_COST_TC
,EQPMT_ETC_COST_FC
,EQPMT_ETC_COST_PC
,EARNED_VALUE
,TASK_WT_BASIS_CODE
,CURRENT_FLAG
,PROJFUNC_COST_RATE_TYPE
,PROJFUNC_COST_EXCHANGE_RATE
,PROJFUNC_COST_RATE_DATE
,PROJ_COST_RATE_TYPE
,PROJ_COST_EXCHANGE_RATE
,PROJ_COST_RATE_DATE
,TXN_CURRENCY_CODE
,PROG_PA_PERIOD_NAME
,PROG_GL_PERIOD_NAME
,OTH_QUANTITY_TO_DATE
,OTH_ETC_QUANTITY
,OTH_ACT_RAWCOST_TO_DATE_TC
,OTH_ACT_RAWCOST_TO_DATE_FC
,OTH_ACT_RAWCOST_TO_DATE_PC
,OTH_ETC_RAWCOST_TC
,OTH_ETC_RAWCOST_FC
,OTH_ETC_RAWCOST_PC
,PPL_ACT_RAWCOST_TO_DATE_TC
,PPL_ACT_RAWCOST_TO_DATE_FC
,PPL_ACT_RAWCOST_TO_DATE_PC
,PPL_ETC_RAWCOST_TC
,PPL_ETC_RAWCOST_FC
,PPL_ETC_RAWCOST_PC
,EQPMT_ACT_RAWCOST_TO_DATE_TC
,EQPMT_ACT_RAWCOST_TO_DATE_FC
,EQPMT_ACT_RAWCOST_TO_DATE_PC
,EQPMT_ETC_RAWCOST_TC
,EQPMT_ETC_RAWCOST_FC
,EQPMT_ETC_RAWCOST_PC
)
SELECT
X_PROGRESS_ROLLUP_ID
,x_percent_complete_id
,PROJECT_ID
,p_resource_list_mem_id
,'PA_ASSIGNMENTS'
,AS_OF_DATE
,OBJECT_VERSION_ID
,SYSDATE
,LAST_UPDATED_BY
,SYSDATE
,CREATED_BY
,PROGRESS_STATUS_CODE
,LAST_UPDATE_LOGIN
,null --INCREMENTAL_WORK_QUANTITY
,null --CUMULATIVE_WORK_QUANTITY
,null --BASE_PERCENT_COMPLETE
,null --EFF_ROLLUP_PERCENT_COMP
,null --COMPLETED_PERCENTAGE
,ESTIMATED_START_DATE
,ESTIMATED_FINISH_DATE
,ACTUAL_START_DATE
,ACTUAL_FINISH_DATE
,ESTIMATED_REMAINING_EFFORT - nvl(sp_ESTIMATED_REMAINING_EFFORT,0)
,1
,null --BASE_PERCENT_COMP_DERIV_CODE
,BASE_PROGRESS_STATUS_CODE
,null --EFF_ROLLUP_PROG_STAT_CODE
,STRUCTURE_TYPE
,PROJ_ELEMENT_ID
,STRUCTURE_VERSION_ID
,PPL_ACT_EFFORT_TO_DATE- nvl(sp_PPL_ACT_EFFORT_TO_DATE,0)
,EQPMT_ACT_EFFORT_TO_DATE- nvl(sp_EQPMT_ACT_EFFORT_TO_DATE,0)
,EQPMT_ETC_EFFORT- nvl(sp_EQPMT_ETC_EFFORT,0)
,OTH_ACT_COST_TO_DATE_TC
,OTH_ACT_COST_TO_DATE_FC- nvl(sp_OTH_ACT_COST_TO_DATE_FC,0)
,OTH_ACT_COST_TO_DATE_PC- nvl(sp_OTH_ACT_COST_TO_DATE_PC,0)
,OTH_ETC_COST_TC
,OTH_ETC_COST_FC- nvl(sp_OTH_ETC_COST_FC,0)
,OTH_ETC_COST_PC- nvl(sp_OTH_ETC_COST_PC,0)
,PPL_ACT_COST_TO_DATE_TC
,PPL_ACT_COST_TO_DATE_FC- nvl(sp_PPL_ACT_COST_TO_DATE_FC,0)
,PPL_ACT_COST_TO_DATE_PC- nvl(sp_PPL_ACT_COST_TO_DATE_PC,0)
,PPL_ETC_COST_TC
,PPL_ETC_COST_FC- nvl(sp_PPL_ETC_COST_FC,0)
,PPL_ETC_COST_PC- nvl(sp_PPL_ETC_COST_PC,0)
,EQPMT_ACT_COST_TO_DATE_TC
,EQPMT_ACT_COST_TO_DATE_FC- nvl(sp_EQPMT_ACT_COST_TO_DATE_FC,0)
,EQPMT_ACT_COST_TO_DATE_PC- nvl(sp_EQPMT_ACT_COST_TO_DATE_PC,0)
,EQPMT_ETC_COST_TC
,EQPMT_ETC_COST_FC- nvl(sp_EQPMT_ETC_COST_FC,0)
,EQPMT_ETC_COST_PC- nvl(sp_EQPMT_ETC_COST_PC,0)
,EARNED_VALUE
,TASK_WT_BASIS_CODE
,CURRENT_FLAG
,PROJFUNC_COST_RATE_TYPE
,PROJFUNC_COST_EXCHANGE_RATE
,PROJFUNC_COST_RATE_DATE
,PROJ_COST_RATE_TYPE
,PROJ_COST_EXCHANGE_RATE
,PROJ_COST_RATE_DATE
,TXN_CURRENCY_CODE
,PROG_PA_PERIOD_NAME
,PROG_GL_PERIOD_NAME
,OTH_QUANTITY_TO_DATE
,OTH_ETC_QUANTITY
,OTH_ACT_RAWCOST_TO_DATE_TC
,OTH_ACT_RAWCOST_TO_DATE_FC- nvl(sp_OTH_ACT_RAWCOST_TO_DATE_FC,0)
,OTH_ACT_RAWCOST_TO_DATE_PC- nvl(sp_OTH_ACT_RAWCOST_TO_DATE_PC,0)
,OTH_ETC_RAWCOST_TC
,OTH_ETC_RAWCOST_FC- nvl(sp_OTH_ETC_RAWCOST_FC,0)
,OTH_ETC_RAWCOST_PC- nvl(sp_OTH_ETC_RAWCOST_PC,0)
,PPL_ACT_RAWCOST_TO_DATE_TC
,PPL_ACT_RAWCOST_TO_DATE_FC- nvl(sp_PPL_ACT_RAWCOST_TO_DATE_FC,0)
,PPL_ACT_RAWCOST_TO_DATE_PC- nvl(sp_PPL_ACT_RAWCOST_TO_DATE_PC,0)
,PPL_ETC_RAWCOST_TC
,PPL_ETC_RAWCOST_FC- nvl(sp_PPL_ETC_RAWCOST_FC,0)
,PPL_ETC_RAWCOST_PC- nvl(sp_PPL_ETC_RAWCOST_PC,0)
,EQPMT_ACT_RAWCOST_TO_DATE_TC
,EQPMT_ACT_RAWCOST_TO_DATE_FC- nvl(sp_EQPMT_ACT_RAWCOST_TODATE_FC,0)
,EQPMT_ACT_RAWCOST_TO_DATE_PC- nvl(sp_EQPMT_ACT_RAWCOST_TODATE_PC,0)
,EQPMT_ETC_RAWCOST_TC
,EQPMT_ETC_RAWCOST_FC- nvl(sp_EQPMT_ETC_RAWCOST_FC,0)
,EQPMT_ETC_RAWCOST_PC- nvl(sp_EQPMT_ETC_RAWCOST_PC,0)
FROM pa_progress_rollup
WHERE project_id = p_project_id
and object_id = p_task_id
and structure_version_id is NULL
and proj_element_id = p_task_id
and structure_type = 'WORKPLAN'
--and current_flag = 'Y'; --bug 3958686
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.convert_task_prog_to_assgn', x_Msg => 'Done Inserting into pa_progress_rollup', x_Log_Level=> 3);
SELECT resource_list_id,
etc_start_date,
budget_version_id
FROM pa_budget_versions
WHERE project_id = p_project_id
AND wp_version_flag = 'Y'
AND project_structure_version_id = c_str_ver_id;
SELECT source.project_id PROJECT_ID
,p_target_struct_ver_id STRUCTURE_VERSION_ID
,source.task_id TASK_ID
,target.resource_assignment_id RESOURCE_ASSIGNMENT_ID
,bl.txn_init_burdened_cost ACTUAL_COST
,bl.init_quantity ACTUAL_EFFORT
,bl.period_name PERIOD_NAME
,bl.txn_currency_code TXN_CURRENCY_CODE
,bl.project_init_burdened_cost ACTUAL_COST_PC
,bl.init_burdened_cost ACTUAL_COST_FC
,bl.txn_init_raw_cost ACTUAL_RAWCOST
,bl.project_init_raw_cost ACTUAL_RAWCOST_PC
,bl.init_raw_cost ACTUAL_RAWCOST_FC
,bl.start_date START_DATE
,bl.end_date END_DATE
,source.resource_list_member_id RESOURCE_LIST_MEMBER_ID
,source.cbs_element_id CBS_ELEMENT_ID
FROM pa_resource_assignments source,
pa_resource_assignments target,
pa_budget_lines bl
WHERE bl.resource_assignment_id = source.resource_assignment_id
and source.budget_version_id = c_budget_version_id
and target.budget_version_id = t_budget_version_id
and target.resource_list_member_id = decode(l_res_list_mismatch_flag, 'N', source.resource_list_member_id, l_target_people_rlm_id)
AND NVL(source.cbs_element_id,-1) = NVL(target.cbs_element_id,-1)-- Added for bug 16895485
and source.task_id = target.task_id
and source.project_id = target.project_id
and bl.budget_version_id = c_budget_version_id
and (bl.init_quantity is not null or
bl.txn_init_raw_cost is not null);
select max(as_of_date)
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.structure_version_id is null
and ppr.structure_type = 'WORKPLAN'
and ppr.current_flag <> 'W';
SELECT resource_list_member_id
INTO l_target_people_rlm_id
FROM pa_resource_list_members rlm,
pa_resource_lists_all_bg rl
WHERE rl.resource_list_id = l_target_str_ver_info_rec.resource_list_id
AND rl.resource_list_id = rlm.resource_list_id
AND object_type = Decode(control_flag, 'Y','RESOURCE_LIST','PROJECT')
AND object_id = Decode(control_flag, 'Y',rl.resource_list_id,p_project_id)
AND rlm.resource_class_flag = 'Y' -- Added for 13535688 CBS
AND resource_class_code = 'PEOPLE';
DELETE FROM PA_PROG_ACT_BY_PERIOD_TEMP;
INSERT INTO PA_PROG_ACT_BY_PERIOD_TEMP
(
PROJECT_ID
,STRUCTURE_VERSION_ID
,TASK_ID
,RESOURCE_ASSIGNMENT_ID
,AS_OF_DATE
,ACTUAL_COST
,ACTUAL_EFFORT
,PERIOD_NAME
,TXN_CURRENCY_CODE
,ACTUAL_COST_PC
,ACTUAL_COST_FC
,ACTUAL_RAWCOST
,ACTUAL_RAWCOST_PC
,ACTUAL_RAWCOST_FC
,RESOURCE_LIST_MEMBER_ID
,HIDDEN_RES_ASSGN_ID
,CURRENT_FLAG
,OBJECT_TYPE
,PERCENT_COMPLETE_ID
,ATTRIBUTE1
,ATTRIBUTE2
,ATTRIBUTE3
,ATTRIBUTE4
,ATTRIBUTE5
,ATTRIBUTE6
,start_date
,finish_date
)
VALUES
(
I_PROJECT_ID(i)
,I_STRUCTURE_VERSION_ID(i)
,I_TASK_ID(i)
,I_RESOURCE_ASSIGNMENT_ID(i)
,to_date(null)
,I_ACTUAL_COST(i)
,I_ACTUAL_EFFORT(i)
,I_PERIOD_NAME(i)
,I_TXN_CURRENCY_CODE(i)
,I_ACTUAL_COST_PC(i)
,I_ACTUAL_COST_FC(i)
,I_ACTUAL_RAWCOST(i)
,I_ACTUAL_RAWCOST_PC(i)
,I_ACTUAL_RAWCOST_FC(i)
,I_RESOURCE_LIST_MEMBER_ID(i)
,to_number(null)
,to_char(null)
,to_char(null)
,to_number(null)
,to_char(null)
,to_char(null)
,to_char(null)
,to_number(null)
,to_number(null)
,to_number(null)
,I_START_DATE(i)
,I_END_DATE(i)
);
INSERT INTO PA_PROG_ACT_BY_PERIOD_TEMP
(
PROJECT_ID
,STRUCTURE_VERSION_ID
,TASK_ID
,RESOURCE_ASSIGNMENT_ID
,AS_OF_DATE
,ACTUAL_COST
,ACTUAL_EFFORT
,PERIOD_NAME
,TXN_CURRENCY_CODE
,ACTUAL_COST_PC
,ACTUAL_COST_FC
,ACTUAL_RAWCOST
,ACTUAL_RAWCOST_PC
,ACTUAL_RAWCOST_FC
,RESOURCE_LIST_MEMBER_ID
,HIDDEN_RES_ASSGN_ID
,CURRENT_FLAG
,OBJECT_TYPE
,PERCENT_COMPLETE_ID
,ATTRIBUTE1
,ATTRIBUTE2
,ATTRIBUTE3
,ATTRIBUTE4
,ATTRIBUTE5
,ATTRIBUTE6
)
SELECT target.project_id PROJECT_ID
,p_target_struct_ver_id STRUCTURE_VERSION_ID
,target.task_id TASK_ID
,target.resource_assignment_id RESOURCE_ASSIGNMENT_ID
,NULL AS_OF_DATE
,bl.txn_init_burdened_cost ACTUAL_COST
,bl.init_quantity ACTUAL_EFFORT
,bl.period_name PERIOD_NAME
,bl.txn_currency_code TXN_CURRENCY_CODE
,bl.project_init_burdened_cost ACTUAL_COST_PC
,bl.init_burdened_cost ACTUAL_COST_FC
,bl.txn_init_raw_cost ACTUAL_RAWCOST
,bl.project_init_raw_cost ACTUAL_RAWCOST_PC
,bl.init_raw_cost ACTUAL_RAWCOST_FC
,target.resource_list_member_id RESOURCE_LIST_MEMBER_ID
,NULL HIDDEN_RES_ASSGN_ID
,NULL CURRENT_FLAG
,NULL OBJECT_TYPE
,NULL PERCENT_COMPLETE_ID
,NULL ATTRIBUTE1
,NULL ATTRIBUTE2
,NULL ATTRIBUTE3
,NULL ATTRIBUTE4
,NULL ATTRIBUTE5
,NULL ATTRIBUTE6
FROM pa_resource_assignments source,
pa_budget_lines bl,
pa_resource_assignments target
WHERE bl.budget_version_id = l_source_str_ver_info_rec.budget_version_id
and bl.resource_assignment_id = source.resource_assignment_id
AND target.budget_version_id = l_target_str_ver_info_rec.budget_version_id
AND target.task_id = source.task_id
AND target.resource_list_member_id =
decode(l_res_list_mismatch_flag, 'N', source.resource_list_member_id,
l_target_people_rlm_id)
--bug 3956258
AND 'Y' = PA_PROGRESS_UTILS.check_object_has_prog(
source.project_id --p_project_id
,source.task_id --p_proj_element_id
-- ,decode( source.ta_display_flag, 'N', source.task_id,source.resource_list_member_id) --p_object_id -- Fix for Bug # 4112283.
,source.resource_list_member_id -- Fix for Bug # 4112283.
-- ,decode( source.ta_display_flag, 'N','PA_TASKS', 'PA_ASSIGNMENTS') --p_object_type -- Fix for Bug # 4112283.
,'PA_ASSIGNMENTS' -- Fix for Bug # 4112283.
,'WORKPLAN') --p_structure_type
--end bug 3956258
;
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.copy_actuals_for_workplan', x_Msg => 'No of records inserted into PA_PROG_ACT_BY_PERIOD_TEMP '||l_no_of_recs_for_processing, x_Log_Level=> 3);
SELECT budget_version_id into l_bv_id
FROM PA_BUDGET_VERSIONS
WHERE project_id = P_PROJECT_ID
AND project_structure_version_id = p_target_struct_ver_id
AND nvl(wp_version_flag,'N') = 'Y';
UPDATE pa_budget_versions
SET etc_start_date = l_as_of_date + 1
WHERE budget_version_id = l_bv_id;
CURSOR cur_select_grid
IS
SELECT distinct -- 4600547 Added distinct
a.project_id
, a.element_version_id
, a.prg_level
, ppr.as_of_date
FROM pa_proj_element_versions a,
pa_proj_elem_ver_structure b,
pa_proj_structure_types ppst,
pa_proj_element_versions c,
pa_progress_rollup ppr
WHERE
c.project_id = p_project_id
AND c.element_version_id = p_structure_version_id ---5095632
AND c.prg_group = a.prg_group
AND a.project_id = b.project_id
AND a.element_version_id = b.element_version_id
AND b.status_code = 'STRUCTURE_PUBLISHED'
AND b.latest_eff_published_flag = 'Y'
AND a.proj_element_id = ppst.proj_element_id
AND ppst.structure_type_id =1
AND a.prg_level > 1
AND a.proj_element_id = ppr.object_id
AND a.project_id = ppr.project_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.structure_version_id is null
AND ppr.structure_type = 'WORKPLAN'
AND ppr.current_flag = 'Y'
order by a.prg_level desc; --select the lowest level of projects first.
CURSOR cur_select_grid
IS
SELECT distinct -- 4600547 Added distinct
a.project_id
, a.element_version_id
, a.prg_level
, ppr.as_of_date
FROM pa_proj_element_versions a,
pa_proj_elem_ver_structure b,
pa_proj_structure_types ppst,
pa_proj_element_versions c,
pa_progress_rollup ppr
WHERE
c.project_id = p_project_id
AND c.element_version_id = p_structure_version_id -- Backported performance fix from R12 bug 5095632
AND c.prg_group = a.prg_group
AND a.project_id = b.project_id
AND a.element_version_id = b.element_version_id
AND b.status_code = 'STRUCTURE_PUBLISHED'
AND b.latest_eff_published_flag = 'Y'
AND a.proj_element_id = ppst.proj_element_id
AND ppst.structure_type_id =1
AND a.prg_level > 1
AND a.proj_element_id = ppr.object_id
AND a.project_id = ppr.project_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.structure_version_id is null
AND ppr.structure_type = 'WORKPLAN'
AND ppr.current_flag = 'Y'
AND c.prg_group is not null --Bug 7607077
AND (a.project_id = p_project_id OR a.project_id IN (
-- Bottom up
SELECT object_id_from2
FROM pa_object_relationships
START with object_id_to2 = p_project_id and relationship_type = 'LW'
CONNECT BY PRIOR object_id_from2 = object_id_to2
AND PRIOR relationship_type = relationship_type
UNION
-- Top down
SELECT object_id_to2
FROM pa_object_relationships
START with object_id_from2 = p_project_id and relationship_type = 'LW'
CONNECT BY PRIOR object_id_to2 = object_id_from2
AND PRIOR relationship_type = relationship_type
))
order by a.prg_level desc; --select the lowest level of projects first.
FOR rec_subprojs IN cur_select_grid LOOP
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PROG_FROM_SUBPROJS', x_Msg => 'rec_subprojs.project_id='||rec_subprojs.project_id, x_Log_Level=> 3);
PROCEDURE UPD_PROG_RECS_STR_DELETE(p_project_id IN NUMBER,
p_str_ver_id_to_del IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2) IS
cursor new_str_version_id is
select ppevs.element_version_id
from pa_proj_elem_ver_structure ppevs, pa_proj_structure_types ppst
where ppevs.project_id = p_project_id
and ppevs.proj_element_id = ppst.proj_element_id
and ppst.structure_type_id = 1
and ppevs.STATUS_CODE = 'STRUCTURE_PUBLISHED'
and ppevs.PUBLISHED_DATE = (select min(ppevs.published_date)
from pa_proj_elem_ver_structure ppevs,
pa_proj_structure_types ppst
where ppevs.project_id = p_project_id
and ppevs.proj_element_id = ppst.proj_element_id
and ppst.structure_type_id = 1
and ppevs.STATUS_CODE = 'STRUCTURE_PUBLISHED'
and ppevs.published_date > (select published_date
from pa_proj_elem_ver_structure
where project_id = p_project_id
and element_version_id = p_str_ver_id_to_del));
select ppev.element_version_id old_element_version_id,
ppev1.element_version_id new_element_version_id,
ppev.proj_element_id
from pa_proj_element_versions ppev,
pa_proj_element_versions ppev1
where ppev.project_id = p_project_id
and ppev.parent_structure_version_id = p_str_ver_id_to_del
and ppev.proj_element_id = ppev1.proj_element_id
and ppev1.parent_structure_version_id = x_str_ver_id;
update pa_percent_completes ppc
set object_version_id = l_new_element_version_id_tab(i)
where project_id = p_project_id
and task_id = l_proj_element_id_tab(i)
and structure_type = 'WORKPLAN'
and object_version_id = l_old_element_version_id_tab(i);
update pa_progress_rollup ppr
set object_version_id = l_new_element_version_id_tab(i)
where project_id = p_project_id
and proj_element_id = l_proj_element_id_tab(i)
and structure_type = 'WORKPLAN'
and structure_version_id is null
and object_version_id = l_old_element_version_id_tab(i);
p_procedure_name => 'UPD_PROG_RECS_STR_DELETE',
p_error_text => 'This workplan structure cannot be deleted.');
p_procedure_name => 'UPD_PROG_RECS_STR_DELETE',
p_error_text => SUBSTRB(SQLERRM,1,120));
END UPD_PROG_RECS_STR_DELETE;
,p_working_wp_prog_flag IN VARCHAR2 := 'N' --maansari7/18 to be passed form apply lp progress to select regular planned amounts to send to schduling api for percent comnplete and earned value calculations.
,p_upd_new_elem_ver_id_flag IN VARCHAR2 := 'Y' -- rtarway, 3951024
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
l_api_name CONSTANT VARCHAR(30) := 'ROLLUP_PVT';
CURSOR cur_reverse_tree_update IS
SELECT proj_element_id, object_id_to1, object_type
FROM
( select object_id_from1, object_id_to1
from pa_object_relationships
where relationship_type ='S'
and object_type_from in ('PA_STRUCTURES','PA_TASKS') -- Bug 6429275
and object_type_to = 'PA_TASKS'
and p_rollup_entire_wbs='N'
start with object_id_to1 = p_task_version_id
and relationship_type = 'S'
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S'
) pobj
, pa_proj_element_versions ppev
WHERE element_version_id = object_id_to1
and p_rollup_entire_wbs='N'
--select structure
UNION
SELECT proj_element_id, element_version_id, object_type
FROM pa_proj_element_versions
WHERE element_version_id = p_structure_version_id
and project_id = p_project_id
and object_type = 'PA_STRUCTURES'
and p_rollup_entire_wbs='N'
UNION
SELECT proj_element_id, element_version_id, object_type
FROM pa_proj_element_versions
WHERE project_id = p_project_id
and parent_structure_version_id = p_structure_version_id
and object_type IN ('PA_TASKS','PA_STRUCTURES')
and p_rollup_entire_wbs='Y'
;
l_tsk_update_required SYSTEM.PA_VARCHAR2_1_TBL_TYPE := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
SELECT pev_schedule_id, record_version_number
FROM pa_proj_elem_ver_schedule
WHERE project_id = p_project_id
AND element_version_id = c_object_version_id;
SELECT scheduled_start_date, scheduled_finish_date
FROM pa_proj_elem_ver_schedule
WHERE PROJECT_ID = c_project_id
AND element_version_id = c_element_version_id;
SELECT 'Y' FROM DUAL
WHERE EXISTS
(SELECT 'xyz'
FROM pa_percent_completes
WHERE project_id = p_project_id
AND task_id = c_task_id
AND object_type = 'PA_DELIVERABLES'
AND trunc(date_computed)<= trunc(p_as_of_date)
AND structure_type = 'WORKPLAN'
AND published_flag = 'Y'
AND PA_PROGRESS_UTILS.get_system_task_status( status_code, 'PA_DELIVERABLES') = 'DLVR_IN_PROGRESS'
);
SELECT STATUS_CODE
FROM PA_PROJ_ELEMENTS
WHERE PROJ_ELEMENT_ID = l_proj_element_id
AND PROJECT_ID = l_project_id;
select lookup_code
from fnd_lookup_values
where attribute4 = c_status_weight
and lookup_type = 'PROGRESS_SYSTEM_STATUS'
and language = 'US'
AND VIEW_APPLICATION_ID = 275 ; -- Bug ref # 6507900;
select project_status_code
from pa_project_statuses
where project_status_weight = c_status_weight
and status_type = 'TASK'
and predefined_flag = 'Y';
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, element_version_id object_id_to1
, ppev.object_type object_type
, ppev.wbs_level wbs_level
, to_number( null ) weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id object_id
, ppev.proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCOST_TC
, ppr.OTH_ETC_RAWCOST_PC
, ppr.OTH_ETC_RAWCOST_FC
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag,'N')
BAC_value_self -- bug 4493105
, null earned_value
, to_char(null) task_derivation_method
, ppr.progress_rollup_id
, ppr.record_version_number
-- , element_version_id object_version_id Bug 4651304 : select ppr.object_version_id
, ppr.object_version_id -- Bug 4651304
, ppr.progress_status_code
, ppr.incremental_work_quantity
, ppr.cumulative_work_quantity
-- 4533112 : Added decode to select N and Y only
, decode(ppr.base_progress_status_code, 'Y', 'Y', 'N')
, ppr.EFF_ROLLUP_PROG_STAT_CODE
, ppr.percent_complete_id
, ppr.TASK_WT_BASIS_CODE
, ppr.structure_version_id
,'N' create_required
,'N' update_required
, ppr.base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM pa_proj_element_versions ppev,
pa_progress_rollup ppr,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3 ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--element_version_id IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
temp.object_id = ppev.element_version_id
AND temp.process_number = l_process_number_temp
AND ppev.object_type = 'PA_STRUCTURES'
AND ppr.project_id = ppev.project_id
AND ppr.object_id = ppev.proj_element_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(ppev.project_id,
ppev.proj_element_id, ppev.object_type,p_as_of_date, ppev.element_version_id, p_structure_type, l_structure_version_id, ppev.proj_element_id/* Bug 3764224 */) -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION
-- select tasks
SELECT pobj.object_id_from1
, ppev1.object_type parent_object_type
, pobj.object_id_to1
, ppev2.object_type object_type
, ppev2.wbs_level wbs_level
, pobj.weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 ---base prog status
, pps4.project_status_weight task_weight4
, ppe.status_code
, ppev2.proj_element_id object_id
, ppev2.proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCOST_TC
, ppr.OTH_ETC_RAWCOST_PC
, ppr.OTH_ETC_RAWCOST_FC
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,
'FINANCIAL',p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,
'FINANCIAL',p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag,'N') BAC_value_self -- bug 4493105
, null earned_value
, decode(ppe.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,ppe.base_percent_comp_deriv_code) task_derivation_method
, ppr.progress_rollup_id
, ppr.record_version_number
-- , pobj.object_id_to1 object_version_id Bug 4651304 : select ppr.object_version_id
, ppr.object_version_id -- Bug 4651304
, ppr.progress_status_code
, ppr.incremental_work_quantity
, ppr.cumulative_work_quantity
-- 4533112 : Added decode to select N and Y only
, decode(ppr.base_progress_status_code, 'Y', 'Y', 'N')
, ppr.EFF_ROLLUP_PROG_STAT_CODE
, ppr.percent_complete_id
, ppr.TASK_WT_BASIS_CODE
, ppr.structure_version_id
,'N' create_required
,'N' update_required
, ppr.base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM
pa_object_relationships pobj,
pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_progress_rollup ppr,
pa_proj_elements ppe,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3,
pa_project_statuses pps4,
pa_task_types ttype ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
temp.object_id = pobj.object_id_from1
AND temp.process_number = l_process_number_temp
AND pobj.object_id_from1 = ppev1.element_version_id
AND pobj.object_id_to1 = ppev2.element_version_id
AND pobj.relationship_type = 'S'
AND ppr.project_id = ppev2.project_id
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(ppev2.project_id,
ppev2.proj_element_id, ppev2.object_type,p_as_of_date, ppev2.element_version_id, p_structure_type, l_structure_version_id, ppev2.proj_element_id/*Bug 3764224 */) -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.object_id = ppev2.proj_element_id
AND ppr.project_id = ppev2.project_id
AND ppr.object_type = 'PA_TASKS'
AND ppe.proj_element_id = ppev2.proj_element_id
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
AND ppe.project_id = ppev2.project_id
AND ppe.object_type = ppev2.object_type
AND ppev2.object_type = 'PA_TASKS'
AND ppe.object_type = 'PA_TASKS'
AND ppe.link_task_flag <> 'Y' -- 4392189
AND pobj.object_type_to = 'PA_TASKS'
AND pobj.object_type_from IN ('PA_STRUCTURES', 'PA_TASKS')
AND ppe.type_id = ttype.task_type_id
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND ppr.structure_type = p_structure_type
AND ((ppev2.financial_task_flag = 'Y' AND p_structure_type = 'FINANCIAL') OR p_structure_type = 'WORKPLAN') -- Bug 4346483
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION ALL
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, element_version_id object_id_to1
, ppev.object_type object_type
, ppev.wbs_level wbs_level
, to_number( null ) weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_date(null) as_of_date
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id object_id
, ppev.proj_element_id
, to_number( null ) PPL_ACT_EFFORT_TO_DATE
, to_number( null ) PPL_ACT_COST_TO_DATE_TC
, to_number( null ) PPL_ACT_COST_TO_DATE_PC
, to_number( null ) PPL_ACT_COST_TO_DATE_FC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) ESTIMATED_REMAINING_EFFORT
, to_number( null ) PPL_ETC_COST_TC
, to_number( null ) PPL_ETC_COST_PC
, to_number( null ) PPL_ETC_COST_FC
, to_number( null ) PPL_ETC_RAWCOST_TC
, to_number( null ) PPL_ETC_RAWCOST_PC
, to_number( null ) PPL_ETC_RAWCOST_FC
, to_number( null ) EQPMT_ACT_EFFORT_TO_DATE
, to_number( null ) EQPMT_ACT_COST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_FC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) EQPMT_ETC_EFFORT
, to_number( null ) EQPMT_ETC_COST_TC
, to_number( null ) EQPMT_ETC_COST_PC
, to_number( null ) EQPMT_ETC_COST_FC
, to_number( null ) EQPMT_ETC_RAWCOST_TC
, to_number( null ) EQPMT_ETC_RAWCOST_PC
, to_number( null ) EQPMT_ETC_RAWCOST_FC
, to_number( null ) OTH_QUANTITY_TO_DATE
, to_number( null ) OTH_ACT_COST_TO_DATE_TC
, to_number( null ) OTH_ACT_COST_TO_DATE_PC
, to_number( null ) OTH_ACT_COST_TO_DATE_FC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) OTH_ETC_QUANTITY
, to_number( null ) OTH_ETC_COST_TC
, to_number( null ) OTH_ETC_COST_PC
, to_number( null ) OTH_ETC_COST_FC
, to_number( null ) OTH_ETC_RAWCOST_TC
, to_number( null ) OTH_ETC_RAWCOST_PC
, to_number( null ) OTH_ETC_RAWCOST_FC
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number( null ) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number( null ) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag,'N')
BAC_value_self -- bug 4493105
, null earned_value
, to_char(null) task_derivation_method
, to_number(null) progress_rollup_id
, to_number(null) record_version_number
, element_version_id object_version_id
, to_char(null) progress_status_code
, to_number(null) incremental_work_quantity
, to_number(null) cumulative_work_quantity
-- 4533112 : Added N only
, 'N' base_progress_status_code
, to_char(null) EFF_ROLLUP_PROG_STAT_CODE
, to_number(null) percent_complete_id
, to_char(null) TASK_WT_BASIS_CODE
, to_number(null) structure_version_id
,'N' create_required
,'N' update_required
, to_number(null) base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM pa_proj_element_versions ppev , pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
element_version_id = temp.object_id
AND temp.process_number = l_process_number_temp
AND ppev.object_type = 'PA_STRUCTURES'
AND pa_progress_utils.get_max_rollup_asofdate(ppev.project_id,
ppev.proj_element_id, ppev.object_type,p_as_of_date, ppev.element_version_id, p_structure_type, l_structure_version_id, ppev.proj_element_id/*Bug 3764224 */)
IS NULL
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION
-- select tasks
SELECT pobj.object_id_from1
, ppev1.object_type parent_object_type
, pobj.object_id_to1
, ppev2.object_type object_type
, ppev2.wbs_level wbs_level
, pobj.weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_date(null) as_of_date
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev2.proj_element_id object_id
, ppev2.proj_element_id
, to_number( null ) PPL_ACT_EFFORT_TO_DATE
, to_number( null ) PPL_ACT_COST_TO_DATE_TC
, to_number( null ) PPL_ACT_COST_TO_DATE_PC
, to_number( null ) PPL_ACT_COST_TO_DATE_FC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) ESTIMATED_REMAINING_EFFORT
, to_number( null ) PPL_ETC_COST_TC
, to_number( null ) PPL_ETC_COST_PC
, to_number( null ) PPL_ETC_COST_FC
, to_number( null ) PPL_ETC_RAWCOST_TC
, to_number( null ) PPL_ETC_RAWCOST_PC
, to_number( null ) PPL_ETC_RAWCOST_FC
, to_number( null ) EQPMT_ACT_EFFORT_TO_DATE
, to_number( null ) EQPMT_ACT_COST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_FC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) EQPMT_ETC_EFFORT
, to_number( null ) EQPMT_ETC_COST_TC
, to_number( null ) EQPMT_ETC_COST_PC
, to_number( null ) EQPMT_ETC_COST_FC
, to_number( null ) EQPMT_ETC_RAWCOST_TC
, to_number( null ) EQPMT_ETC_RAWCOST_PC
, to_number( null ) EQPMT_ETC_RAWCOST_FC
, to_number( null ) OTH_QUANTITY_TO_DATE
, to_number( null ) OTH_ACT_COST_TO_DATE_TC
, to_number( null ) OTH_ACT_COST_TO_DATE_PC
, to_number( null ) OTH_ACT_COST_TO_DATE_FC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) OTH_ETC_QUANTITY
, to_number( null ) OTH_ETC_COST_TC
, to_number( null ) OTH_ETC_COST_PC
, to_number( null ) OTH_ETC_COST_FC
, to_number( null ) OTH_ETC_RAWCOST_TC
, to_number( null ) OTH_ETC_RAWCOST_PC
, to_number( null ) OTH_ETC_RAWCOST_FC
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number( null ) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number( null ) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',
p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',
p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag,'N') BAC_value_self -- bug 4493105
, null earned_value
, decode(ppe.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,ppe.base_percent_comp_deriv_code) task_derivation_method
, to_number(null) progress_rollup_id
, to_number(null) record_version_number
, pobj.object_id_to1 object_version_id
, to_char(null) progress_status_code
, to_number(null) incremental_work_quantity
, to_number(null) cumulative_work_quantity
-- 4533112 : Added N only
, 'N' base_progress_status_code
, to_char(null) EFF_ROLLUP_PROG_STAT_CODE
, to_number(null) percent_complete_id
, to_char(null) TASK_WT_BASIS_CODE
, to_number(null) structure_version_id
,'N' create_required
,'N' update_required
, to_number(null) base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM
pa_object_relationships pobj,
pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_proj_elements ppe,
pa_project_statuses pps4,
pa_task_types ttype ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
pobj.object_id_from1 = temp.object_id
AND temp.process_number = l_process_number_temp
AND pobj.object_id_from1 = ppev1.element_version_id
AND pobj.object_id_to1 = ppev2.element_version_id
AND pobj.relationship_type = 'S'
AND ppe.proj_element_id = ppev2.proj_element_id
AND ppe.status_code = pps4.project_status_code(+)
AND ppe.project_id = ppev2.project_id
AND ppe.object_type = ppev2.object_type
AND ppev2.object_type = 'PA_TASKS'
AND ppe.object_type = 'PA_TASKS'
AND ppe.link_task_flag <> 'Y' -- 4392189
AND pobj.object_type_to = 'PA_TASKS'
AND pobj.object_type_from IN ('PA_STRUCTURES', 'PA_TASKS')
AND ppe.type_id = ttype.task_type_id
AND pa_progress_utils.get_max_rollup_asofdate(ppev2.project_id,
ppev2.proj_element_id, ppev2.object_type,p_as_of_date, ppev2.element_version_id, p_structure_type, l_structure_version_id, ppev2.proj_element_id/*Bug 3764224 */)
IS NULL
AND ( (ppev2.financial_task_flag = 'Y' AND p_structure_type = 'FINANCIAL') OR p_structure_type = 'WORKPLAN') -- Bug 4346483
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
;
SELECT a.wbs_element_version_id
, a.rate_based_flag
, a.resource_class_code
, a.resource_assignment_id
, a.total_plan_quantity planned_quantity
, a.total_project_burdened_cost planned_bur_cost_proj_cur
, a.resource_list_member_id
from pa_resource_assignments a
WHERE a.wbs_element_version_id = c_task_ver_id
AND a.project_id = p_project_id
AND a.task_id = c_task_id
-- AND a.ta_display_flag = 'Y' --Bug 4323537
;
SELECT ppr.*
FROM pa_progress_rollup ppr
WHERE ppr.project_id = p_project_id
AND ppr.object_id = c_object_id
AND ppr.proj_element_id = c_proj_element_id
AND ppr.object_type = 'PA_ASSIGNMENTS'
AND ppr.current_flag <> 'W'
AND ppr.structure_type = p_structure_type
AND ppr.as_of_date <= p_as_of_date
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND rownum =1
ORDER BY as_of_date desc
;
SELECT obj.object_type_from
, 'PA_TASKS' parent_object_type
, obj.object_id_to2 object_id
, obj.object_id_to1
, obj.object_id_from1
, 'PA_DELIVERABLES' object_type
, ppr.actual_finish_date
, ppr.as_of_date
, ppr.completed_percentage
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID
, ppr.STRUCTURE_VERSION_ID
, ppr.TASK_WT_BASIS_CODE
, elem.progress_weight weighting_percentage
, ppr.base_percent_complete
, pps2.project_status_weight override_weight ---override progress status code
, pps3.project_status_weight base_weight --base prog status
FROM pa_proj_elements elem
, pa_object_relationships obj
, pa_progress_rollup ppr
, pa_project_statuses pps2
, pa_project_statuses pps3
WHERE obj.object_id_from2= c_task_proj_elem_id
AND obj.object_type_from = 'PA_TASKS'
AND obj.object_type_to = 'PA_DELIVERABLES'
AND obj.relationship_type = 'A'
AND obj.relationship_subtype = 'TASK_TO_DELIVERABLE'
AND elem.proj_element_id = obj.object_id_to2
AND elem.object_type = 'PA_DELIVERABLES'
and elem.project_id = p_project_id
-- AND obj.object_id_to1 = ppr.object_version_id(+)
AND ppr.object_type(+) = 'PA_DELIVERABLES'
AND ppr.project_id(+) = c_project_id
AND ppr.object_id(+) = obj.object_id_to2
AND ppr.as_of_date(+) = pa_progress_utils.get_max_rollup_asofdate(c_project_id,
obj.object_id_to2, 'PA_DELIVERABLES',p_as_of_date,obj.object_id_to1, p_structure_type, l_structure_version_id, obj.object_id_from2 /* Bug 3764224 */) -- FPM Dev CR 3
AND ppr.structure_type(+) = p_structure_type
AND ppr.structure_version_id is null -- deliverable progress for working version is not allowed
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.current_flag(+) <> 'W'
;
select distinct object_id_from1
from pa_object_relationships
start with object_id_to1 IN (select object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
and relationship_type = 'S'
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S'
MINUS
select object_id object_id_from1 from pa_proj_rollup_temp where process_number = l_process_number_temp
;
select object_id
from pa_proj_rollup_temp where process_number = l_process_number_temp
;
SELECT decode(status.project_system_status_code, 'STRUCTURE_PUBLISHED','Y','N')
FROM pa_proj_elem_ver_structure str
, pa_project_statuses status
where str.element_version_id = c_structure_version_id
AND str.project_id = c_project_id
AND str.status_code = status.project_status_code;
SELECT element_version_id
FROM pa_proj_element_versions
where project_id = c_project_id
and object_type = 'PA_TASKS'
AND parent_structure_version_id = c_structure_version_id
AND wbs_level = (Select max(wbs_level)
From pa_proj_element_versions
where project_id = c_project_id
and object_type = 'PA_TASKS'
AND parent_structure_version_id = c_structure_version_id);
select 'Y' from pa_proj_element_versions ppev1
where ppev1.parent_structure_version_id = c_structure_ver_id
and ppev1.proj_element_id = (select proj_element_id from pa_proj_element_versions ppev2
where ppev2.element_version_id = c_task_version_id
and ppev2.project_id = p_project_id);
select /*+ leading (ROLLUP) */ ppr.as_of_date, ver2.proj_element_id child_task_id, ver2.element_version_id child_task_ver_id
from pa_object_relationships obj
, pa_proj_element_versions ver
, pa_progress_rollup ppr
, pa_proj_rollup_temp rollup
, pa_proj_element_versions ver2
where rollup.object_id = obj.object_id_to1
AND rollup.process_number = l_process_number_temp
AND obj.relationship_type = 'S'
AND obj.object_type_from IN ('PA_STRUCTURES' ,'PA_TASKS')
AND obj.object_type_to = 'PA_TASKS'
AND obj.object_id_from1= ver.element_version_id
AND ver.project_id = p_project_id
AND ver.object_type IN ('PA_TASKS', 'PA_STRUCTURES')
AND ver.project_id = ppr.project_id
AND ppr.as_of_date > p_as_of_date
AND ppr.object_id = ver.proj_element_id
AND ppr.current_flag = 'Y'
AND ppr.proj_element_id = ver.proj_element_id
AND ppr.structure_type = p_structure_type
AND ppr.structure_version_id is null
AND obj.object_id_to1 = ver2.element_version_id
AND ver2.project_id = p_project_id
AND ver2.object_type = 'PA_TASKS'
AND rollup.object_type = 'PA_TASKS' -- cklee bug: 6610612
order by ppr.as_of_date;
SELECT
ppv2.project_id sub_project_id
,ppv2.element_version_id sub_structure_ver_id
,ppv2.proj_element_id sub_proj_element_id
, pa_progress_utils.Get_BAC_Value(ppv2.project_id, c_task_per_comp_deriv_method, ppv2.proj_element_id, ppv2.parent_structure_version_id,
'WORKPLAN','N') sub_project_bac_value
FROM
pa_proj_element_versions ppv2
,pa_proj_elem_ver_structure ppevs2
,pa_object_relationships por1
,pa_object_relationships por2
WHERE
por1.object_id_from1 = c_task_version_id
AND por1.object_id_to1 = por2.object_id_from1
AND por2.object_id_to1 = ppv2.element_version_id
AND ppv2.object_type = 'PA_STRUCTURES'
-- AND por2.relationship_type in ( 'LW', 'LF' )
AND por2.relationship_type = 'LW'
AND ppevs2.element_version_id = ppv2.element_version_id
AND ppevs2.project_id = ppv2.project_id
AND ppevs2.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs2.latest_eff_published_flag = 'Y';
SELECT
ppr.progress_rollup_id
,ppr.actual_start_date
,ppr.actual_finish_date
,ppr.estimated_start_date
,ppr.estimated_finish_date
,pps1.project_status_weight rollup_weight1
,pps2.project_status_weight override_weight2
,pps3.project_status_weight base_weight3
,pps4.project_status_weight task_weight4
-- Bug 4506009 --,decode(c_task_per_comp_deriv_method,'EFFORT', ( nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)),
-- ( nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0))) earned_value
,decode(c_task_per_comp_deriv_method,'EFFORT', nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0)
, nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,0)) bac_value
, nvl(ppr.completed_percentage, ppr.eff_rollup_percent_comp) completed_percentage --Bug 4506009
FROM
pa_progress_rollup ppr
,pa_project_statuses pps1
,pa_project_statuses pps2
,pa_project_statuses pps3
,pa_project_statuses pps4
,pa_proj_elements ppe
WHERE
ppr.project_id = c_sub_project_id
AND ppe.project_id = c_sub_project_id
AND ppe.object_type = 'PA_STRUCTURES'
AND ppe.proj_element_id = c_sub_proj_element_id
AND ppr.object_id = c_sub_proj_element_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.structure_version_id is null
AND ppr.structure_type = 'WORKPLAN'
AND ppr.current_flag IN ('Y', 'N')
AND ppr.as_of_date <= c_as_of_date
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
order by as_of_date desc
;
SELECT 'Y'
FROM pa_object_relationships
WHERE --relationship_type in ( 'LW', 'LF' )
relationship_type = 'LW'
AND object_id_from1 IN
(SELECT object_id_to1
FROM pa_object_relationships
START WITH object_id_from1 = c_task_version_id
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_to1 = object_id_from1
AND relationship_type = 'S')
;
select scheduled_start_date, scheduled_finish_date from pa_proj_elem_ver_schedule a
where a.project_id = p_project_id
AND a.proj_element_id = c_task_id and a.element_version_id = c_task_ver_id;
SELECT object_id_from1
FROM pa_object_relationships
WHERE relationship_type = 'S'
START WITH object_id_to1 in (select p.element_version_id
from PA_PROJ_ELEMENT_VERSIONS p where p.project_id = c_project_id and defer_code in ( 'P','S'))
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_from1 = object_id_to1
AND relationship_type = 'S';
SELECT project_currency_code, org_id INTO l_prj_currency_code, l_org_id FROM pa_projects_all WHERE project_id = p_project_id;
SELECT PA_PROJ_ROLLUP_TEMP_S.nextval
INTO l_process_number_temp FROM dual;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT distinct l_process_number_temp, object_id_from1, 'PA_TASKS', 1
FROM pa_object_relationships
WHERE relationship_type = 'S'
START WITH object_id_to1 = l_task_version_id
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_from1 = object_id_to1
AND relationship_type = 'S'
UNION ALL -- 4563049 : Rollup Structure also if passed, so that it can populate ETC from PJI
SELECT distinct l_process_number_temp, l_task_version_id object_id_from1, 'PA_TASKS', 1
FROM dual
WHERE l_task_version_id = p_structure_version_id;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
VALUES(l_process_number_temp,p_task_version_id_tbl(i), 'PA_TASKS',1 );
l_mass_rollup_prog_rec_tab.delete;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_rec_tab(i), 1);
l_mass_rollup_prog_rec_tab.delete;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM pa_proj_element_versions
WHERE project_id = p_project_id
AND parent_structure_version_id = p_structure_version_id
AND PA_PROJ_ELEMENTS_UTILS.is_summary_task_or_structure(element_version_id) = 'Y'
AND object_type = 'PA_TASKS'
UNION
SELECT l_process_number_temp, p_structure_version_id object_id_from1, 'PA_TASKS', 1
FROM dual;
l_tmp_prog.delete;
l_prog_obj.delete;
l_mass_rollup_prog_rec_tab.delete;
l_mass_rollup_prog_rec_tab.delete;
,l_tsk_update_required
,l_tsk_base_percent_comp_tab -- 4392189 : Program Reporting Changes - Phase 2
;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
l_asgn_task_version_id_tab.delete;
l_asgn_rate_based_flag_tab.delete;
l_asgn_resource_class_code_tab.delete;
l_asgn_res_assignment_id_tab.delete;
l_asgn_planned_quantity_tab.delete;
l_asgn_plan_bur_cost_pc_tab.delete;
l_asgn_res_list_member_id_tab.delete;
-- Update to happen only version is disabled or on a working version when version enabled
IF (l_wp_version_enabled_flag = 'N'
OR (l_wp_version_enabled_flag = 'Y'AND l_asgn_progress_rec.structure_version_id IS NOT NULL) ) THEN
UPDATE PA_PROGRESS_ROLLUP
SET ACTUAL_FINISH_DATE = NULL
WHERE progress_rollup_id = l_asgn_progress_rec.progress_rollup_id;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, p_task_version_id, 'PA_TASKS', 1
FROM dual;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_exists_tab(i), 1);
l_mass_rollup_prog_exists_tab.delete;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_exists_tab(i), 1);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PVT', x_Msg => 'Doing UPDATE_ROLLUP_PVT', x_Log_Level=> 3);
FOR cur_reverse_tree_rec in cur_reverse_tree_update LOOP
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PVT', x_Msg => 'cur_reverse_tree_rec.object_id_to1='||cur_reverse_tree_rec.object_id_to1, x_Log_Level=> 3);
SELECT 'Y' into l_child_rollup_rec_exists
FROM dual
WHERE exists
(
SELECT 'xyz'
from pa_proj_rollup_temp
WHERE object_id = cur_reverse_tree_rec.object_id_to1
and process_number = l_process_number_temp
);
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
PERIOD_NAME
, ACT_PRJ_BRDN_COST-ACT_PRJ_EQUIP_BRDN_COST-ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_EQUIP_BRDN_COST
, ACT_POU_BRDN_COST-ACT_POU_LABOR_BRDN_COST-ACT_POU_EQUIP_BRDN_COST
, ACT_POU_LABOR_BRDN_COST
, ACT_POU_EQUIP_BRDN_COST
, ACT_LABOR_HRS
, ACT_EQUIP_HRS
, ETC_PRJ_BRDN_COST-ETC_PRJ_EQUIP_BRDN_COST-ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_EQUIP_BRDN_COST
, ETC_POU_BRDN_COST-ETC_POU_LABOR_BRDN_COST-ETC_POU_EQUIP_BRDN_COST
, ETC_POU_LABOR_BRDN_COST
, ETC_POU_EQUIP_BRDN_COST
, ETC_LABOR_HRS
, ETC_EQUIP_HRS
, ACT_PRJ_RAW_COST-ACT_PRJ_EQUIP_RAW_COST-ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_EQUIP_RAW_COST
, ACT_POU_RAW_COST-ACT_POU_LABOR_RAW_COST-ACT_POU_EQUIP_RAW_COST
, ACT_POU_LABOR_RAW_COST
, ACT_POU_EQUIP_RAW_COST
, ETC_PRJ_RAW_COST-ETC_PRJ_EQUIP_RAW_COST-ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_EQUIP_RAW_COST
, ETC_POU_RAW_COST-ETC_POU_LABOR_RAW_COST-ETC_POU_EQUIP_RAW_COST
, ETC_POU_LABOR_RAW_COST
, ETC_POU_EQUIP_RAW_COST
, LABOR_HOURS
, EQUIPMENT_HOURS
, POU_LABOR_BRDN_COST
, PRJ_LABOR_BRDN_COST
, POU_EQUIP_BRDN_COST
, PRJ_EQUIP_BRDN_COST
, POU_BRDN_COST - ( POU_EQUIP_BRDN_COST + POU_LABOR_BRDN_COST )
, PRJ_BRDN_COST - ( PRJ_EQUIP_BRDN_COST + PRJ_LABOR_BRDN_COST )
, POU_LABOR_RAW_COST
, PRJ_LABOR_RAW_COST
, POU_EQUIP_RAW_COST
, PRJ_EQUIP_RAW_COST
, POU_RAW_COST - ( POU_EQUIP_RAW_COST + POU_LABOR_RAW_COST )
, PRJ_RAW_COST - ( PRJ_EQUIP_RAW_COST + PRJ_LABOR_RAW_COST )
INTO
l_PERIOD_NAME
, l_OTH_ACT_COST_TO_DATE_PC
, l_PPL_ACT_COST_TO_DATE_PC
, l_EQPMT_ACT_COST_TO_DATE_PC
, l_OTH_ACT_COST_TO_DATE_FC
, l_PPL_ACT_COST_TO_DATE_FC
, l_EQPMT_ACT_COST_TO_DATE_FC
, l_PPL_ACT_EFFORT_TO_DATE
, l_EQPMT_ACT_EFFORT_TO_DATE
, l_ETC_Cost_PC
, l_PPL_ETC_COST_PC
, l_EQPMT_ETC_COST_PC
, l_ETC_Cost_FC
, l_PPL_ETC_COST_FC
, l_EQPMT_ETC_COST_FC
, l_remaining_effort1
, l_EQPMT_ETC_EFFORT
, l_OTH_ACT_RAWCOST_TO_DATE_PC
, l_PPL_ACT_RAWCOST_TO_DATE_PC
, l_EQPMT_ACT_RAWCOST_TO_DATE_PC
, l_OTH_ACT_RAWCOST_TO_DATE_FC
, l_PPL_ACT_RAWCOST_TO_DATE_FC
, l_EQPMT_ACT_RAWCOST_TO_DATE_FC
, l_ETC_RAWCost_PC
, l_PPL_ETC_RAWCOST_PC
, l_EQPMT_ETC_RAWCOST_PC
, l_ETC_RAWCost_FC
, l_PPL_ETC_RAWCOST_FC
, l_EQPMT_ETC_RAWCOST_FC
, l_LABOR_HOURS
, l_EQUIPMENT_HOURS
, l_POU_LABOR_BRDN_COST
, l_PRJ_LABOR_BRDN_COST
, l_POU_EQUIP_BRDN_COST
, l_PRJ_EQUIP_BRDN_COST
, l_POU_OTH_BRDN_COST
, l_PRJ_OTH_BRDN_COST
, l_POU_LABOR_RAW_COST
, l_PRJ_LABOR_RAW_COST
, l_POU_EQUIP_RAW_COST
, l_PRJ_EQUIP_RAW_COST
, l_POU_OTH_RAW_COST
, l_PRJ_OTH_RAW_COST
FROM PJI_FM_XBS_ACCUM_TMP1
WHERE project_id = p_project_id
AND struct_version_id = p_structure_version_id
AND project_element_id = cur_reverse_tree_rec.proj_element_id
AND plan_version_id > 0
AND txn_currency_code is null
AND calendar_type = 'A'
AND res_list_member_id is null;
UPDATE pa_proj_elements
SET status_code = l_status_code
WHERE project_id = p_project_id
AND proj_element_id = cur_reverse_tree_rec.proj_element_id;
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
WHERE object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = cur_reverse_tree_rec.object_Type ---4743866
AND project_id = p_project_id
--AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED', 'COMPLETED' )
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' ) -- 02/06/04 Satish
AND structure_type = p_structure_type -- FPM Dev CR 3
AND current_flag = 'N' and published_flag = 'N';
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
WHERE object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = cur_reverse_tree_rec.object_Type ---4743866
AND project_id = p_project_id
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' ) -- 02/06/04 Satish
AND structure_type = p_structure_type -- FPM Dev CR 3
AND published_flag = 'Y' ---4743866
AND current_flag = 'Y'
AND trunc(date_computed) = trunc(p_as_of_date);
-- table in case of update, in case of insert, use the new object version id
-- Commented below code and added new condition
--IF p_upd_new_elem_ver_id_flag = 'Y' THEN
-- l_tsk_object_version_id_tab(task_index) := l_rollup_table1(i).object_id;
-- In early Rollup API, there used to be call of PA_TASK_PUB1.update_schedule_version API
-- For performance changes, it was removed and replaced with direct update statement
-- The follwoing portion for dirty schedule was missing out.
IF PA_PROJECT_STRUCTURE_UTILS.CHECK_THIRD_PARTY_SCH_FLAG(p_project_id)= 'Y'
THEN
PA_PROJECT_STRUCTURE_PVT1.update_sch_dirty_flag(
p_structure_version_id => p_structure_version_id
,p_dirty_flag => 'Y'
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data);
UPDATE pa_proj_elem_ver_schedule
SET ACTUAL_START_DATE = l_actual_start_date
, ACTUAL_FINISH_DATE = l_actual_finish_date
, ESTIMATED_START_DATE = l_rollup_table1(i).start_date2
, ESTIMATED_FINISH_DATE = l_rollup_table1(i).finish_date2
, record_version_number = record_version_number+1
, scheduled_start_date = l_rollup_table1(i).start_date3
, scheduled_finish_date = l_rollup_table1(i).finish_date3
-- 5119716 Begin
, estimated_duration = trunc(l_rollup_table1(i).finish_date2) - trunc(l_rollup_table1(i).start_date2) + 1
, actual_duration = trunc(l_actual_finish_date) - trunc(l_actual_start_date) + 1
-- 5119716 End
, last_updated_by = l_user_id
, last_update_date= sysdate
, last_update_login = l_login_id
WHERE project_id = p_project_id
AND element_version_id = l_rollup_table1(i).object_id;
UPDATE pa_projects_all
SET actual_start_date = l_rollup_table1(i).start_date1,
actual_finish_date = l_rollup_table1(i).finish_date1
WHERE project_id = p_project_id;
l_tsk_update_required(task_index):='Y';
SELECT percent_complete_id
INTO l_percent_complete_id
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = p_structure_type
AND date_computed = ( SELECT max(date_computed)
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = p_structure_type
AND date_computed <= p_as_of_date);
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = cur_reverse_tree_rec.proj_element_id
AND object_type = l_rollup_table1(i).object_type
AND current_flag <> 'W'
AND structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND structure_version_id is null) OR (l_published_structure = 'N' AND structure_version_id = p_structure_version_id));
UPDATE pa_progress_rollup
SET
object_version_id = l_tsk_object_version_id_tab(i)
, last_update_date = sysdate
, last_updated_by = l_user_id
, last_update_login = l_login_id
, eff_rollup_percent_comp = l_tsk_roll_comp_percent_tab(i)
, completed_percentage = decode(p_progress_mode,'TRANSFER_WP_PC', l_tsk_roll_comp_percent_tab(i), completed_percentage)
-- Bug 4284353 : Used decode above
, estimated_start_date = l_tsk_est_start_date_tab(i)
, estimated_finish_date = l_tsk_est_finish_date_tab(i)
, actual_start_date = l_tsk_actual_start_date_tab(i)
, actual_finish_date = l_tsk_actual_finish_date_tab(i)
, record_version_number = record_version_number +1
, base_percent_comp_deriv_code = l_tsk_deriv_method_tab(i)
, base_progress_status_code = l_tsk_base_prog_stat_code_tab(i)
, eff_rollup_prog_stat_code = l_tsk_eff_roll_prg_st_code_tab(i)
, percent_complete_id = l_tsk_percent_complete_id_tab(i)
, ppl_act_effort_to_date = l_tsk_ppl_act_eff_tab(i)
, ppl_act_cost_to_date_pc = l_tsk_ppl_act_cost_pc_tab(i)
, ppl_act_cost_to_date_fc = l_tsk_ppl_act_cost_fc_tab(i)
, ppl_act_rawcost_to_date_pc = l_tsk_ppl_act_rawcost_pc_tab(i)
, ppl_act_rawcost_to_date_fc = l_tsk_ppl_act_rawcost_fc_tab(i)
, estimated_remaining_effort = l_tsk_est_rem_effort_tab(i)
, ppl_etc_cost_pc = l_tsk_ppl_etc_cost_pc_tab(i)
, ppl_etc_cost_fc = l_tsk_ppl_etc_cost_fc_tab(i)
, ppl_etc_rawcost_pc = l_tsk_ppl_etc_rawcost_pc_tab(i)
, ppl_etc_rawcost_fc = l_tsk_ppl_etc_rawcost_fc_tab(i)
, eqpmt_act_effort_to_date = l_tsk_eqpmt_act_effort_tab(i)
, eqpmt_act_cost_to_date_pc = l_tsk_eqpmt_act_cost_pc_tab(i)
, eqpmt_act_cost_to_date_fc = l_tsk_eqpmt_act_cost_fc_tab(i)
, eqpmt_act_rawcost_to_date_pc = l_tsk_eqpmt_act_rawcost_pc_tab(i)
, eqpmt_act_rawcost_to_date_fc = l_tsk_eqpmt_act_rawcost_fc_tab(i)
, eqpmt_etc_effort = l_tsk_eqpmt_etc_effort_tab(i)
, eqpmt_etc_cost_pc = l_tsk_eqpmt_etc_cost_pc_tab(i)
, eqpmt_etc_cost_fc = l_tsk_eqpmt_etc_cost_fc_tab(i)
, eqpmt_etc_rawcost_pc = l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, eqpmt_etc_rawcost_fc = l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, oth_act_cost_to_date_pc = l_tsk_oth_act_cost_pc_tab(i)
, oth_act_cost_to_date_fc = l_tsk_oth_act_cost_fc_tab(i)
, oth_act_rawcost_to_date_pc = l_tsk_oth_act_rawcost_pc_tab(i)
, oth_act_rawcost_to_date_fc = l_tsk_oth_act_rawcost_fc_tab(i)
, oth_etc_cost_pc= l_tsk_oth_etc_cost_pc_tab(i)
, oth_etc_cost_fc = l_tsk_oth_etc_cost_fc_tab(i)
, oth_etc_rawcost_pc = l_tsk_oth_etc_rawcost_pc_tab(i)
, oth_etc_rawcost_fc = l_tsk_oth_etc_rawcost_fc_tab(i)
, earned_value = l_tsk_earned_value_tab(i)
, task_wt_basis_code = l_tsk_task_wt_basis_code_tab(i)
, base_percent_complete = l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
WHERE l_tsk_update_required(i) = 'Y'
AND progress_rollup_id = l_tsk_progress_rollup_id_tab(i);
UPDATE pa_progress_rollup
SET
object_version_id = l_tsk_object_version_id_tab(i)
, last_update_date = sysdate
, last_updated_by = l_user_id
, last_update_login = l_login_id
, eff_rollup_percent_comp = l_tsk_roll_comp_percent_tab(i)
, estimated_start_date = l_tsk_est_start_date_tab(i)
, estimated_finish_date = l_tsk_est_finish_date_tab(i)
, actual_start_date = l_tsk_actual_start_date_tab(i)
, actual_finish_date = l_tsk_actual_finish_date_tab(i)
, record_version_number = record_version_number +1
, base_percent_comp_deriv_code = l_tsk_deriv_method_tab(i)
, base_progress_status_code = l_tsk_base_prog_stat_code_tab(i)
, eff_rollup_prog_stat_code = l_tsk_eff_roll_prg_st_code_tab(i)
, percent_complete_id = l_tsk_percent_complete_id_tab(i)
, ppl_act_effort_to_date = l_tsk_ppl_act_eff_tab(i)
, ppl_act_cost_to_date_pc = l_tsk_ppl_act_cost_pc_tab(i)
, ppl_act_cost_to_date_fc = l_tsk_ppl_act_cost_fc_tab(i)
, ppl_act_rawcost_to_date_pc = l_tsk_ppl_act_rawcost_pc_tab(i)
, ppl_act_rawcost_to_date_fc = l_tsk_ppl_act_rawcost_fc_tab(i)
, estimated_remaining_effort = l_tsk_est_rem_effort_tab(i)
, ppl_etc_cost_pc = l_tsk_ppl_etc_cost_pc_tab(i)
, ppl_etc_cost_fc = l_tsk_ppl_etc_cost_fc_tab(i)
, ppl_etc_rawcost_pc = l_tsk_ppl_etc_rawcost_pc_tab(i)
, ppl_etc_rawcost_fc = l_tsk_ppl_etc_rawcost_fc_tab(i)
, eqpmt_act_effort_to_date = l_tsk_eqpmt_act_effort_tab(i)
, eqpmt_act_cost_to_date_pc = l_tsk_eqpmt_act_cost_pc_tab(i)
, eqpmt_act_cost_to_date_fc = l_tsk_eqpmt_act_cost_fc_tab(i)
, eqpmt_act_rawcost_to_date_pc = l_tsk_eqpmt_act_rawcost_pc_tab(i)
, eqpmt_act_rawcost_to_date_fc = l_tsk_eqpmt_act_rawcost_fc_tab(i)
, eqpmt_etc_effort = l_tsk_eqpmt_etc_effort_tab(i)
, eqpmt_etc_cost_pc = l_tsk_eqpmt_etc_cost_pc_tab(i)
, eqpmt_etc_cost_fc = l_tsk_eqpmt_etc_cost_fc_tab(i)
, eqpmt_etc_rawcost_pc = l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, eqpmt_etc_rawcost_fc = l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, oth_act_cost_to_date_pc = l_tsk_oth_act_cost_pc_tab(i)
, oth_act_cost_to_date_fc = l_tsk_oth_act_cost_fc_tab(i)
, oth_act_rawcost_to_date_pc = l_tsk_oth_act_rawcost_pc_tab(i)
, oth_act_rawcost_to_date_fc = l_tsk_oth_act_rawcost_fc_tab(i)
, oth_etc_cost_pc= l_tsk_oth_etc_cost_pc_tab(i)
, oth_etc_cost_fc = l_tsk_oth_etc_cost_fc_tab(i)
, oth_etc_rawcost_pc = l_tsk_oth_etc_rawcost_pc_tab(i)
, oth_etc_rawcost_fc = l_tsk_oth_etc_rawcost_fc_tab(i)
, earned_value = l_tsk_earned_value_tab(i)
, task_wt_basis_code = l_tsk_task_wt_basis_code_tab(i)
, base_percent_complete = l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
WHERE l_tsk_update_required(i) = 'Y'
AND project_id = p_project_id
AND object_id = l_tsk_object_id_tab(i)
AND proj_element_id = l_tsk_proj_element_id_tab(i)
AND object_type = l_tsk_object_type_tab(i)
AND as_of_date >= p_as_of_date
AND current_flag = 'W'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null;
INSERT INTO pa_progress_rollup
(
progress_rollup_id
,project_id
,object_id
,object_type
,as_of_date
,object_version_id
,last_update_date
,last_updated_by
,creation_date
,created_by
,progress_status_code
,last_update_login
,eff_rollup_percent_comp
,completed_percentage
,estimated_start_date
,estimated_finish_date
,actual_start_date
,actual_finish_date
,record_version_number
,base_percent_comp_deriv_code
,base_progress_status_code
,eff_rollup_prog_stat_code
,percent_complete_id
,structure_type
,proj_element_id
,structure_version_id
,ppl_act_effort_to_date
,ppl_act_cost_to_date_pc
,ppl_act_cost_to_date_fc
,ppl_act_rawcost_to_date_pc
,ppl_act_rawcost_to_date_fc
,estimated_remaining_effort
,ppl_etc_cost_pc
,ppl_etc_cost_fc
,ppl_etc_rawcost_pc
,ppl_etc_rawcost_fc
,eqpmt_act_effort_to_date
,eqpmt_act_cost_to_date_pc
,eqpmt_act_cost_to_date_fc
,eqpmt_act_rawcost_to_date_pc
,eqpmt_act_rawcost_to_date_fc
,eqpmt_etc_effort
,eqpmt_etc_cost_pc
,eqpmt_etc_cost_fc
,eqpmt_etc_rawcost_pc
,eqpmt_etc_rawcost_fc
,oth_quantity_to_date
,oth_act_cost_to_date_pc
,oth_act_cost_to_date_fc
,oth_act_rawcost_to_date_pc
,oth_act_rawcost_to_date_fc
,oth_etc_quantity
,oth_etc_cost_pc
,oth_etc_cost_fc
,oth_etc_rawcost_pc
,oth_etc_rawcost_fc
,earned_value
,task_wt_basis_code
,current_flag
,projfunc_cost_rate_type
,projfunc_cost_exchange_rate
,projfunc_cost_rate_date
,proj_cost_rate_type
,proj_cost_exchange_rate
,proj_cost_rate_date
,txn_currency_code
,prog_pa_period_name
,prog_gl_period_name
,base_percent_complete
)
SELECT
PA_PROGRESS_ROLLUP_S.nextval
, p_project_id
, l_tsk_object_id_tab(i)
, l_tsk_object_type_tab(i)
, p_as_of_date
, l_tsk_object_version_id_tab(i)
, sysdate
, l_user_id
, sysdate
, l_user_id
, l_tsk_progress_stat_code_tab(i)
, l_login_id
, l_tsk_roll_comp_percent_tab(i)
, decode(p_progress_mode,'TRANSFER_WP_PC',l_tsk_roll_comp_percent_tab(i),l_tsk_over_percent_comp_tab(i))
-- Bug 4284353 : Used decode above
, l_tsk_est_start_date_tab(i)
, l_tsk_est_finish_date_tab(i)
, l_tsk_actual_start_date_tab(i)
, l_tsk_actual_finish_date_tab(i)
, 1
, l_tsk_deriv_method_tab(i)
, l_tsk_base_prog_stat_code_tab(i)
, l_tsk_eff_roll_prg_st_code_tab(i)
, l_tsk_percent_complete_id_tab(i)
, p_structure_type
, l_tsk_proj_element_id_tab(i)
, l_structure_version_id
, l_tsk_ppl_act_eff_tab(i)
, l_tsk_ppl_act_cost_pc_tab(i)
, l_tsk_ppl_act_cost_fc_tab(i)
, l_tsk_ppl_act_rawcost_pc_tab(i)
, l_tsk_ppl_act_rawcost_fc_tab(i)
, l_tsk_est_rem_effort_tab(i)
, l_tsk_ppl_etc_cost_pc_tab(i)
, l_tsk_ppl_etc_cost_fc_tab(i)
, l_tsk_ppl_etc_rawcost_pc_tab(i)
, l_tsk_ppl_etc_rawcost_fc_tab(i)
, l_tsk_eqpmt_act_effort_tab(i)
, l_tsk_eqpmt_act_cost_pc_tab(i)
, l_tsk_eqpmt_act_cost_fc_tab(i)
, l_tsk_eqpmt_act_rawcost_pc_tab(i)
, l_tsk_eqpmt_act_rawcost_fc_tab(i)
, l_tsk_eqpmt_etc_effort_tab(i)
, l_tsk_eqpmt_etc_cost_pc_tab(i)
, l_tsk_eqpmt_etc_cost_fc_tab(i)
, l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, l_tsk_oth_quantity_tab(i)
, l_tsk_oth_act_cost_pc_tab(i)
, l_tsk_oth_act_cost_fc_tab(i)
, l_tsk_oth_act_rawcost_pc_tab(i)
, l_tsk_oth_act_rawcost_fc_tab(i)
, l_tsk_oth_etc_quantity_tab(i)
, l_tsk_oth_etc_cost_pc_tab(i)
, l_tsk_oth_etc_cost_fc_tab(i)
, l_tsk_oth_etc_rawcost_pc_tab(i)
, l_tsk_oth_etc_rawcost_fc_tab(i)
, l_tsk_earned_value_tab(i)
, l_tsk_task_wt_basis_code_tab(i)
, l_tsk_current_flag_tab(i)
, l_tsk_pf_cost_rate_type_tab(i)
, l_tsk_pf_cost_exc_rate_tab(i)
, l_tsk_pf_cost_rate_date_tab(i)
, l_tsk_p_cost_rate_type_tab(i)
, l_tsk_p_cost_exc_rate_tab(i)
, l_tsk_p_cost_rate_date_tab(i)
, l_tsk_txn_currency_code_tab(i)
, l_tsk_prog_pa_period_name_tab(i)
, l_tsk_prog_gl_period_name_tab(i)
, l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
FROM
DUAL
WHERE l_tsk_create_required(i) = 'Y';
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
,p_working_wp_prog_flag IN VARCHAR2 := 'N' --maansari7/18 to be passed form apply lp progress to select regular planned amounts to send to schduling api for percent comnplete and earned value calculations.
,p_upd_new_elem_ver_id_flag IN VARCHAR2 := 'Y' -- rtarway, 3951024
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
l_api_name CONSTANT VARCHAR(30) := 'ROLLUP_PVT';
CURSOR cur_reverse_tree_update IS
SELECT proj_element_id, object_id_to1, object_type
FROM
( select object_id_from1, object_id_to1
from pa_object_relationships
where relationship_type ='S'
and object_type_from in ('PA_STRUCTURES','PA_TASKS') -- Bug 6429275
and object_type_to = 'PA_TASKS'
and p_rollup_entire_wbs='N'
start with object_id_to1 = p_task_version_id
and relationship_type = 'S'
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S'
) pobj
, pa_proj_element_versions ppev
WHERE element_version_id = object_id_to1
and p_rollup_entire_wbs='N'
--select structure
UNION
SELECT proj_element_id, element_version_id, object_type
FROM pa_proj_element_versions
WHERE element_version_id = p_structure_version_id
and project_id = p_project_id
and object_type = 'PA_STRUCTURES'
and p_rollup_entire_wbs='N'
UNION
SELECT proj_element_id, element_version_id, object_type
FROM pa_proj_element_versions
WHERE project_id = p_project_id
and parent_structure_version_id = p_structure_version_id
and object_type IN ('PA_TASKS','PA_STRUCTURES')
and p_rollup_entire_wbs='Y'
;
l_tsk_update_required SYSTEM.PA_VARCHAR2_1_TBL_TYPE := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
SELECT pev_schedule_id, record_version_number
FROM pa_proj_elem_ver_schedule
WHERE project_id = p_project_id
AND element_version_id = c_object_version_id;
SELECT scheduled_start_date, scheduled_finish_date
FROM pa_proj_elem_ver_schedule
WHERE PROJECT_ID = c_project_id
AND element_version_id = c_element_version_id;
SELECT 'Y' FROM DUAL
WHERE EXISTS
(SELECT 'xyz'
FROM pa_percent_completes
WHERE project_id = p_project_id
AND task_id = c_task_id
AND object_type = 'PA_DELIVERABLES'
AND trunc(date_computed)<= trunc(p_as_of_date)
AND structure_type = 'WORKPLAN'
AND published_flag = 'Y'
AND PA_PROGRESS_UTILS.get_system_task_status( status_code, 'PA_DELIVERABLES') = 'DLVR_IN_PROGRESS'
);
SELECT STATUS_CODE
FROM PA_PROJ_ELEMENTS
WHERE PROJ_ELEMENT_ID = l_proj_element_id
AND PROJECT_ID = l_project_id;
select lookup_code
from fnd_lookup_values
where attribute4 = c_status_weight
and lookup_type = 'PROGRESS_SYSTEM_STATUS'
and language = 'US'
AND VIEW_APPLICATION_ID = 275 ; -- Bug ref # 6507900;
select project_status_code
from pa_project_statuses
where project_status_weight = c_status_weight
and status_type = 'TASK'
and predefined_flag = 'Y';
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, element_version_id object_id_to1
, ppev.object_type object_type
, nvl(ppev.wbs_level,0) wbs_level -- sridhar_rollup
, to_number( null ) weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id object_id
, ppev.proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCOST_TC
, ppr.OTH_ETC_RAWCOST_PC
, ppr.OTH_ETC_RAWCOST_FC
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag,'N')
BAC_value_self -- bug 4493105
, null earned_value
, to_char(null) task_derivation_method
, ppr.progress_rollup_id
, ppr.record_version_number
-- , element_version_id object_version_id Bug 4651304 : select ppr.object_version_id
, ppr.object_version_id -- Bug 4651304
, ppr.progress_status_code
, ppr.incremental_work_quantity
, ppr.cumulative_work_quantity
-- 4533112 : Added decode to select N and Y only
, decode(ppr.base_progress_status_code, 'Y', 'Y', 'N')
, ppr.EFF_ROLLUP_PROG_STAT_CODE
, ppr.percent_complete_id
, ppr.TASK_WT_BASIS_CODE
, ppr.structure_version_id
,'N' create_required
,'N' update_required
, ppr.base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM pa_proj_element_versions ppev,
pa_progress_rollup ppr,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3 ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--element_version_id IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
temp.object_id = ppev.element_version_id
AND temp.process_number = l_process_number_temp
AND ppev.object_type = 'PA_STRUCTURES'
AND ppr.project_id = ppev.project_id
AND ppr.object_id = ppev.proj_element_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(ppev.project_id,
ppev.proj_element_id, ppev.object_type,p_as_of_date, ppev.element_version_id, p_structure_type, l_structure_version_id, ppev.proj_element_id/* Bug 3764224 */) -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION
-- select tasks
SELECT pobj.object_id_from1
, ppev1.object_type parent_object_type
, pobj.object_id_to1
, ppev2.object_type object_type
, nvl(ppev2.wbs_level,0) wbs_level -- sridhar_rollup
, pobj.weighting_percentage
, ppr.EFF_ROLLUP_PERCENT_COMP rollup_completed_percentage
, ppr.completed_percentage override_percent_complete
, ppr.as_of_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.estimated_start_date
, ppr.estimated_finish_date
, pps1.project_status_weight rollup_weight1 ---rollup progress status code
, pps2.project_status_weight override_weight2 ---override progress status code
, pps3.project_status_weight base_weight3 ---base prog status
, pps4.project_status_weight task_weight4
, ppe.status_code
, ppev2.proj_element_id object_id
, ppev2.proj_element_id
, ppr.PPL_ACT_EFFORT_TO_DATE
, ppr.PPL_ACT_COST_TO_DATE_TC
, ppr.PPL_ACT_COST_TO_DATE_PC
, ppr.PPL_ACT_COST_TO_DATE_FC
, ppr.PPL_ACT_RAWCOST_TO_DATE_TC
, ppr.PPL_ACT_RAWCOST_TO_DATE_PC
, ppr.PPL_ACT_RAWCOST_TO_DATE_FC
, ppr.ESTIMATED_REMAINING_EFFORT
, ppr.PPL_ETC_COST_TC
, ppr.PPL_ETC_COST_PC
, ppr.PPL_ETC_COST_FC
, ppr.PPL_ETC_RAWCOST_TC
, ppr.PPL_ETC_RAWCOST_PC
, ppr.PPL_ETC_RAWCOST_FC
, ppr.EQPMT_ACT_EFFORT_TO_DATE
, ppr.EQPMT_ACT_COST_TO_DATE_TC
, ppr.EQPMT_ACT_COST_TO_DATE_PC
, ppr.EQPMT_ACT_COST_TO_DATE_FC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_TC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_PC
, ppr.EQPMT_ACT_RAWCOST_TO_DATE_FC
, ppr.EQPMT_ETC_EFFORT
, ppr.EQPMT_ETC_COST_TC
, ppr.EQPMT_ETC_COST_PC
, ppr.EQPMT_ETC_COST_FC
, ppr.EQPMT_ETC_RAWCOST_TC
, ppr.EQPMT_ETC_RAWCOST_PC
, ppr.EQPMT_ETC_RAWCOST_FC
, ppr.OTH_QUANTITY_TO_DATE
, ppr.OTH_ACT_COST_TO_DATE_TC
, ppr.OTH_ACT_COST_TO_DATE_PC
, ppr.OTH_ACT_COST_TO_DATE_FC
, ppr.OTH_ACT_RAWCOST_TO_DATE_TC
, ppr.OTH_ACT_RAWCOST_TO_DATE_PC
, ppr.OTH_ACT_RAWCOST_TO_DATE_FC
, ppr.OTH_ETC_QUANTITY
, ppr.OTH_ETC_COST_TC
, ppr.OTH_ETC_COST_PC
, ppr.OTH_ETC_COST_FC
, ppr.OTH_ETC_RAWCOST_TC
, ppr.OTH_ETC_RAWCOST_PC
, ppr.OTH_ETC_RAWCOST_FC
, ppr.CURRENT_FLAG
, ppr.PROJFUNC_COST_RATE_TYPE
, ppr.PROJFUNC_COST_EXCHANGE_RATE
, ppr.PROJFUNC_COST_RATE_DATE
, ppr.PROJ_COST_RATE_TYPE
, ppr.PROJ_COST_EXCHANGE_RATE
, ppr.PROJ_COST_RATE_DATE
, ppr.TXN_CURRENCY_CODE
, ppr.PROG_PA_PERIOD_NAME
, ppr.PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,
'FINANCIAL',p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,
'FINANCIAL',p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag,'N') BAC_value_self -- bug 4493105
, null earned_value
, decode(ppe.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,ppe.base_percent_comp_deriv_code) task_derivation_method
, ppr.progress_rollup_id
, ppr.record_version_number
-- , pobj.object_id_to1 object_version_id Bug 4651304 : select ppr.object_version_id
, ppr.object_version_id -- Bug 4651304
, ppr.progress_status_code
, ppr.incremental_work_quantity
, ppr.cumulative_work_quantity
-- 4533112 : Added decode to select N and Y only
, decode(ppr.base_progress_status_code, 'Y', 'Y', 'N')
, ppr.EFF_ROLLUP_PROG_STAT_CODE
, ppr.percent_complete_id
, ppr.TASK_WT_BASIS_CODE
, ppr.structure_version_id
,'N' create_required
,'N' update_required
, ppr.base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM
pa_object_relationships pobj,
pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_progress_rollup ppr,
pa_proj_elements ppe,
pa_project_statuses pps1,
pa_project_statuses pps2,
pa_project_statuses pps3,
pa_project_statuses pps4,
pa_task_types ttype ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
temp.object_id = pobj.object_id_from1
AND temp.process_number = l_process_number_temp
AND pobj.object_id_from1 = ppev1.element_version_id
AND pobj.object_id_to1 = ppev2.element_version_id
AND pobj.relationship_type = 'S'
AND ppr.project_id = ppev2.project_id
AND ppr.as_of_date = pa_progress_utils.get_max_rollup_asofdate(ppev2.project_id,
ppev2.proj_element_id, ppev2.object_type,p_as_of_date, ppev2.element_version_id, p_structure_type, l_structure_version_id, ppev2.proj_element_id/*Bug 3764224 */) -- FPM Dev CR 3
AND ppr.current_flag <> 'W'
AND ppr.object_id = ppev2.proj_element_id
AND ppr.project_id = ppev2.project_id
AND ppr.object_type = 'PA_TASKS'
AND ppe.proj_element_id = ppev2.proj_element_id
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
AND ppe.project_id = ppev2.project_id
AND ppe.object_type = ppev2.object_type
AND ppev2.object_type = 'PA_TASKS'
AND ppe.object_type = 'PA_TASKS'
AND ppe.link_task_flag <> 'Y' -- 4392189
AND pobj.object_type_to = 'PA_TASKS'
AND pobj.object_type_from IN ('PA_STRUCTURES', 'PA_TASKS')
AND ppe.type_id = ttype.task_type_id
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND ppr.structure_type = p_structure_type
AND ((ppev2.financial_task_flag = 'Y' AND p_structure_type = 'FINANCIAL') OR p_structure_type = 'WORKPLAN') -- Bug 4346483
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION ALL
SELECT to_number(null) object_id_from1
, ppev.object_type parent_object_type
, element_version_id object_id_to1
, ppev.object_type object_type
, nvl(ppev.wbs_level,0) wbs_level -- sridhar_rollup
, to_number( null ) weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_date(null) as_of_date
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev.proj_element_id object_id
, ppev.proj_element_id
, to_number( null ) PPL_ACT_EFFORT_TO_DATE
, to_number( null ) PPL_ACT_COST_TO_DATE_TC
, to_number( null ) PPL_ACT_COST_TO_DATE_PC
, to_number( null ) PPL_ACT_COST_TO_DATE_FC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) ESTIMATED_REMAINING_EFFORT
, to_number( null ) PPL_ETC_COST_TC
, to_number( null ) PPL_ETC_COST_PC
, to_number( null ) PPL_ETC_COST_FC
, to_number( null ) PPL_ETC_RAWCOST_TC
, to_number( null ) PPL_ETC_RAWCOST_PC
, to_number( null ) PPL_ETC_RAWCOST_FC
, to_number( null ) EQPMT_ACT_EFFORT_TO_DATE
, to_number( null ) EQPMT_ACT_COST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_FC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) EQPMT_ETC_EFFORT
, to_number( null ) EQPMT_ETC_COST_TC
, to_number( null ) EQPMT_ETC_COST_PC
, to_number( null ) EQPMT_ETC_COST_FC
, to_number( null ) EQPMT_ETC_RAWCOST_TC
, to_number( null ) EQPMT_ETC_RAWCOST_PC
, to_number( null ) EQPMT_ETC_RAWCOST_FC
, to_number( null ) OTH_QUANTITY_TO_DATE
, to_number( null ) OTH_ACT_COST_TO_DATE_TC
, to_number( null ) OTH_ACT_COST_TO_DATE_PC
, to_number( null ) OTH_ACT_COST_TO_DATE_FC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) OTH_ETC_QUANTITY
, to_number( null ) OTH_ETC_COST_TC
, to_number( null ) OTH_ETC_COST_PC
, to_number( null ) OTH_ETC_COST_FC
, to_number( null ) OTH_ETC_RAWCOST_TC
, to_number( null ) OTH_ETC_RAWCOST_PC
, to_number( null ) OTH_ETC_RAWCOST_FC
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number( null ) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number( null ) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',p_fin_rollup_method), ppev.proj_element_id, ppev.element_version_id, p_structure_type,p_working_wp_prog_flag,'N')
BAC_value_self -- bug 4493105
, null earned_value
, to_char(null) task_derivation_method
, to_number(null) progress_rollup_id
, to_number(null) record_version_number
, element_version_id object_version_id
, to_char(null) progress_status_code
, to_number(null) incremental_work_quantity
, to_number(null) cumulative_work_quantity
-- 4533112 : Added N only
, 'N' base_progress_status_code
, to_char(null) EFF_ROLLUP_PROG_STAT_CODE
, to_number(null) percent_complete_id
, to_char(null) TASK_WT_BASIS_CODE
, to_number(null) structure_version_id
,'N' create_required
,'N' update_required
, to_number(null) base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM pa_proj_element_versions ppev , pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
element_version_id = temp.object_id
AND temp.process_number = l_process_number_temp
AND ppev.object_type = 'PA_STRUCTURES'
AND pa_progress_utils.get_max_rollup_asofdate(ppev.project_id,
ppev.proj_element_id, ppev.object_type,p_as_of_date, ppev.element_version_id, p_structure_type, l_structure_version_id, ppev.proj_element_id/*Bug 3764224 */)
IS NULL
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
UNION
-- select tasks
SELECT pobj.object_id_from1
, ppev1.object_type parent_object_type
, pobj.object_id_to1
, ppev2.object_type object_type
, nvl(ppev2.wbs_level,0) wbs_level -- sridhar_rollup
, pobj.weighting_percentage
, to_number(null) rollup_completed_percentage
, to_number(null) override_percent_complete
, to_date(null) as_of_date
, to_date(null) actual_start_date
, to_date(null) actual_finish_date
, to_date(null) estimated_start_date
, to_date(null) estimated_finish_date
, to_number(null) rollup_weight1 ---rollup progress status code
, to_number(null) override_weight2 ---override progress status code
, to_number(null) base_weight3 --base prog status
, to_number( null ) task_weight4 --task status
, to_char(null) status_code
, ppev2.proj_element_id object_id
, ppev2.proj_element_id
, to_number( null ) PPL_ACT_EFFORT_TO_DATE
, to_number( null ) PPL_ACT_COST_TO_DATE_TC
, to_number( null ) PPL_ACT_COST_TO_DATE_PC
, to_number( null ) PPL_ACT_COST_TO_DATE_FC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) PPL_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) ESTIMATED_REMAINING_EFFORT
, to_number( null ) PPL_ETC_COST_TC
, to_number( null ) PPL_ETC_COST_PC
, to_number( null ) PPL_ETC_COST_FC
, to_number( null ) PPL_ETC_RAWCOST_TC
, to_number( null ) PPL_ETC_RAWCOST_PC
, to_number( null ) PPL_ETC_RAWCOST_FC
, to_number( null ) EQPMT_ACT_EFFORT_TO_DATE
, to_number( null ) EQPMT_ACT_COST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_COST_TO_DATE_FC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) EQPMT_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) EQPMT_ETC_EFFORT
, to_number( null ) EQPMT_ETC_COST_TC
, to_number( null ) EQPMT_ETC_COST_PC
, to_number( null ) EQPMT_ETC_COST_FC
, to_number( null ) EQPMT_ETC_RAWCOST_TC
, to_number( null ) EQPMT_ETC_RAWCOST_PC
, to_number( null ) EQPMT_ETC_RAWCOST_FC
, to_number( null ) OTH_QUANTITY_TO_DATE
, to_number( null ) OTH_ACT_COST_TO_DATE_TC
, to_number( null ) OTH_ACT_COST_TO_DATE_PC
, to_number( null ) OTH_ACT_COST_TO_DATE_FC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_TC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_PC
, to_number( null ) OTH_ACT_RAWCOST_TO_DATE_FC
, to_number( null ) OTH_ETC_QUANTITY
, to_number( null ) OTH_ETC_COST_TC
, to_number( null ) OTH_ETC_COST_PC
, to_number( null ) OTH_ETC_COST_FC
, to_number( null ) OTH_ETC_RAWCOST_TC
, to_number( null ) OTH_ETC_RAWCOST_PC
, to_number( null ) OTH_ETC_RAWCOST_FC
, to_char(null) CURRENT_FLAG
, to_char(null) PROJFUNC_COST_RATE_TYPE
, to_number( null ) PROJFUNC_COST_EXCHANGE_RATE
, to_date(null) PROJFUNC_COST_RATE_DATE
, to_char(null) PROJ_COST_RATE_TYPE
, to_number( null ) PROJ_COST_EXCHANGE_RATE
, to_date(null) PROJ_COST_RATE_DATE
, to_char(null) TXN_CURRENCY_CODE
, to_char(null) PROG_PA_PERIOD_NAME
, to_char(null) PROG_GL_PERIOD_NAME
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',
p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag) BAC_value
, pa_progress_utils.Get_BAC_Value(ppev2.project_id, decode(p_structure_type,'WORKPLAN',p_wp_rollup_method,'FINANCIAL',
p_fin_rollup_method), ppev2.proj_element_id, ppev2.parent_structure_version_id,
p_structure_type,p_working_wp_prog_flag,'N') BAC_value_self -- bug 4493105
, null earned_value
, decode(ppe.base_percent_comp_deriv_code, null, ttype.base_percent_comp_deriv_code,'^',ttype.base_percent_comp_deriv_code,ppe.base_percent_comp_deriv_code) task_derivation_method
, to_number(null) progress_rollup_id
, to_number(null) record_version_number
, pobj.object_id_to1 object_version_id
, to_char(null) progress_status_code
, to_number(null) incremental_work_quantity
, to_number(null) cumulative_work_quantity
-- 4533112 : Added N only
, 'N' base_progress_status_code
, to_char(null) EFF_ROLLUP_PROG_STAT_CODE
, to_number(null) percent_complete_id
, to_char(null) TASK_WT_BASIS_CODE
, to_number(null) structure_version_id
,'N' create_required
,'N' update_required
, to_number(null) base_percent_complete -- 4392189 : Program Reporting Changes - Phase 2
FROM
pa_object_relationships pobj,
pa_proj_element_versions ppev1,
pa_proj_element_versions ppev2,
pa_proj_elements ppe,
pa_project_statuses pps4,
pa_task_types ttype ,
pa_proj_rollup_temp temp
WHERE --BUG 4355204 rtarway, removed in clause and added pa_proj_rollup_temp in FROM
--IN (SELECT object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
pobj.object_id_from1 = temp.object_id
AND temp.process_number = l_process_number_temp
AND pobj.object_id_from1 = ppev1.element_version_id
AND pobj.object_id_to1 = ppev2.element_version_id
AND pobj.relationship_type = 'S'
AND ppe.proj_element_id = ppev2.proj_element_id
AND ppe.status_code = pps4.project_status_code(+)
AND ppe.project_id = ppev2.project_id
AND ppe.object_type = ppev2.object_type
AND ppev2.object_type = 'PA_TASKS'
AND ppe.object_type = 'PA_TASKS'
AND ppe.link_task_flag <> 'Y' -- 4392189
AND pobj.object_type_to = 'PA_TASKS'
AND pobj.object_type_from IN ('PA_STRUCTURES', 'PA_TASKS')
AND ppe.type_id = ttype.task_type_id
AND pa_progress_utils.get_max_rollup_asofdate(ppev2.project_id,
ppev2.proj_element_id, ppev2.object_type,p_as_of_date, ppev2.element_version_id, p_structure_type, l_structure_version_id, ppev2.proj_element_id/*Bug 3764224 */)
IS NULL
AND ( (ppev2.financial_task_flag = 'Y' AND p_structure_type = 'FINANCIAL') OR p_structure_type = 'WORKPLAN') -- Bug 4346483
AND temp.object_type = 'PA_TASKS' -- cklee bug: 6610612
order by 5 desc ; --sridhar_rollup
SELECT a.wbs_element_version_id
, a.rate_based_flag
, a.resource_class_code
, a.resource_assignment_id
, a.total_plan_quantity planned_quantity
, a.total_project_burdened_cost planned_bur_cost_proj_cur
, a.resource_list_member_id
from pa_resource_assignments a
WHERE a.wbs_element_version_id = c_task_ver_id
AND 1 = 2 -- sridhar_rollup
AND a.project_id = p_project_id
AND a.task_id = c_task_id
-- AND a.ta_display_flag = 'Y' --Bug 4323537
;
SELECT ppr.*
FROM pa_progress_rollup ppr
WHERE ppr.project_id = p_project_id
AND ppr.object_id = c_object_id
AND ppr.proj_element_id = c_proj_element_id
AND ppr.object_type = 'PA_ASSIGNMENTS'
AND ppr.current_flag <> 'W'
AND ppr.structure_type = p_structure_type
AND ppr.as_of_date <= p_as_of_date
AND ((l_published_structure = 'Y' AND ppr.structure_version_id is null) OR (l_published_structure = 'N' AND ppr.structure_version_id = p_structure_version_id))
AND rownum =1
ORDER BY as_of_date desc
;
SELECT obj.object_type_from
, 'PA_TASKS' parent_object_type
, obj.object_id_to2 object_id
, obj.object_id_to1
, obj.object_id_from1
, 'PA_DELIVERABLES' object_type
, ppr.actual_finish_date
, ppr.as_of_date
, ppr.completed_percentage
, ppr.STRUCTURE_TYPE
, ppr.PROJ_ELEMENT_ID
, ppr.STRUCTURE_VERSION_ID
, ppr.TASK_WT_BASIS_CODE
, elem.progress_weight weighting_percentage
, ppr.base_percent_complete
, pps2.project_status_weight override_weight ---override progress status code
, pps3.project_status_weight base_weight --base prog status
FROM pa_proj_elements elem
, pa_object_relationships obj
, pa_progress_rollup ppr
, pa_project_statuses pps2
, pa_project_statuses pps3
WHERE obj.object_id_from2= c_task_proj_elem_id
AND obj.object_type_from = 'PA_TASKS'
AND obj.object_type_to = 'PA_DELIVERABLES'
AND obj.relationship_type = 'A'
AND obj.relationship_subtype = 'TASK_TO_DELIVERABLE'
AND elem.proj_element_id = obj.object_id_to2
AND elem.object_type = 'PA_DELIVERABLES'
and elem.project_id = p_project_id
-- AND obj.object_id_to1 = ppr.object_version_id(+)
AND ppr.object_type(+) = 'PA_DELIVERABLES'
AND ppr.project_id(+) = c_project_id
AND ppr.object_id(+) = obj.object_id_to2
AND ppr.as_of_date(+) = pa_progress_utils.get_max_rollup_asofdate(c_project_id,
obj.object_id_to2, 'PA_DELIVERABLES',p_as_of_date,obj.object_id_to1, p_structure_type, l_structure_version_id, obj.object_id_from2 /* Bug 3764224 */) -- FPM Dev CR 3
AND ppr.structure_type(+) = p_structure_type
AND ppr.structure_version_id is null -- deliverable progress for working version is not allowed
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.current_flag(+) <> 'W'
;
select distinct object_id_from1
from pa_object_relationships
start with object_id_to1 IN (select object_id from pa_proj_rollup_temp where process_number = l_process_number_temp)
and relationship_type = 'S'
connect by prior object_id_from1 = object_id_to1
and relationship_type = 'S'
MINUS
select object_id object_id_from1 from pa_proj_rollup_temp where process_number = l_process_number_temp
;
select object_id
from pa_proj_rollup_temp where process_number = l_process_number_temp
;
SELECT decode(status.project_system_status_code, 'STRUCTURE_PUBLISHED','Y','N')
FROM pa_proj_elem_ver_structure str
, pa_project_statuses status
where str.element_version_id = c_structure_version_id
AND str.project_id = c_project_id
AND str.status_code = status.project_status_code;
SELECT element_version_id
FROM pa_proj_element_versions
where project_id = c_project_id
and object_type = 'PA_TASKS'
AND parent_structure_version_id = c_structure_version_id
AND wbs_level = (Select max(wbs_level)
From pa_proj_element_versions
where project_id = c_project_id
and object_type = 'PA_TASKS'
AND parent_structure_version_id = c_structure_version_id);
select 'Y' from pa_proj_element_versions ppev1
where ppev1.parent_structure_version_id = c_structure_ver_id
and ppev1.proj_element_id = (select proj_element_id from pa_proj_element_versions ppev2
where ppev2.element_version_id = c_task_version_id
and ppev2.project_id = p_project_id);
select /*+ leading (ROLLUP) */ ppr.as_of_date, ver2.proj_element_id child_task_id, ver2.element_version_id child_task_ver_id
from pa_object_relationships obj
, pa_proj_element_versions ver
, pa_progress_rollup ppr
, pa_proj_rollup_temp rollup
, pa_proj_element_versions ver2
where rollup.object_id = obj.object_id_to1
AND rollup.process_number = l_process_number_temp
AND obj.relationship_type = 'S'
AND obj.object_type_from IN ('PA_STRUCTURES' ,'PA_TASKS')
AND obj.object_type_to = 'PA_TASKS'
AND obj.object_id_from1= ver.element_version_id
AND ver.project_id = p_project_id
AND ver.object_type IN ('PA_TASKS', 'PA_STRUCTURES')
AND ver.project_id = ppr.project_id
AND ppr.as_of_date > p_as_of_date
AND ppr.object_id = ver.proj_element_id
AND ppr.current_flag = 'Y'
AND ppr.proj_element_id = ver.proj_element_id
AND ppr.structure_type = p_structure_type
AND ppr.structure_version_id is null
AND obj.object_id_to1 = ver2.element_version_id
AND ver2.project_id = p_project_id
AND ver2.object_type = 'PA_TASKS'
AND rollup.object_type = 'PA_TASKS' -- cklee bug: 6610612
order by ppr.as_of_date;
SELECT
ppv2.project_id sub_project_id
,ppv2.element_version_id sub_structure_ver_id
,ppv2.proj_element_id sub_proj_element_id
, pa_progress_utils.Get_BAC_Value(ppv2.project_id, c_task_per_comp_deriv_method, ppv2.proj_element_id, ppv2.parent_structure_version_id,
'WORKPLAN','N') sub_project_bac_value
FROM
pa_proj_element_versions ppv2
,pa_proj_elem_ver_structure ppevs2
,pa_object_relationships por1
,pa_object_relationships por2
WHERE
por1.object_id_from1 = c_task_version_id
AND por1.object_id_to1 = por2.object_id_from1
AND por2.object_id_to1 = ppv2.element_version_id
AND ppv2.object_type = 'PA_STRUCTURES'
-- AND por2.relationship_type in ( 'LW', 'LF' )
AND por2.relationship_type = 'LW'
AND ppevs2.element_version_id = ppv2.element_version_id
AND ppevs2.project_id = ppv2.project_id
AND ppevs2.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs2.latest_eff_published_flag = 'Y';
SELECT
ppr.progress_rollup_id
,ppr.actual_start_date
,ppr.actual_finish_date
,ppr.estimated_start_date
,ppr.estimated_finish_date
,pps1.project_status_weight rollup_weight1
,pps2.project_status_weight override_weight2
,pps3.project_status_weight base_weight3
,pps4.project_status_weight task_weight4
-- Bug 4506009 --,decode(c_task_per_comp_deriv_method,'EFFORT', ( nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0)),
-- ( nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0))) earned_value
,decode(c_task_per_comp_deriv_method,'EFFORT', nvl(ppr.PPL_ACT_EFFORT_TO_DATE,0) + nvl(ppr.estimated_remaining_effort,0) + nvl(ppr.EQPMT_ACT_EFFORT_TO_DATE,0) + nvl(ppr.EQPMT_ETC_EFFORT,0)
, nvl(ppr.OTH_ACT_COST_TO_DATE_PC,0) + nvl(ppr.OTH_ETC_COST_PC,0) + nvl(ppr.PPL_ACT_COST_TO_DATE_PC,0) + nvl(ppr.PPL_ETC_COST_PC,0) + nvl(ppr.EQPMT_ACT_COST_TO_DATE_PC,0) + nvl(ppr.EQPMT_ETC_COST_PC,0)) bac_value
, nvl(ppr.completed_percentage, ppr.eff_rollup_percent_comp) completed_percentage --Bug 4506009
FROM
pa_progress_rollup ppr
,pa_project_statuses pps1
,pa_project_statuses pps2
,pa_project_statuses pps3
,pa_project_statuses pps4
,pa_proj_elements ppe
WHERE
1 = 2 and --sridhar_rollup
ppr.project_id = c_sub_project_id
AND ppe.project_id = c_sub_project_id
AND ppe.object_type = 'PA_STRUCTURES'
AND ppe.proj_element_id = c_sub_proj_element_id
AND ppr.object_id = c_sub_proj_element_id
AND ppr.object_type = 'PA_STRUCTURES'
AND ppr.structure_version_id is null
AND ppr.structure_type = 'WORKPLAN'
AND ppr.current_flag IN ('Y', 'N')
AND ppr.as_of_date <= c_as_of_date
AND ppr.EFF_ROLLUP_PROG_STAT_CODE = pps1.project_status_code(+)
AND ppr.progress_status_code = pps2.project_status_code(+)
AND ppr.base_progress_status_code = pps3.project_status_code(+)
AND ppe.status_code = pps4.project_status_code(+)
order by as_of_date desc
;
SELECT 'Y'
FROM pa_object_relationships
WHERE --relationship_type in ( 'LW', 'LF' )
relationship_type = 'LW'
AND object_id_from1 IN
(SELECT object_id_to1
FROM pa_object_relationships
START WITH object_id_from1 = c_task_version_id
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_to1 = object_id_from1
AND relationship_type = 'S')
;
select scheduled_start_date, scheduled_finish_date from pa_proj_elem_ver_schedule a
where a.project_id = p_project_id
AND a.proj_element_id = c_task_id and a.element_version_id = c_task_ver_id;
SELECT object_id_from1
FROM pa_object_relationships
WHERE relationship_type = 'S'
START WITH object_id_to1 in (select p.element_version_id
from PA_PROJ_ELEMENT_VERSIONS p where p.project_id = c_project_id and defer_code in ( 'P','S'))
AND relationship_type = 'S'
CONNECT BY PRIOR object_id_from1 = object_id_to1
AND relationship_type = 'S';
SELECT /*+ CONNECT_BY_FILTERING */ element_version_id object_id_from1
FROM PA_PROJ_ELEMENTS_TMP r
START WITH r.TASK_ID in ( select distinct parent_task_id from PA_PROJ_ELEMENTS_TMP t1 where t1.defer_code = 'P' ) CONNECT BY
r.TASK_ID = prior r.PARENT_TASK_ID;
SELECT project_currency_code, org_id INTO l_prj_currency_code, l_org_id FROM pa_projects_all WHERE project_id = p_project_id;
SELECT PA_PROJ_ROLLUP_TEMP_S.nextval
INTO l_process_number_temp FROM dual;
/*INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM pa_proj_element_versions
WHERE project_id = p_project_id
AND parent_structure_version_id = p_structure_version_id
AND PA_PROJ_ELEMENTS_UTILS.is_summary_task_or_structure(element_version_id) = 'Y'
AND object_type = 'PA_TASKS'
UNION
SELECT l_process_number_temp, p_structure_version_id object_id_from1, 'PA_TASKS', 1
FROM dual;*/
/*INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r
START WITH r.TASK_ID in ( select distinct parent_task_id from PA_PROJ_ELEMENTS_TMP t1 where t1.defer_code = 'P' ) CONNECT BY
r.TASK_ID = prior r.PARENT_TASK_ID
UNION
SELECT l_process_number_temp, p_structure_version_id object_id_from1, 'PA_TASKS', 1
FROM dual
UNION
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r where connect_by_isleaf = 0
START WITH r.TASK_ID in ( select distinct task_id from PA_PROJ_ELEMENTS_TMP t1 where t1.defer_code = 'S' ) CONNECT BY
prior r.TASK_ID = r.PARENT_TASK_ID
UNION
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r where r.defer_code = 'S' ;*/
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT /*+ CONNECT_BY_FILTERING */ l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r
START WITH r.TASK_ID in ( select distinct parent_task_id from PA_PROJ_ELEMENTS_TMP t1 where t1.defer_code in ( 'P','C') ) CONNECT BY
r.TASK_ID = prior r.PARENT_TASK_ID
UNION
SELECT l_process_number_temp, p_structure_version_id object_id_from1, 'PA_TASKS', 1
FROM dual
UNION
SELECT /*+ CONNECT_BY_FILTERING */ l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r where connect_by_isleaf = 0
START WITH r.TASK_ID in ( select distinct task_id from PA_PROJ_ELEMENTS_TMP t1 where t1.defer_code in ('D', 'S' )) CONNECT BY
r.TASK_ID = Prior r.PARENT_TASK_ID
UNION
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r where r.defer_code in ('D','S')
UNION
SELECT l_process_number_temp, element_version_id object_id_from1, 'PA_TASKS', 1
FROM PA_PROJ_ELEMENTS_TMP r where r.task_id in ( select distinct tt.top_task_id from PA_PROJ_ELEMENTS_TMP tt where tt.defer_code in ('D','S','C','P') ) ;
l_tmp_prog.delete;
l_prog_obj.delete;
l_mass_rollup_prog_rec_tab.delete;
l_mass_rollup_prog_rec_tab.delete;
,l_tsk_update_required
,l_tsk_base_percent_comp_tab -- 4392189 : Program Reporting Changes - Phase 2
;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
l_defer_arr_task_id.delete;
l_asgn_task_version_id_tab.delete;
l_asgn_rate_based_flag_tab.delete;
l_asgn_resource_class_code_tab.delete;
l_asgn_res_assignment_id_tab.delete;
l_asgn_planned_quantity_tab.delete;
l_asgn_plan_bur_cost_pc_tab.delete;
l_asgn_res_list_member_id_tab.delete;
-- Update to happen only version is disabled or on a working version when version enabled
IF (l_wp_version_enabled_flag = 'N'
OR (l_wp_version_enabled_flag = 'Y'AND l_asgn_progress_rec.structure_version_id IS NOT NULL) ) THEN
UPDATE PA_PROGRESS_ROLLUP
SET ACTUAL_FINISH_DATE = NULL
WHERE progress_rollup_id = l_asgn_progress_rec.progress_rollup_id;
INSERT INTO pa_proj_rollup_temp(process_number, object_id, object_type, wbs_level)
SELECT l_process_number_temp, p_task_version_id, 'PA_TASKS', 1
FROM dual;
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_exists_tab(i), 1);
l_mass_rollup_prog_exists_tab.delete;
INSERT INTO PA_PROJ_ROLLUP_TEMP(
PROCESS_NUMBER,
OBJECT_TYPE,
OBJECT_ID,
wbs_level)
VALUES(l_process_number_temp, 'PA_TASKS',l_mass_rollup_prog_exists_tab(i), 1);
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PVT', x_Msg => 'Doing UPDATE_ROLLUP_PVT', x_Log_Level=> 3);
FOR cur_reverse_tree_rec in cur_reverse_tree_update LOOP
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_PROGRESS_PVT.ROLLUP_PVT', x_Msg => 'cur_reverse_tree_rec.object_id_to1='||cur_reverse_tree_rec.object_id_to1, x_Log_Level=> 3);
SELECT 'Y' into l_child_rollup_rec_exists
FROM dual
WHERE exists
(
SELECT 'xyz'
from pa_proj_rollup_temp
WHERE object_id = cur_reverse_tree_rec.object_id_to1
and process_number = l_process_number_temp
);
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
PERIOD_NAME
, ACT_PRJ_BRDN_COST-ACT_PRJ_EQUIP_BRDN_COST-ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_LABOR_BRDN_COST
, ACT_PRJ_EQUIP_BRDN_COST
, ACT_POU_BRDN_COST-ACT_POU_LABOR_BRDN_COST-ACT_POU_EQUIP_BRDN_COST
, ACT_POU_LABOR_BRDN_COST
, ACT_POU_EQUIP_BRDN_COST
, ACT_LABOR_HRS
, ACT_EQUIP_HRS
, ETC_PRJ_BRDN_COST-ETC_PRJ_EQUIP_BRDN_COST-ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_LABOR_BRDN_COST
, ETC_PRJ_EQUIP_BRDN_COST
, ETC_POU_BRDN_COST-ETC_POU_LABOR_BRDN_COST-ETC_POU_EQUIP_BRDN_COST
, ETC_POU_LABOR_BRDN_COST
, ETC_POU_EQUIP_BRDN_COST
, ETC_LABOR_HRS
, ETC_EQUIP_HRS
, ACT_PRJ_RAW_COST-ACT_PRJ_EQUIP_RAW_COST-ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_LABOR_RAW_COST
, ACT_PRJ_EQUIP_RAW_COST
, ACT_POU_RAW_COST-ACT_POU_LABOR_RAW_COST-ACT_POU_EQUIP_RAW_COST
, ACT_POU_LABOR_RAW_COST
, ACT_POU_EQUIP_RAW_COST
, ETC_PRJ_RAW_COST-ETC_PRJ_EQUIP_RAW_COST-ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_LABOR_RAW_COST
, ETC_PRJ_EQUIP_RAW_COST
, ETC_POU_RAW_COST-ETC_POU_LABOR_RAW_COST-ETC_POU_EQUIP_RAW_COST
, ETC_POU_LABOR_RAW_COST
, ETC_POU_EQUIP_RAW_COST
, LABOR_HOURS
, EQUIPMENT_HOURS
, POU_LABOR_BRDN_COST
, PRJ_LABOR_BRDN_COST
, POU_EQUIP_BRDN_COST
, PRJ_EQUIP_BRDN_COST
, POU_BRDN_COST - ( POU_EQUIP_BRDN_COST + POU_LABOR_BRDN_COST )
, PRJ_BRDN_COST - ( PRJ_EQUIP_BRDN_COST + PRJ_LABOR_BRDN_COST )
, POU_LABOR_RAW_COST
, PRJ_LABOR_RAW_COST
, POU_EQUIP_RAW_COST
, PRJ_EQUIP_RAW_COST
, POU_RAW_COST - ( POU_EQUIP_RAW_COST + POU_LABOR_RAW_COST )
, PRJ_RAW_COST - ( PRJ_EQUIP_RAW_COST + PRJ_LABOR_RAW_COST )
INTO
l_PERIOD_NAME
, l_OTH_ACT_COST_TO_DATE_PC
, l_PPL_ACT_COST_TO_DATE_PC
, l_EQPMT_ACT_COST_TO_DATE_PC
, l_OTH_ACT_COST_TO_DATE_FC
, l_PPL_ACT_COST_TO_DATE_FC
, l_EQPMT_ACT_COST_TO_DATE_FC
, l_PPL_ACT_EFFORT_TO_DATE
, l_EQPMT_ACT_EFFORT_TO_DATE
, l_ETC_Cost_PC
, l_PPL_ETC_COST_PC
, l_EQPMT_ETC_COST_PC
, l_ETC_Cost_FC
, l_PPL_ETC_COST_FC
, l_EQPMT_ETC_COST_FC
, l_remaining_effort1
, l_EQPMT_ETC_EFFORT
, l_OTH_ACT_RAWCOST_TO_DATE_PC
, l_PPL_ACT_RAWCOST_TO_DATE_PC
, l_EQPMT_ACT_RAWCOST_TO_DATE_PC
, l_OTH_ACT_RAWCOST_TO_DATE_FC
, l_PPL_ACT_RAWCOST_TO_DATE_FC
, l_EQPMT_ACT_RAWCOST_TO_DATE_FC
, l_ETC_RAWCost_PC
, l_PPL_ETC_RAWCOST_PC
, l_EQPMT_ETC_RAWCOST_PC
, l_ETC_RAWCost_FC
, l_PPL_ETC_RAWCOST_FC
, l_EQPMT_ETC_RAWCOST_FC
, l_LABOR_HOURS
, l_EQUIPMENT_HOURS
, l_POU_LABOR_BRDN_COST
, l_PRJ_LABOR_BRDN_COST
, l_POU_EQUIP_BRDN_COST
, l_PRJ_EQUIP_BRDN_COST
, l_POU_OTH_BRDN_COST
, l_PRJ_OTH_BRDN_COST
, l_POU_LABOR_RAW_COST
, l_PRJ_LABOR_RAW_COST
, l_POU_EQUIP_RAW_COST
, l_PRJ_EQUIP_RAW_COST
, l_POU_OTH_RAW_COST
, l_PRJ_OTH_RAW_COST
FROM PJI_FM_XBS_ACCUM_TMP1
WHERE project_id = p_project_id
AND struct_version_id = p_structure_version_id
AND project_element_id = l_task_id -- sridhar_rollup cur_reverse_tree_rec.proj_element_id
AND plan_version_id > 0
AND txn_currency_code is null
AND calendar_type = 'A'
AND res_list_member_id is null;
UPDATE pa_proj_elements
SET status_code = l_status_code
WHERE project_id = p_project_id
/* AND proj_element_id = cur_reverse_tree_rec.proj_element_id; */ -- sridhar_rollup
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
/* -- sridhar_rollup
WHERE object_id = cur_reverse_tree_rec.proj_element_id
AND object_Type = cur_reverse_tree_rec.object_Type ---4743866
*/
WHERE object_id = l_defer_arr_task_id(l_rollup_table1(i).object_id) -- sridhar_rollup
AND object_Type = l_rollup_table1(i).object_Type -- sridhar_rollup
AND project_id = p_project_id
--AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED', 'COMPLETED' )
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' ) -- 02/06/04 Satish
AND structure_type = p_structure_type -- FPM Dev CR 3
AND current_flag = 'N' and published_flag = 'N';
UPDATE pa_percent_completes
SET status_code = l_status_code
, actual_start_date = l_actual_start_date -- Bug 3956299
, actual_finish_date = l_actual_finish_date -- Bug 3956299
WHERE object_id = l_defer_arr_task_id(l_rollup_table1(i).object_id) -- sridhar_rollup
AND object_Type = l_rollup_table1(i).object_Type ---4743866 -- sridhar_rollup
AND project_id = p_project_id
AND PA_PROGRESS_UTILS.get_system_task_status( status_code ) NOT IN ( 'CANCELLED' ) -- 02/06/04 Satish
AND structure_type = p_structure_type -- FPM Dev CR 3
AND published_flag = 'Y' ---4743866
AND current_flag = 'Y'
AND trunc(date_computed) = trunc(p_as_of_date);
-- table in case of update, in case of insert, use the new object version id
-- Commented below code and added new condition
--IF p_upd_new_elem_ver_id_flag = 'Y' THEN
-- l_tsk_object_version_id_tab(task_index) := l_rollup_table1(i).object_id;
-- In early Rollup API, there used to be call of PA_TASK_PUB1.update_schedule_version API
-- For performance changes, it was removed and replaced with direct update statement
-- The follwoing portion for dirty schedule was missing out.
IF PA_PROJECT_STRUCTURE_UTILS.CHECK_THIRD_PARTY_SCH_FLAG(p_project_id)= 'Y'
THEN
PA_PROJECT_STRUCTURE_PVT1.update_sch_dirty_flag(
p_structure_version_id => p_structure_version_id
,p_dirty_flag => 'Y'
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data);
UPDATE pa_proj_elem_ver_schedule
SET ACTUAL_START_DATE = l_actual_start_date
, ACTUAL_FINISH_DATE = l_actual_finish_date
, ESTIMATED_START_DATE = l_rollup_table1(i).start_date2
, ESTIMATED_FINISH_DATE = l_rollup_table1(i).finish_date2
, record_version_number = record_version_number+1
, scheduled_start_date = l_rollup_table1(i).start_date3
, scheduled_finish_date = l_rollup_table1(i).finish_date3
-- 5119716 Begin
, estimated_duration = trunc(l_rollup_table1(i).finish_date2) - trunc(l_rollup_table1(i).start_date2) + 1
, actual_duration = trunc(l_actual_finish_date) - trunc(l_actual_start_date) + 1
-- 5119716 End
, last_updated_by = l_user_id
, last_update_date= sysdate
, last_update_login = l_login_id
WHERE project_id = p_project_id
AND element_version_id = l_rollup_table1(i).object_id;
UPDATE pa_projects_all
SET actual_start_date = l_rollup_table1(i).start_date1,
actual_finish_date = l_rollup_table1(i).finish_date1
WHERE project_id = p_project_id;
l_tsk_update_required(task_index):='Y';
SELECT percent_complete_id
INTO l_percent_complete_id
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = l_defer_arr_task_id(l_rollup_table1(i).object_id) -- sridhar_rollup
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = p_structure_type
AND date_computed = ( SELECT max(date_computed)
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = l_defer_arr_task_id(l_rollup_table1(i).object_id) -- sridhar_rollup
AND object_Type = l_rollup_table1(i).object_Type
AND structure_type = p_structure_type
AND date_computed <= p_as_of_date);
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = p_project_id
/* -- sridhar_rollup
AND object_id = cur_reverse_tree_rec.proj_element_id
*/
AND object_id = l_defer_arr_task_id(l_rollup_table1(i).object_id) -- sridhar_rollup
AND object_type = l_rollup_table1(i).object_type
AND current_flag <> 'W'
AND structure_type = p_structure_type
AND ((l_published_structure = 'Y' AND structure_version_id is null) OR (l_published_structure = 'N' AND structure_version_id = p_structure_version_id));
UPDATE pa_progress_rollup
SET
object_version_id = l_tsk_object_version_id_tab(i)
, last_update_date = sysdate
, last_updated_by = l_user_id
, last_update_login = l_login_id
, eff_rollup_percent_comp = l_tsk_roll_comp_percent_tab(i)
, completed_percentage = decode(p_progress_mode,'TRANSFER_WP_PC', l_tsk_roll_comp_percent_tab(i), completed_percentage)
-- Bug 4284353 : Used decode above
, estimated_start_date = l_tsk_est_start_date_tab(i)
, estimated_finish_date = l_tsk_est_finish_date_tab(i)
, actual_start_date = l_tsk_actual_start_date_tab(i)
, actual_finish_date = l_tsk_actual_finish_date_tab(i)
, record_version_number = record_version_number +1
, base_percent_comp_deriv_code = l_tsk_deriv_method_tab(i)
, base_progress_status_code = l_tsk_base_prog_stat_code_tab(i)
, eff_rollup_prog_stat_code = l_tsk_eff_roll_prg_st_code_tab(i)
, percent_complete_id = l_tsk_percent_complete_id_tab(i)
, ppl_act_effort_to_date = l_tsk_ppl_act_eff_tab(i)
, ppl_act_cost_to_date_pc = l_tsk_ppl_act_cost_pc_tab(i)
, ppl_act_cost_to_date_fc = l_tsk_ppl_act_cost_fc_tab(i)
, ppl_act_rawcost_to_date_pc = l_tsk_ppl_act_rawcost_pc_tab(i)
, ppl_act_rawcost_to_date_fc = l_tsk_ppl_act_rawcost_fc_tab(i)
, estimated_remaining_effort = l_tsk_est_rem_effort_tab(i)
, ppl_etc_cost_pc = l_tsk_ppl_etc_cost_pc_tab(i)
, ppl_etc_cost_fc = l_tsk_ppl_etc_cost_fc_tab(i)
, ppl_etc_rawcost_pc = l_tsk_ppl_etc_rawcost_pc_tab(i)
, ppl_etc_rawcost_fc = l_tsk_ppl_etc_rawcost_fc_tab(i)
, eqpmt_act_effort_to_date = l_tsk_eqpmt_act_effort_tab(i)
, eqpmt_act_cost_to_date_pc = l_tsk_eqpmt_act_cost_pc_tab(i)
, eqpmt_act_cost_to_date_fc = l_tsk_eqpmt_act_cost_fc_tab(i)
, eqpmt_act_rawcost_to_date_pc = l_tsk_eqpmt_act_rawcost_pc_tab(i)
, eqpmt_act_rawcost_to_date_fc = l_tsk_eqpmt_act_rawcost_fc_tab(i)
, eqpmt_etc_effort = l_tsk_eqpmt_etc_effort_tab(i)
, eqpmt_etc_cost_pc = l_tsk_eqpmt_etc_cost_pc_tab(i)
, eqpmt_etc_cost_fc = l_tsk_eqpmt_etc_cost_fc_tab(i)
, eqpmt_etc_rawcost_pc = l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, eqpmt_etc_rawcost_fc = l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, oth_act_cost_to_date_pc = l_tsk_oth_act_cost_pc_tab(i)
, oth_act_cost_to_date_fc = l_tsk_oth_act_cost_fc_tab(i)
, oth_act_rawcost_to_date_pc = l_tsk_oth_act_rawcost_pc_tab(i)
, oth_act_rawcost_to_date_fc = l_tsk_oth_act_rawcost_fc_tab(i)
, oth_etc_cost_pc= l_tsk_oth_etc_cost_pc_tab(i)
, oth_etc_cost_fc = l_tsk_oth_etc_cost_fc_tab(i)
, oth_etc_rawcost_pc = l_tsk_oth_etc_rawcost_pc_tab(i)
, oth_etc_rawcost_fc = l_tsk_oth_etc_rawcost_fc_tab(i)
, earned_value = l_tsk_earned_value_tab(i)
, task_wt_basis_code = l_tsk_task_wt_basis_code_tab(i)
, base_percent_complete = l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
WHERE l_tsk_update_required(i) = 'Y'
AND progress_rollup_id = l_tsk_progress_rollup_id_tab(i);
UPDATE pa_progress_rollup
SET
object_version_id = l_tsk_object_version_id_tab(i)
, last_update_date = sysdate
, last_updated_by = l_user_id
, last_update_login = l_login_id
, eff_rollup_percent_comp = l_tsk_roll_comp_percent_tab(i)
, estimated_start_date = l_tsk_est_start_date_tab(i)
, estimated_finish_date = l_tsk_est_finish_date_tab(i)
, actual_start_date = l_tsk_actual_start_date_tab(i)
, actual_finish_date = l_tsk_actual_finish_date_tab(i)
, record_version_number = record_version_number +1
, base_percent_comp_deriv_code = l_tsk_deriv_method_tab(i)
, base_progress_status_code = l_tsk_base_prog_stat_code_tab(i)
, eff_rollup_prog_stat_code = l_tsk_eff_roll_prg_st_code_tab(i)
, percent_complete_id = l_tsk_percent_complete_id_tab(i)
, ppl_act_effort_to_date = l_tsk_ppl_act_eff_tab(i)
, ppl_act_cost_to_date_pc = l_tsk_ppl_act_cost_pc_tab(i)
, ppl_act_cost_to_date_fc = l_tsk_ppl_act_cost_fc_tab(i)
, ppl_act_rawcost_to_date_pc = l_tsk_ppl_act_rawcost_pc_tab(i)
, ppl_act_rawcost_to_date_fc = l_tsk_ppl_act_rawcost_fc_tab(i)
, estimated_remaining_effort = l_tsk_est_rem_effort_tab(i)
, ppl_etc_cost_pc = l_tsk_ppl_etc_cost_pc_tab(i)
, ppl_etc_cost_fc = l_tsk_ppl_etc_cost_fc_tab(i)
, ppl_etc_rawcost_pc = l_tsk_ppl_etc_rawcost_pc_tab(i)
, ppl_etc_rawcost_fc = l_tsk_ppl_etc_rawcost_fc_tab(i)
, eqpmt_act_effort_to_date = l_tsk_eqpmt_act_effort_tab(i)
, eqpmt_act_cost_to_date_pc = l_tsk_eqpmt_act_cost_pc_tab(i)
, eqpmt_act_cost_to_date_fc = l_tsk_eqpmt_act_cost_fc_tab(i)
, eqpmt_act_rawcost_to_date_pc = l_tsk_eqpmt_act_rawcost_pc_tab(i)
, eqpmt_act_rawcost_to_date_fc = l_tsk_eqpmt_act_rawcost_fc_tab(i)
, eqpmt_etc_effort = l_tsk_eqpmt_etc_effort_tab(i)
, eqpmt_etc_cost_pc = l_tsk_eqpmt_etc_cost_pc_tab(i)
, eqpmt_etc_cost_fc = l_tsk_eqpmt_etc_cost_fc_tab(i)
, eqpmt_etc_rawcost_pc = l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, eqpmt_etc_rawcost_fc = l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, oth_act_cost_to_date_pc = l_tsk_oth_act_cost_pc_tab(i)
, oth_act_cost_to_date_fc = l_tsk_oth_act_cost_fc_tab(i)
, oth_act_rawcost_to_date_pc = l_tsk_oth_act_rawcost_pc_tab(i)
, oth_act_rawcost_to_date_fc = l_tsk_oth_act_rawcost_fc_tab(i)
, oth_etc_cost_pc= l_tsk_oth_etc_cost_pc_tab(i)
, oth_etc_cost_fc = l_tsk_oth_etc_cost_fc_tab(i)
, oth_etc_rawcost_pc = l_tsk_oth_etc_rawcost_pc_tab(i)
, oth_etc_rawcost_fc = l_tsk_oth_etc_rawcost_fc_tab(i)
, earned_value = l_tsk_earned_value_tab(i)
, task_wt_basis_code = l_tsk_task_wt_basis_code_tab(i)
, base_percent_complete = l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
WHERE l_tsk_update_required(i) = 'Y'
AND project_id = p_project_id
AND object_id = l_tsk_object_id_tab(i)
AND proj_element_id = l_tsk_proj_element_id_tab(i)
AND object_type = l_tsk_object_type_tab(i)
AND as_of_date >= p_as_of_date
AND current_flag = 'W'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null;
INSERT INTO pa_progress_rollup
(
progress_rollup_id
,project_id
,object_id
,object_type
,as_of_date
,object_version_id
,last_update_date
,last_updated_by
,creation_date
,created_by
,progress_status_code
,last_update_login
,eff_rollup_percent_comp
,completed_percentage
,estimated_start_date
,estimated_finish_date
,actual_start_date
,actual_finish_date
,record_version_number
,base_percent_comp_deriv_code
,base_progress_status_code
,eff_rollup_prog_stat_code
,percent_complete_id
,structure_type
,proj_element_id
,structure_version_id
,ppl_act_effort_to_date
,ppl_act_cost_to_date_pc
,ppl_act_cost_to_date_fc
,ppl_act_rawcost_to_date_pc
,ppl_act_rawcost_to_date_fc
,estimated_remaining_effort
,ppl_etc_cost_pc
,ppl_etc_cost_fc
,ppl_etc_rawcost_pc
,ppl_etc_rawcost_fc
,eqpmt_act_effort_to_date
,eqpmt_act_cost_to_date_pc
,eqpmt_act_cost_to_date_fc
,eqpmt_act_rawcost_to_date_pc
,eqpmt_act_rawcost_to_date_fc
,eqpmt_etc_effort
,eqpmt_etc_cost_pc
,eqpmt_etc_cost_fc
,eqpmt_etc_rawcost_pc
,eqpmt_etc_rawcost_fc
,oth_quantity_to_date
,oth_act_cost_to_date_pc
,oth_act_cost_to_date_fc
,oth_act_rawcost_to_date_pc
,oth_act_rawcost_to_date_fc
,oth_etc_quantity
,oth_etc_cost_pc
,oth_etc_cost_fc
,oth_etc_rawcost_pc
,oth_etc_rawcost_fc
,earned_value
,task_wt_basis_code
,current_flag
,projfunc_cost_rate_type
,projfunc_cost_exchange_rate
,projfunc_cost_rate_date
,proj_cost_rate_type
,proj_cost_exchange_rate
,proj_cost_rate_date
,txn_currency_code
,prog_pa_period_name
,prog_gl_period_name
,base_percent_complete
)
SELECT
PA_PROGRESS_ROLLUP_S.nextval
, p_project_id
, l_tsk_object_id_tab(i)
, l_tsk_object_type_tab(i)
, p_as_of_date
, l_tsk_object_version_id_tab(i)
, sysdate
, l_user_id
, sysdate
, l_user_id
, l_tsk_progress_stat_code_tab(i)
, l_login_id
, l_tsk_roll_comp_percent_tab(i)
, decode(p_progress_mode,'TRANSFER_WP_PC',l_tsk_roll_comp_percent_tab(i),l_tsk_over_percent_comp_tab(i))
-- Bug 4284353 : Used decode above
, l_tsk_est_start_date_tab(i)
, l_tsk_est_finish_date_tab(i)
, l_tsk_actual_start_date_tab(i)
, l_tsk_actual_finish_date_tab(i)
, 1
, l_tsk_deriv_method_tab(i)
, l_tsk_base_prog_stat_code_tab(i)
, l_tsk_eff_roll_prg_st_code_tab(i)
, l_tsk_percent_complete_id_tab(i)
, p_structure_type
, l_tsk_proj_element_id_tab(i)
, l_structure_version_id
, l_tsk_ppl_act_eff_tab(i)
, l_tsk_ppl_act_cost_pc_tab(i)
, l_tsk_ppl_act_cost_fc_tab(i)
, l_tsk_ppl_act_rawcost_pc_tab(i)
, l_tsk_ppl_act_rawcost_fc_tab(i)
, l_tsk_est_rem_effort_tab(i)
, l_tsk_ppl_etc_cost_pc_tab(i)
, l_tsk_ppl_etc_cost_fc_tab(i)
, l_tsk_ppl_etc_rawcost_pc_tab(i)
, l_tsk_ppl_etc_rawcost_fc_tab(i)
, l_tsk_eqpmt_act_effort_tab(i)
, l_tsk_eqpmt_act_cost_pc_tab(i)
, l_tsk_eqpmt_act_cost_fc_tab(i)
, l_tsk_eqpmt_act_rawcost_pc_tab(i)
, l_tsk_eqpmt_act_rawcost_fc_tab(i)
, l_tsk_eqpmt_etc_effort_tab(i)
, l_tsk_eqpmt_etc_cost_pc_tab(i)
, l_tsk_eqpmt_etc_cost_fc_tab(i)
, l_tsk_eqpmt_etc_rawcost_pc_tab(i)
, l_tsk_eqpmt_etc_rawcost_fc_tab(i)
, l_tsk_oth_quantity_tab(i)
, l_tsk_oth_act_cost_pc_tab(i)
, l_tsk_oth_act_cost_fc_tab(i)
, l_tsk_oth_act_rawcost_pc_tab(i)
, l_tsk_oth_act_rawcost_fc_tab(i)
, l_tsk_oth_etc_quantity_tab(i)
, l_tsk_oth_etc_cost_pc_tab(i)
, l_tsk_oth_etc_cost_fc_tab(i)
, l_tsk_oth_etc_rawcost_pc_tab(i)
, l_tsk_oth_etc_rawcost_fc_tab(i)
, l_tsk_earned_value_tab(i)
, l_tsk_task_wt_basis_code_tab(i)
, l_tsk_current_flag_tab(i)
, l_tsk_pf_cost_rate_type_tab(i)
, l_tsk_pf_cost_exc_rate_tab(i)
, l_tsk_pf_cost_rate_date_tab(i)
, l_tsk_p_cost_rate_type_tab(i)
, l_tsk_p_cost_exc_rate_tab(i)
, l_tsk_p_cost_rate_date_tab(i)
, l_tsk_txn_currency_code_tab(i)
, l_tsk_prog_pa_period_name_tab(i)
, l_tsk_prog_gl_period_name_tab(i)
, l_tsk_base_percent_comp_tab(i) -- 4392189 : Program Reporting Changes - Phase 2
FROM
DUAL
WHERE l_tsk_create_required(i) = 'Y';
DELETE from pa_proj_rollup_temp where process_number= l_process_number_temp;