The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE UPDATE_TASK_PROGRESS(
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 := null,-- bug 4287638
p_debug_mode IN VARCHAR2 :='N',
p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_action IN VARCHAR2 default 'SAVE',
p_bulk_load_flag IN VARCHAR2 default 'N',
p_progress_mode IN VARCHAR2 default 'FUTURE',
p_percent_complete_id 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_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_object_type IN Varchar2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_as_of_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_percent_complete IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_progress_status_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_progress_comment IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_brief_overview IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_actual_start_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_actual_finish_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_estimated_start_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_estimated_finish_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_scheduled_start_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_scheduled_finish_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_record_version_number IN NUMBER,
p_task_status IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_est_remaining_effort IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_actual_work_quantity IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_pm_product_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_structure_type IN VARCHAR2 := 'WORKPLAN',
p_actual_effort IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_actual_effort_this_period IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_prog_fom_wp_flag IN VARCHAR2 := 'N',
p_planned_cost IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_planned_effort IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_structure_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
p_eff_rollup_percent_complete IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM, -- 3910193
x_resource_list_member_id OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
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_TASK_PROGRESS';
SELECT
resource_assignment_id,
resource_list_member_id,
txn_currency_code,
planned_quantity,
planned_bur_cost_txn_cur,
planned_bur_cost_projfunc,
planned_bur_cost_proj_cur,
planned_raw_cost_txn_cur,
planned_raw_cost_proj_cur,
planned_raw_cost_projfunc,
rbs_element_id,
rate_based_flag,
resource_class_code,
budget_version_id ---4372462
FROM
pa_task_asgmts_v
WHERE
project_id = l_project_id
AND task_id = l_task_id
AND structure_version_id = l_structure_version_id
AND task_version_id = l_task_version_id
AND ta_display_flag = 'N';
SELECT
scheduled_start_date
, scheduled_finish_date
FROM pa_proj_elem_ver_schedule
WHERE project_id = p_project_id
AND element_version_id = p_object_version_id
AND proj_element_id = p_object_id;
SELECT *
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = p_object_id
AND structure_type = p_structure_type -- FPM Dev CR 3
AND structure_version_id IS NULL -- Bug 3764224
AND as_of_date = ( SELECT max( as_of_date )
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = p_object_id
AND object_type = p_object_type
AND structure_type = p_structure_type -- FPM Dev CR 3
AND structure_version_id IS NULL -- Bug 3764224
AND as_of_date <= p_as_of_date ); -- Fix for Bug # 3944297.
SELECT *
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = p_object_id
AND object_type = p_object_type
AND as_of_date = p_as_of_date
AND structure_type = p_structure_type
AND structure_version_id IS NULL -- Bug 3764224
AND ( (p_action = 'SAVE' AND current_flag = 'W')
OR(p_action = 'PUBLISH' AND current_flag IN ('Y','N'))-- Bug 3879461
)
;
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 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 'Y'
FROM pa_progress_rollup
WHERE current_flag = 'Y'
AND project_id = p_project_id
AND structure_type = p_structure_type
AND structure_version_id is null
AND object_id = p_object_id
AND as_of_date > p_as_of_date
;
SELECT
ppc.percent_complete_id,
asgn.resource_list_member_id,
ppr.actual_start_date ,
ppr.actual_finish_date ,
ppr.estimated_start_date,
ppr.estimated_finish_date,
ppc.record_version_number ,
decode(asgn.resource_class_code, 'PEOPLE', ppr.ppl_act_rawcost_to_date_tc,
'EQUIPMENT', ppr.eqpmt_act_rawcost_to_date_tc,ppr.oth_act_rawcost_to_date_tc)
- nvl(pa_progress_utils.get_act_for_prev_asofdate(ppr.as_of_date,ppr.project_id,ppr.object_id,ppr.object_version_id,ppr.proj_element_id,'C','R','T'),0)
actual_rawcost_this_period,
decode(asgn.resource_class_code, 'PEOPLE', ppr.ppl_act_effort_to_date,
'EQUIPMENT', ppr.eqpmt_act_effort_to_date, ppr.oth_quantity_to_date)
- nvl(pa_progress_utils.get_act_for_prev_asofdate(ppr.as_of_date,ppr.project_id,ppr.object_id,ppr.object_version_id,ppr.proj_element_id,'E',null,null),0)
actual_effort_this_period,
asgn.rate_based_flag,
asgn.resource_class_code,
nvl(ppr.ppl_act_rawcost_to_date_tc,0)+ nvl(ppr.eqpmt_act_rawcost_to_date_tc,0)+ nvl(ppr.oth_act_rawcost_to_date_tc,0) actual_rawcost,
-- In Self Service it is last submitted actual raw cost in TC. But this value is not used by the API.
-- Only case it is used by the API is from AMG where we need to pass the value as to_date. So we can sefly
-- always pass to_date value without calling the function get_act_for_prev_asofdate
nvl(ppr.ppl_act_effort_to_date,0)+ nvl(ppr.eqpmt_act_effort_to_date,0)+ nvl(ppr.oth_quantity_to_date,0) actual_effort,
-- In Self Service it is last submitted actual effort. But this value is not used by the API.
-- Only case it is used by the API is from AMG where we need to pass the value as to_date. So we can sefly
-- always pass to_date value without calling the function get_act_for_prev_asofdate
--bug 4303344
nvl(ppr.ppl_etc_rawcost_tc,0)+nvl(ppr.eqpmt_etc_rawcost_tc,0)+ nvl(ppr.oth_etc_rawcost_tc,0)
etc_rawcost_tc ,
nvl(ppr.estimated_remaining_effort,0)+nvl(ppr.eqpmt_etc_effort,0)+ nvl(ppr.oth_etc_quantity,0)
etc_effort ,
asgn.txn_currency_code ,
asgn.rbs_element_id,
asgn.resource_assignment_id,
asgn.assignment_start_date scheduled_start_date ,
asgn.assignment_end_date scheduled_finish_date,
ppc.progress_comment,
ppc.description progress_overview
from pa_task_asgmts_v asgn
, pa_percent_completes ppc
, pa_progress_rollup ppr
where
ppc.PROJECT_ID = l_project_id
AND ppr.project_id = ppc.project_id
AND ppc.project_id = asgn.project_id
AND ppc.task_id = l_task_id
AND ppc.task_id = ppr.proj_element_id
AND ppc.task_id = asgn.task_id
AND asgn.task_version_id = l_task_version_id
AND ppc.object_type = 'PA_ASSIGNMENTS'
AND ppc.object_type = ppr.object_type
AND asgn.ta_display_flag = 'Y'
AND ppc.object_id = asgn.resource_list_member_id
AND ppc.object_id = ppr.object_id
AND ppr.current_flag='W'
AND ppc.published_flag = 'N'
AND ppc.date_computed <= p_as_of_date
AND ppr.as_of_date <= p_as_of_date
AND ppr.structure_type = 'WORKPLAN'
and ppc.date_computed = ppr.as_of_date
AND ppr.structure_version_id is null;
SELECT
ppc.percent_complete_id,
ppc.object_id del_id,
ppc.object_version_id del_element_version_id,
ppr.completed_percentage,
ppr.progress_status_code,
ppc.progress_comment,
ppc.description progress_description,
ppr.actual_start_date,
ppr.actual_finish_date,
ppc.record_version_number percomp_record_version_number,
ppc.status_code del_status_code
FROM pa_percent_completes ppc
, pa_progress_rollup ppr
WHERE
ppc.project_id=l_project_id
AND ppc.project_id = ppr.project_id
AND ppc.object_type = 'PA_DELIVERABLES'
AND ppc.object_type = ppr.object_type
AND ppc.task_id = l_task_id
AND ppc.task_id = ppr.proj_element_id
AND ppc.object_id = ppr.object_id
AND ppr.current_flag='W'
AND ppc.published_flag = 'N'
AND ppc.date_computed <= p_as_of_date
AND ppr.as_of_date <= p_as_of_date
and ppc.date_computed = ppr.as_of_date
AND ppr.structure_type = 'WORKPLAN'
AND ppr.structure_version_id is null;
SELECT status_code
FROM pa_percent_completes
WHERE project_id = p_project_id
AND object_id = p_object_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND trunc(date_computed) <= trunc(p_as_of_date)
ORDER BY date_computed desc, published_flag asc; -- This is to make sure that top most record in this cursor is maximum as of date and working record first then published record
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 decode(base_progress_status_code,'Y','Y','N') date_override_flag
, estimated_start_date
, estimated_finish_date
, actual_start_date
, actual_finish_date
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = p_object_id
AND object_type = 'PA_TASKS'
AND structure_type = 'WORKPLAN'
AND structure_version_id is null
AND trunc(as_of_date) <= trunc(p_as_of_date)
AND current_flag IN ('Y', 'N')
ORDER by as_of_date desc;
SELECT NVL( PPL_ACT_EFFORT_TO_DATE, 0 )
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = c_res_list_mem_id
AND as_of_date =
(SELECT max(as_of_date)
FROM pa_progress_rollup ppr2
WHERE ppr2.as_of_date <= p_as_of_date
AND ppr2.project_id = p_project_id
AND ppr2.object_id = c_res_list_mem_id
AND ppr2.object_type = 'PA_ASSIGNMENTS'
AND ppr2.structure_type = p_structure_type
AND ppr2.current_flag <> 'W'
AND ppr2.structure_version_id is null
AND ppr2.proj_element_id = p_object_id
)
AND object_type = 'PA_ASSIGNMENTS'
AND structure_type = p_structure_type
AND current_flag <> 'W'
AND structure_version_id is null
and proj_element_id = p_object_id
;
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS');
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS Start : Passed Parameters :', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_init_msg_list='||p_init_msg_list, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_commit='||p_commit, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_validate_only='||p_validate_only, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_validation_level='||p_validation_level, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_calling_module='||p_calling_module, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_debug_mode='||p_debug_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_max_msg_count='||p_max_msg_count, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_action='||p_action, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_bulk_load_flag='||p_bulk_load_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_progress_mode='||p_progress_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_percent_complete_id='||p_percent_complete_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_id='||p_object_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_version_id='||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_type='||p_object_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_as_of_date='||p_as_of_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_percent_complete='||p_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_eff_rollup_percent_complete='||p_eff_rollup_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_progress_status_code='||p_progress_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_progress_comment='||p_progress_comment, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_brief_overview='||p_brief_overview, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_actual_start_date='||p_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_actual_finish_date='||p_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_estimated_start_date='||p_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_estimated_finish_date='||p_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_scheduled_start_date='||p_scheduled_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_scheduled_finish_date='||p_scheduled_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_record_version_number='||p_record_version_number, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_task_status='||p_task_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_est_remaining_effort='||p_est_remaining_effort, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_actual_work_quantity='||p_actual_work_quantity, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_pm_product_code='||p_pm_product_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_structure_type='||p_structure_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_actual_effort='||p_actual_effort, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_actual_effort_this_period='||p_actual_effort_this_period, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_structure_version_id='||p_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_prog_fom_wp_flag='||p_prog_fom_wp_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_planned_cost='||p_planned_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_planned_effort='||p_planned_effort, x_Log_Level=> 3);
savepoint UPDATE_TASK_PROGRESS;
PA_ASSIGNMENT_PROGRESS_PUB.UPDATE_ASSIGNMENT_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => 'PUBLISH'
,p_progress_mode => 'FUTURE'
,p_percent_complete_id => l_working_assgn_rec.PERCENT_COMPLETE_ID
,p_project_id => p_project_id
,p_object_id => l_working_assgn_rec.RESOURCE_LIST_MEMBER_ID
,p_object_version_id => p_object_version_id
,p_task_id => p_object_id
,p_as_of_date => p_as_of_date
,p_progress_comment => l_working_assgn_rec.progress_comment
,p_brief_overview => l_working_assgn_rec.progress_overview
,p_actual_start_date => l_working_assgn_rec.ACTUAL_START_DATE
,p_actual_finish_date => l_working_assgn_rec.ACTUAL_FINISH_DATE
,p_estimated_start_date => l_working_assgn_rec.estimated_start_date
,p_estimated_finish_date => l_working_assgn_rec.estimated_finish_date
,p_record_version_number => l_working_assgn_rec.RECORD_VERSION_NUMBER
,p_pm_product_code => p_pm_product_code
,p_structure_type => 'WORKPLAN'
,p_structure_version_id => p_structure_version_id
,p_actual_cost_this_period => l_working_assgn_rec.actual_rawcost_this_period
,p_actual_effort_this_period => l_working_assgn_rec.ACTUAL_EFFORT_THIS_PERIOD
,p_rate_based_flag => l_working_assgn_rec.RATE_BASED_FLAG
,p_resource_class_code => l_working_assgn_rec.RESOURCE_CLASS_CODE
,p_actual_cost => l_working_assgn_rec.actual_rawcost
,p_actual_effort => l_working_assgn_rec.ACTUAL_EFFORT
,p_etc_cost_this_period => l_working_assgn_rec.etc_rawcost_tc
,p_etc_effort_this_period => l_working_assgn_rec.ETC_EFFORT
,p_txn_currency_code => l_working_assgn_rec.TXN_CURRENCY_CODE
,p_rbs_element_id => l_working_assgn_rec.RBS_ELEMENT_ID
,p_resource_assignment_id => l_working_assgn_rec.resource_assignment_id
,p_scheduled_start_date => l_working_assgn_rec.scheduled_start_date
,p_scheduled_finish_date => l_working_assgn_rec.scheduled_finish_date
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => 'PUBLISH' -- Code to fix Bug # 3821106.
,p_progress_mode => 'FUTURE'
,p_percent_complete_id => l_working_dlvr_rec.percent_complete_id ------percent_complete_id
,p_project_id => p_project_id
,p_object_id => l_working_dlvr_rec.del_id
,p_object_type => 'PA_DELIVERABLES'
,p_object_version_id => l_working_dlvr_rec.del_element_version_id
,p_del_status => l_working_dlvr_rec.del_status_code
,p_task_id => p_object_id
,p_as_of_date => p_as_of_date
,p_percent_complete => l_working_dlvr_rec.completed_percentage
,p_progress_status_code => l_working_dlvr_rec.progress_status_code
,p_progress_comment => l_working_dlvr_rec.progress_comment
,p_brief_overview => l_working_dlvr_rec.progress_description
,p_actual_finish_date => l_working_dlvr_rec.actual_finish_date
,p_record_version_number => l_working_dlvr_rec.percomp_record_version_number
,p_pm_product_code => p_pm_product_code
,p_structure_type => 'WORKPLAN'
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
SELECT project_currency_code, projfunc_currency_code
INTO l_prj_currency_code, l_prjfunc_currency_code
FROM pa_projects_all WHERE project_id = p_project_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_structure_sharing_code='||l_structure_sharing_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_assignment_exists='||l_assignment_exists, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_element_struc_type='||l_element_struc_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'After deriving PA/GL Date l_pa_period_name='||l_pa_period_name||' l_gl_period_name='||l_gl_period_name, x_Log_Level=> 3);
--check and delete for any other working version record.
-- Amit : This code is not required as l_db_action will switch mode to update and the existing working record will be updated
IF p_action = 'SAVE' AND p_structure_type = 'WORKPLAN'
THEN
DELETE FROM pa_percent_completes
WHERE project_id= p_project_id
AND object_id = p_object_id
AND published_flag = 'N'
--AND date_computed <> p_as_of_date --bug 4185364, delete all the working records
AND structure_type = p_structure_type
;
DELETE FROM pa_progress_rollup
WHERE project_id= p_project_id
AND object_id = p_object_id
AND current_flag = 'W'
--AND as_of_date <> p_as_of_date --bug 4185364, delete all the working records
AND structure_type = p_structure_type
AND structure_version_id is null
;
--This code is required is PUBLISH mode to delete working progress records on previous dates.
IF p_action = 'PUBLISH' AND p_structure_type = 'WORKPLAN'
THEN
DELETE FROM pa_percent_completes
WHERE project_id= p_project_id
AND object_id = p_object_id
AND published_flag = 'N'
AND date_computed <= p_as_of_date --- 4245168
AND structure_type = p_structure_type
;
DELETE FROM pa_progress_rollup
WHERE project_id= p_project_id
AND object_id = p_object_id
AND current_flag = 'W'
AND as_of_date < p_as_of_date
AND structure_type = p_structure_type
AND structure_version_id is null
;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling get_progress_defaults', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_actual_wq_entry_code='||l_actual_wq_entry_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_wq_enabled_flag='||l_wq_enabled_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_est_remaining_eff_flag='||l_est_remaining_eff_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_base_percent_comp_deriv_code='||l_base_percent_comp_deriv_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_percent_complete_flag='||l_percent_complete_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_progress_entry_enable_flag='||l_progress_entry_enable_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_allow_collab_prog_entry='||l_allow_collab_prog_entry, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_allw_phy_prcnt_cmp_overrides='||l_allw_phy_prcnt_cmp_overrides, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling l_task_weight_basis_code='||l_task_weight_basis_code, x_Log_Level=> 3);
SELECT 'x' INTO l_dummy
FROM pa_project_statuses
WHERE status_type = 'PROGRESS'
AND project_status_code = p_progress_status_code;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_published_structure='||l_published_structure, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_structure_version_id='||l_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_element_struc_type='||l_element_struc_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Going to check status and start date, finish dates combination', x_Log_Level=> 3);
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
nvl(pfxat.prj_brdn_cost,0) planned_cost, nvl(pfxat.labor_hours,0)+nvl(pfxat.equipment_hours,0) planned_effort
INTO l_planned_cost, l_planned_effort
FROM pji_fm_xbs_accum_tmp1 pfxat
WHERE pfxat.project_id = p_project_id
AND pfxat.struct_version_id = p_structure_version_id
AND pfxat.project_element_id = p_object_id
AND pfxat.calendar_type = 'A'
AND pfxat.plan_version_id > 0
AND pfxat.txn_currency_code is null;
--Update outdated flag back to 'Y'
UPDATE pa_proj_elements
SET progress_outdated_flag = 'Y'
WHERE proj_element_id = p_object_id
AND project_id = p_project_id
AND object_type = p_object_type;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_progress_mode='||p_progress_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_last_progress_date='||l_last_progress_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_working_aod='||l_working_aod, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_progress_exists_on_aod='||l_progress_exists_on_aod, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_base_percent_complete='||l_base_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_percent_complete='||l_percent_complete, x_Log_Level=> 3);
--update the existing working progress record to publish and roll up
l_db_action := 'UPDATE';
--then update last progress current flag = 'N')
--1. if l_progress_exists_on_aod = 'N' or 'Y' then we create new record in ppc
--2. if l_progress_exists_on_aod = 'N' then new record in PR otherwise its an update to Progress Rollup
l_db_action := 'CREATE';
--update the existing working progress record ( publish and roll it only when p_action = 'PUBLISH' )
l_db_action := 'UPDATE';
--2. if l_progress_exists_on_aod = 'N' then new record in PR otherwise its an update to Progress Rollup
l_db_action := 'CREATE';
--update the existing working progress record ( publish and roll it only when p_action = 'PUBLISH' )
l_db_action := 'UPDATE';
--2. if l_progress_exists_on_aod = 'N' then new record in PR otherwise its an update to Progress Rollup
l_db_action := 'CREATE';
l_db_action := 'UPDATE';
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Validation is Over', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_action='||l_db_action, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_resource_assignment_id'||l_resource_assignment_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_resource_list_member_id'||l_resource_list_member_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_txn_currency_code'||l_txn_currency_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_quantity'||l_planned_quantity, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_bur_cost_txn_cur'||l_planned_bur_cost_txn_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_bur_cost_projfunc'||l_planned_bur_cost_projfunc, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_bur_cost_proj_cur'||l_planned_bur_cost_proj_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_raw_cost_txn_cur'||l_planned_raw_cost_txn_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_raw_cost_proj_cur'||l_planned_raw_cost_proj_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_raw_cost_projfunc'||l_planned_raw_cost_projfunc, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'res list mem not found, calling derive_task_assignments', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_version_id='||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_scheduled_start_date='||l_scheduled_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_scheduled_finish_date='||l_scheduled_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'After call derive_task_assignments', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_resource_assignment_id='||l_resource_assignment_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_version_id_out='||l_task_version_id_out, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_txn_currency_code='||l_txn_currency_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_resource_list_member_id='||l_resource_list_member_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_resource_assignment_id'||l_resource_assignment_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_resource_list_member_id'||l_resource_list_member_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_txn_currency_code'||l_txn_currency_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_quantity'||l_planned_quantity, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_bur_cost_txn_cur'||l_planned_bur_cost_txn_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_bur_cost_projfunc'||l_planned_bur_cost_projfunc, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_bur_cost_proj_cur'||l_planned_bur_cost_proj_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_raw_cost_txn_cur'||l_planned_raw_cost_txn_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_raw_cost_proj_cur'||l_planned_raw_cost_proj_cur, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_raw_cost_projfunc'||l_planned_raw_cost_projfunc, x_Log_Level=> 3);
p_procedure_name => 'UPDATE_TASK_PROGRESS',
p_error_text => SUBSTRB('PA_TASK_ASSIGNMENTS_PUB.DERIVE_TASK_ASSIGNMENTS:'||SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Bug 3951531', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_lowest_level_task='||l_lowest_level_task, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_percent_complete='||l_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_element_struc_type='||l_element_struc_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_est_remaining_eff_flag='||l_est_remaining_eff_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_BASE_PERCENT_COMP_DERIV_CODE='||l_BASE_PERCENT_COMP_DERIV_CODE, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_act_txn_bur_cost='||l_act_txn_bur_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_etc_txn_bur_cost='||l_etc_txn_bur_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_progress_mode='||p_progress_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_percent_complete_flag='||l_percent_complete_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_start_date='||l_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_finish_date='||l_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status2='||l_task_status2, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status='||l_task_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_estimated_finish_date='||l_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_estimated_start_date='||l_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_start_date='||l_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_finish_date='||l_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_effort='||l_planned_effort, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_planned_cost='||l_planned_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_base_percent_complete='||l_base_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Task Status and Dates Defaulting and Error', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_percent_complete_flag='||l_percent_complete_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_eff_rollup_percent_complete='||p_eff_rollup_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_percent_complete='||p_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_percent_complete='||l_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_base_percent_complete='||l_base_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status2='||l_task_status2, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status='||l_task_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_start_date='||l_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_finish_date='||l_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_previous_status_code='||l_previous_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'After Default Status', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status2='||l_task_status2, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status='||l_task_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Client Extension Logic Starts', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_date_override_flag='||l_db_date_override_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_estimated_start_date='||l_db_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_estimated_finish_date='||l_db_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_actual_start_date='||l_db_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_actual_finish_date='||l_db_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Calling PA_PROGRESS_CLIENT_EXTN.GET_TASK_RES_OVERRIDE_INFO with following params', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_structure_version_id='||p_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_type='||p_object_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_version_id='||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'p_object_id='||p_object_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_task_status='||l_task_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'nvl(l_percent_complete, l_base_percent_complete)='||nvl(l_percent_complete, l_base_percent_complete), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_estimated_start_date='||l_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_estimated_finish_date='||l_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_start_date='||l_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_finish_date='||l_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'After Call PA_PROGRESS_CLIENT_EXTN.GET_TASK_RES_OVERRIDE_INFO x_return_status='||x_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_clex_estimated_start_date='||l_clex_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_clex_estimated_finish_date='||l_clex_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_clex_actual_start_date='||l_clex_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_clex_actual_finish_date='||l_clex_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_date_override_flag='||l_date_override_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_estimated_start_date='||l_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_estimated_finish_date='||l_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_start_date='||l_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_actual_finish_date='||l_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Deriving Dates', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Raising Errors on Conditions', x_Log_Level=> 3);
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
nvl(pfxat.prj_base_brdn_cost,0)
, (nvl(pfxat.base_labor_hours,0)+nvl(pfxat.base_equip_hours,0))
INTO l_base_planned_cost
, l_base_planned_effort
FROM pji_fm_xbs_accum_tmp1 pfxat
WHERE pfxat.project_id = p_project_id
AND pfxat.struct_version_id = p_structure_version_id
AND pfxat.project_element_id = p_object_id
AND pfxat.calendar_type = 'A'
AND pfxat.plan_version_id > 0
AND pfxat.txn_currency_code is null;
UPDATE pa_percent_completes
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = p_object_id
AND current_flag = 'Y'
AND object_type = p_object_type
AND structure_type = p_structure_type; --Satish
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = p_object_id
AND proj_element_id = p_object_id
AND current_flag = 'Y'
AND object_type = p_object_type
AND structure_type = p_structure_type
AND structure_version_id is null
;
-- Delete the published progress record on the same as of date
--bug 4247839, removed the l_db_Action check as it should get deleted for CREATE also
--IF l_db_action = 'UPDATE' AND p_progress_mode <> 'BACKDATED' THEN
IF p_progress_mode <> 'BACKDATED' THEN
Delete from pa_progress_rollup
where project_id = p_project_id
and object_id = p_object_id
and proj_element_id = p_object_id
and object_type = p_object_type
and structure_version_id is null
and structure_type = 'WORKPLAN'
and current_flag = 'W'
and trunc(as_of_date) = trunc(p_as_of_date);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_action Create', x_Log_Level=> 3);
PA_PERCENT_COMPLETES_PKG.INSERT_ROW(
p_task_id => l_task_id
,p_date_computed => p_as_of_date
,p_last_update_date => sysdate
,p_last_updated_by => l_user_id
,p_creation_date => sysdate
,p_created_by => l_user_id
,p_last_update_login => l_login_id
,p_completed_percentage => l_percent_complete
,p_description => p_brief_overview
,p_project_id => p_project_id
,p_pm_product_code => l_pm_product_code
,p_current_flag => l_current_flag
,p_object_type => p_object_type
,p_object_id => p_object_id
,p_object_version_id => p_object_version_id
,p_progress_status_code => p_progress_status_code
,p_actual_start_date => l_actual_start_date
,p_actual_finish_date => l_actual_finish_date
,p_estimated_start_date => p_estimated_start_date
,p_estimated_finish_date => p_estimated_finish_date
,p_published_flag => l_published_flag
,p_published_by_party_id => l_published_by_party_id
,p_progress_comment => p_progress_comment
,p_history_flag => 'N'
,p_status_code => l_task_status
,x_percent_complete_id => l_percent_complete_id
,p_attribute_category => null
,p_attribute1 => null
,p_attribute2 => null
,p_attribute3 => null
,p_attribute4 => null
,p_attribute5 => null
,p_attribute6 => null
,p_attribute7 => null
,p_attribute8 => null
,p_attribute9 => null
,p_attribute10 => null
,p_attribute11 => null
,p_attribute12 => null
,p_attribute13 => null
,p_attribute14 => null
,p_attribute15 => null
,p_structure_type => p_structure_type
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_action Create l_PROGRESS_ROLLUP_ID='||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => ' LLT', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Inserting in PA_PROGRESS_ROLLUP ', x_Log_Level=> 3);
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
x_progress_rollup_id => l_progress_rollup_id
,x_project_id => p_project_id
,x_object_id => p_object_id
,x_object_type => p_object_type
,x_as_of_date => p_as_of_date
,x_object_version_id => p_object_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 => nvl( l_rollup_progress_status, p_progress_status_code ) --copy to rollup table. maansari: fpm changes 3420093
,x_last_update_login => l_login_id
,x_incremental_work_qty => l_incremental_work_qty
,x_cumulative_work_qty => l_cumulative_work_qty
-- ,x_base_percent_complete => l_base_percent_complete -- 4392189 phase 2
-- bug 4506461 ,x_base_percent_complete => nvl(l_rollup_rec1.base_percent_complete, l_eff_rollup_percent_comp)
,x_base_percent_complete => l_temp_base_pc -- 4506461
,x_eff_rollup_percent_comp => l_eff_rollup_percent_comp
,x_completed_percentage => nvl( l_rollup_completed_percentage, l_percent_complete ) --copy to rollup table. maansari: fpm changes 3420093
,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_est_remaining_effort
,x_base_percent_comp_deriv_code => l_base_percent_comp_deriv_code
,x_base_progress_status_code => l_date_override_flag -- 4533112 l_base_progress_status_code
,x_eff_rollup_prog_stat_code => l_eff_rollup_prog_stat_code
,x_percent_complete_id => l_percent_complete_id
,x_structure_type => p_structure_type
,x_proj_element_id => l_task_id
,x_structure_version_id => l_structure_version_id -- null fpm dev cr 3
,x_ppl_act_effort_to_date => l_actual_effort
,x_eqpmt_act_effort_to_date => l_eqpmt_act_effort_to_date -- bug 3796357 null --since this is a task progress, there wont be eqpmt effort.
,x_eqpmt_etc_effort => l_eqpmt_etc_effort -- bug 3796357 null
,x_oth_act_cost_to_date_tc => l_oth_act_cost_to_date_tc-- bug 3796357 null --no transaction is avialbale at task.
,x_oth_act_cost_to_date_fc => l_oth_act_cost_to_date_fc-- bug 3796357
,x_oth_act_cost_to_date_pc => l_oth_act_cost_to_date_pc-- bug 3796357
,x_oth_etc_cost_tc => l_oth_etc_cost_tc -- bug 3796357 --no txn currency at task level.
,x_oth_etc_cost_fc => l_oth_etc_cost_fc -- bug 3796357
,x_oth_etc_cost_pc => l_oth_etc_cost_pc -- bug 3796357
,x_ppl_act_cost_to_date_tc => l_act_bur_cost_to_date_tc
,x_ppl_act_cost_to_date_fc => l_act_bur_cost_to_date_fc --3627315 issue 4
,x_ppl_act_cost_to_date_pc => l_act_bur_cost_to_date_pc --3627315 issue 4
,x_ppl_etc_cost_tc => l_etc_bur_cost_tc --3627315 issue 4
,x_ppl_etc_cost_fc => l_etc_bur_cost_fc --3627315 issue 4
,x_ppl_etc_cost_pc => l_etc_bur_cost_pc --3627315 issue 4
,x_eqpmt_act_cost_to_date_tc => l_eqpmt_act_cost_to_date_tc -- bug 3796357 null
,x_eqpmt_act_cost_to_date_fc => l_eqpmt_act_cost_to_date_fc -- bug 3796357 null
,x_eqpmt_act_cost_to_date_pc => l_eqpmt_act_cost_to_date_pc -- bug 3796357 null
,x_eqpmt_etc_cost_tc => l_eqpmt_etc_cost_tc -- bug 3796357 null
,x_eqpmt_etc_cost_fc => l_eqpmt_etc_cost_fc -- bug 3796357 null
,x_eqpmt_etc_cost_pc => l_eqpmt_etc_cost_pc -- bug 3796357 null
,x_earned_value => l_earned_value
,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_rollup_current_flag
,x_projfunc_cost_rate_type => l_projfunc_cost_rate_type --3627315 issue 4
,x_projfunc_cost_exchange_rate => l_projfunc_cost_exch_rate --3627315 issue 4
,x_projfunc_cost_rate_date => l_projfunc_cost_rate_date --3627315 issue 4
,x_proj_cost_rate_type => l_project_rate_type --3627315 issue 4
,x_proj_cost_exchange_rate => l_project_exch_rate --3627315 issue 4
,x_proj_cost_rate_date => l_project_rate_date --3627315 issue 4
,x_txn_currency_code => l_txn_currency_code --3627315 issue 4
,x_prog_pa_period_name => l_pa_period_name
,x_prog_gl_period_name => l_gl_period_name
,x_oth_quantity_to_date => l_oth_quantity_to_date -- bug 3796357 null
,x_oth_etc_quantity => l_oth_etc_quantity -- bug 3796357null
,x_oth_act_rawcost_to_date_tc => l_oth_act_rawcost_to_date_tc-- bug 3796357null
,x_oth_act_rawcost_to_date_fc => l_oth_act_rawcost_to_date_fc -- bug 3796357null
,x_oth_act_rawcost_to_date_pc => l_oth_act_rawcost_to_date_pc -- bug 3796357null
,x_oth_etc_rawcost_tc => l_oth_etc_rawcost_tc -- bug 3796357 null
,x_oth_etc_rawcost_fc => l_oth_etc_rawcost_fc -- bug 3796357null
,x_oth_etc_rawcost_pc => l_oth_etc_rawcost_pc -- bug 3796357null
,x_ppl_act_rawcost_to_date_tc => l_act_raw_cost_to_date_tc --3627315 issue 4
,x_ppl_act_rawcost_to_date_fc => l_act_raw_cost_to_date_fc --3627315 issue 4
,x_ppl_act_rawcost_to_date_pc => l_act_raw_cost_to_date_pc --3627315 issue 4
,x_ppl_etc_rawcost_tc => l_etc_raw_cost_tc --3627315 issue 4
,x_ppl_etc_rawcost_fc => l_etc_raw_cost_fc --3627315 issue 4
,x_ppl_etc_rawcost_pc => l_etc_raw_cost_pc --3627315 issue 4
,x_eqpmt_act_rawcost_to_date_tc => l_eqpmt_act_rawcost_to_date_tc -- bug 3796357 null
,x_eqpmt_act_rawcost_to_date_fc => l_eqpmt_act_rawcost_to_date_fc -- bug 3796357 null
,x_eqpmt_act_rawcost_to_date_pc => l_eqpmt_act_rawcost_to_date_pc -- bug 3796357 null
,x_eqpmt_etc_rawcost_tc => l_eqpmt_etc_rawcost_tc -- bug 3796357 null
,x_eqpmt_etc_rawcost_fc => l_eqpmt_etc_rawcost_fc -- bug 3796357 null
,x_eqpmt_etc_rawcost_pc => l_eqpmt_etc_rawcost_pc -- bug 3796357 null
,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_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Inserted in PA_PROGRESS_ROLLUP ', x_Log_Level=> 3);
--update progress rollup
OPEN cur_pa_rollup2;
PA_PROGRESS_ROLLUP_PKG.UPDATE_ROW(
x_progress_rollup_id => l_progress_rollup_id
,x_project_id => p_project_id
,x_object_id => p_object_id
,x_object_type => p_object_type
,x_as_of_date => p_as_of_date
,x_object_version_id => p_object_version_id
,x_last_update_date => sysdate
,x_last_updated_by => l_user_id
,x_progress_status_code => l_rollup_progress_status
,x_last_update_login => l_login_id
,x_incremental_work_qty => l_incremental_work_qty
,x_cumulative_work_qty => l_cumulative_work_qty
-- ,x_base_percent_complete => l_base_percent_complete -- 4392189 phase 2
-- bug 4506461 ,x_base_percent_complete => nvl(l_rollup_rec2.base_percent_complete, l_eff_rollup_percent_comp)
,x_base_percent_complete => l_temp_base_pc -- 4506461
,x_eff_rollup_percent_comp => l_eff_rollup_percent_comp
,x_completed_percentage => nvl( l_rollup_completed_percentage, l_percent_complete ) --maansari5/21
,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_est_remaining_effort
,x_record_version_number => l_rollup_rec_ver_number
,x_base_percent_comp_deriv_code => l_base_percent_comp_deriv_code
,x_base_progress_status_code => l_date_override_flag -- 4533112 l_base_progress_status_code
,x_eff_rollup_prog_stat_code => l_rollup_rec2.eff_rollup_prog_stat_code
,x_percent_complete_id => l_percent_complete_id
,x_structure_type => p_structure_type -- l_rollup_rec2.structure_type fpm dev cr 3
,x_proj_element_id => p_object_id--l_rollup_rec2.proj_element_id fpm dev cr 3
,x_structure_version_id => l_structure_version_id--l_rollup_rec2.structure_version_id fpm dev cr 3
,x_ppl_act_effort_to_date => l_actual_effort -- bug 3796357 l_rollup_rec2.ppl_act_effort_to_date
,x_eqpmt_act_effort_to_date => l_rollup_rec2.eqpmt_act_effort_to_date
,x_eqpmt_etc_effort => l_rollup_rec2.eqpmt_etc_effort
,x_oth_act_cost_to_date_tc => l_rollup_rec2.oth_act_cost_to_date_tc
,x_oth_act_cost_to_date_fc => l_rollup_rec2.oth_act_cost_to_date_fc
,x_oth_act_cost_to_date_pc => l_rollup_rec2.oth_act_cost_to_date_pc
,x_oth_etc_cost_tc => l_rollup_rec2.oth_etc_cost_tc
,x_oth_etc_cost_fc => l_rollup_rec2.oth_etc_cost_fc
,x_oth_etc_cost_pc => l_rollup_rec2.oth_etc_cost_pc
,x_ppl_act_cost_to_date_tc => l_act_bur_cost_to_date_tc --3627315 issue 4
,x_ppl_act_cost_to_date_fc => l_act_bur_cost_to_date_fc --3627315 issue 4
,x_ppl_act_cost_to_date_pc => l_act_bur_cost_to_date_pc --3627315 issue 4
,x_ppl_etc_cost_tc => l_etc_bur_cost_tc --3627315 issue 4
,x_ppl_etc_cost_fc => l_etc_bur_cost_fc --3627315 issue 4
,x_ppl_etc_cost_pc => l_etc_bur_cost_pc --3627315 issue 4
,x_eqpmt_act_cost_to_date_tc => l_rollup_rec2.eqpmt_act_cost_to_date_tc
,x_eqpmt_act_cost_to_date_fc => l_rollup_rec2.eqpmt_act_cost_to_date_fc
,x_eqpmt_act_cost_to_date_pc => l_rollup_rec2.eqpmt_act_cost_to_date_pc
,x_eqpmt_etc_cost_tc => l_rollup_rec2.eqpmt_etc_cost_tc
,x_eqpmt_etc_cost_fc => l_rollup_rec2.eqpmt_etc_cost_fc
,x_eqpmt_etc_cost_pc => l_rollup_rec2.eqpmt_etc_cost_pc
,x_earned_value => l_earned_value -- l_rollup_rec2.earned_value -- fix for bug # 3957607.
,x_task_wt_basis_code => l_rollup_rec2.task_wt_basis_code
,x_subprj_ppl_act_effort => l_rollup_rec2.subprj_ppl_act_effort
,x_subprj_eqpmt_act_effort => l_rollup_rec2.subprj_eqpmt_act_effort
,x_subprj_ppl_etc_effort => l_rollup_rec2.subprj_ppl_etc_effort
,x_subprj_eqpmt_etc_effort => l_rollup_rec2.subprj_eqpmt_etc_effort
,x_sbpj_oth_act_cost_to_date_tc => l_rollup_rec2.subprj_oth_act_cost_to_date_tc
,x_sbpj_oth_act_cost_to_date_fc => l_rollup_rec2.subprj_oth_act_cost_to_date_fc
,x_sbpj_oth_act_cost_to_date_pc => l_rollup_rec2.subprj_oth_act_cost_to_date_pc
,x_subprj_ppl_act_cost_tc => l_rollup_rec2.subprj_ppl_act_cost_tc
,x_subprj_ppl_act_cost_fc => l_rollup_rec2.subprj_ppl_act_cost_fc
,x_subprj_ppl_act_cost_pc => l_rollup_rec2.subprj_ppl_act_cost_pc
,x_subprj_eqpmt_act_cost_tc => l_rollup_rec2.subprj_eqpmt_act_cost_tc
,x_subprj_eqpmt_act_cost_fc => l_rollup_rec2.subprj_eqpmt_act_cost_fc
,x_subprj_eqpmt_act_cost_pc => l_rollup_rec2.subprj_eqpmt_act_cost_pc
,x_subprj_oth_etc_cost_tc => l_rollup_rec2.subprj_oth_etc_cost_tc
,x_subprj_oth_etc_cost_fc => l_rollup_rec2.subprj_oth_etc_cost_fc
,x_subprj_oth_etc_cost_pc => l_rollup_rec2.subprj_oth_etc_cost_pc
,x_subprj_ppl_etc_cost_tc => l_rollup_rec2.subprj_ppl_etc_cost_tc
,x_subprj_ppl_etc_cost_fc => l_rollup_rec2.subprj_ppl_etc_cost_fc
,x_subprj_ppl_etc_cost_pc => l_rollup_rec2.subprj_ppl_etc_cost_pc
,x_subprj_eqpmt_etc_cost_tc => l_rollup_rec2.subprj_eqpmt_etc_cost_tc
,x_subprj_eqpmt_etc_cost_fc => l_rollup_rec2.subprj_eqpmt_etc_cost_fc
,x_subprj_eqpmt_etc_cost_pc => l_rollup_rec2.subprj_eqpmt_etc_cost_pc
,x_subprj_earned_value => l_rollup_rec2.subprj_earned_value
,x_current_flag => l_rollup_current_flag --maansari7/21 --bug 3879461 --maansari
,x_projfunc_cost_rate_type => l_projfunc_cost_rate_type --3627315 issue 4
,x_projfunc_cost_exchange_rate => l_projfunc_cost_exch_rate --3627315 issue 4
,x_projfunc_cost_rate_date => l_projfunc_cost_rate_date --3627315 issue 4
,x_proj_cost_rate_type => l_project_rate_type --3627315 issue 4
,x_proj_cost_exchange_rate => l_project_exch_rate --3627315 issue 4
,x_proj_cost_rate_date => l_project_rate_date --3627315 issue 4
,x_txn_currency_code => l_txn_currency_code --3627315 issue 4
,x_prog_pa_period_name => l_rollup_rec2.prog_pa_period_name
,x_prog_gl_period_name => l_rollup_rec2.prog_gl_period_name
,x_oth_quantity_to_date => l_rollup_rec2.oth_quantity_to_date
,x_oth_etc_quantity => l_rollup_rec2.oth_etc_quantity
,x_oth_act_rawcost_to_date_tc => l_rollup_rec2.oth_act_rawcost_to_date_tc
,x_oth_act_rawcost_to_date_fc => l_rollup_rec2.oth_act_rawcost_to_date_fc
,x_oth_act_rawcost_to_date_pc => l_rollup_rec2.oth_act_rawcost_to_date_pc
,x_oth_etc_rawcost_tc => l_rollup_rec2.oth_etc_rawcost_tc
,x_oth_etc_rawcost_fc => l_rollup_rec2.oth_etc_rawcost_fc
,x_oth_etc_rawcost_pc => l_rollup_rec2.oth_etc_rawcost_pc
,x_ppl_act_rawcost_to_date_tc => l_act_raw_cost_to_date_tc
,x_ppl_act_rawcost_to_date_fc => l_act_raw_cost_to_date_fc
,x_ppl_act_rawcost_to_date_pc => l_act_raw_cost_to_date_pc
,x_ppl_etc_rawcost_tc => l_etc_raw_cost_tc
,x_ppl_etc_rawcost_fc => l_etc_raw_cost_tc
,x_ppl_etc_rawcost_pc => l_etc_raw_cost_tc
,x_eqpmt_act_rawcost_to_date_tc => l_rollup_rec2.eqpmt_act_rawcost_to_date_tc
,x_eqpmt_act_rawcost_to_date_fc => l_rollup_rec2.eqpmt_act_rawcost_to_date_fc
,x_eqpmt_act_rawcost_to_date_pc => l_rollup_rec2.eqpmt_act_rawcost_to_date_pc
,x_eqpmt_etc_rawcost_tc => l_rollup_rec2.eqpmt_etc_rawcost_tc
,x_eqpmt_etc_rawcost_fc => l_rollup_rec2.eqpmt_etc_rawcost_fc
,x_eqpmt_etc_rawcost_pc => l_rollup_rec2.eqpmt_etc_rawcost_pc
,x_sp_oth_act_rawcost_todate_tc => l_rollup_rec2.spj_oth_act_rawcost_to_date_tc
,x_sp_oth_act_rawcost_todate_fc => l_rollup_rec2.spj_oth_act_rawcost_to_date_fc
,x_sp_oth_act_rawcost_todate_pc => l_rollup_rec2.spj_oth_act_rawcost_to_date_pc
,x_subprj_ppl_act_rawcost_tc => l_rollup_rec2.subprj_ppl_act_rawcost_tc
,x_subprj_ppl_act_rawcost_fc => l_rollup_rec2.subprj_ppl_act_rawcost_fc
,x_subprj_ppl_act_rawcost_pc => l_rollup_rec2.subprj_ppl_act_rawcost_pc
,x_subprj_eqpmt_act_rawcost_tc => l_rollup_rec2.subprj_eqpmt_act_rawcost_tc
,x_subprj_eqpmt_act_rawcost_fc => l_rollup_rec2.subprj_eqpmt_act_rawcost_fc
,x_subprj_eqpmt_act_rawcost_pc => l_rollup_rec2.subprj_eqpmt_act_rawcost_pc
,x_subprj_oth_etc_rawcost_tc => l_rollup_rec2.subprj_oth_etc_rawcost_tc
,x_subprj_oth_etc_rawcost_fc => l_rollup_rec2.subprj_oth_etc_rawcost_fc
,x_subprj_oth_etc_rawcost_pc => l_rollup_rec2.subprj_oth_etc_rawcost_pc
,x_subprj_ppl_etc_rawcost_tc => l_rollup_rec2.subprj_ppl_etc_rawcost_tc
,x_subprj_ppl_etc_rawcost_fc => l_rollup_rec2.subprj_ppl_etc_rawcost_fc
,x_subprj_ppl_etc_rawcost_pc => l_rollup_rec2.subprj_ppl_etc_rawcost_pc
,x_subprj_eqpmt_etc_rawcost_tc => l_rollup_rec2.subprj_eqpmt_etc_rawcost_tc
,x_subprj_eqpmt_etc_rawcost_fc => l_rollup_rec2.subprj_eqpmt_etc_rawcost_fc
,x_subprj_eqpmt_etc_rawcost_pc => l_rollup_rec2.subprj_eqpmt_etc_rawcost_pc
);
-----update percent_complete_id in pa_progress_rollup
UPDATE pa_progress_rollup
SET percent_complete_id = l_percent_complete_id
WHERE object_id = p_object_id
AND project_id = p_project_id
AND as_of_date > p_as_of_date
AND percent_complete_id is null
AND structure_type = p_structure_type -- FPM Dev CR 3
AND structure_version_id is null -- Bug 3879461
AND current_flag <> 'W' -- Bug 3879461
;
ELSIF l_db_action = 'UPDATE'
THEN
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_db_action Update'||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
SELECT record_version_number into l_record_version_number
FROM pa_percent_completes
where percent_complete_id = l_percent_complete_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Percent_complete id is not passed', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_percent_complete_id='||l_percent_complete_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_record_version_number'||l_record_version_number, x_Log_Level=> 3);
PA_PERCENT_COMPLETES_PKG.UPDATE_ROW(
p_task_id => l_task_id
,p_date_computed => p_as_of_date
,p_last_update_date => sysdate
,p_last_updated_by => l_user_id
,p_last_update_login => l_login_id
,p_completed_percentage => l_percent_complete
,p_description => p_brief_overview
,p_project_id => p_project_id
,p_pm_product_code => l_pm_product_code
,p_current_flag => l_current_flag
,p_object_type => p_object_type
,p_object_id => p_object_id
,p_object_version_id => p_object_version_id
,p_progress_status_code => p_progress_status_code
,p_actual_start_date => l_actual_start_date
,p_actual_finish_date => l_actual_finish_date
,p_estimated_start_date => l_estimated_start_date
,p_estimated_finish_date => l_estimated_finish_date
,p_published_flag => l_published_flag
,p_published_by_party_id => l_published_by_party_id
,p_progress_comment => p_progress_comment
,p_history_flag => 'n'
,p_status_code => l_task_status
,p_record_version_number => l_record_version_number
,p_percent_complete_id => l_percent_complete_id
,p_attribute_category => null
,p_attribute1 => null
,p_attribute2 => null
,p_attribute3 => null
,p_attribute4 => null
,p_attribute5 => null
,p_attribute6 => null
,p_attribute7 => null
,p_attribute8 => null
,p_attribute9 => null
,p_attribute10 => null
,p_attribute11 => null
,p_attribute12 => null
,p_attribute13 => null
,p_attribute14 => null
,p_attribute15 => null
,p_structure_type => p_structure_type
);
--update progress rollup
l_PROGRESS_ROLLUP_ID := PA_PROGRESS_UTILS.get_prog_rollup_id(
p_project_id => p_project_id
,p_object_id => p_object_id
,p_object_type => p_object_type
,p_object_version_id => p_object_version_id
,p_as_of_date => l_aod--p_as_of_date FPM Dev CR 3
,p_proj_element_id => p_object_id -- Bug 3764224
,p_action => p_action -- Bug 3879461
,x_record_version_number => l_rollup_rec_ver_number
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'l_PROGRESS_ROLLUP_ID='||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Update Action: Updating PA_PROGRESS_ROLLUP ', x_Log_Level=> 3);
pa_progress_rollup_pkg.update_row(
x_progress_rollup_id => l_progress_rollup_id
,x_project_id => p_project_id
,x_object_id => p_object_id
,x_object_type => p_object_type
,x_as_of_date => p_as_of_date
,x_object_version_id => p_object_version_id
,x_last_update_date => sysdate
,x_last_updated_by => l_user_id
,x_progress_status_code => l_rollup_progress_status
,x_last_update_login => l_login_id
,x_incremental_work_qty => l_incremental_work_qty
,x_cumulative_work_qty => l_cumulative_work_qty
-- ,x_base_percent_complete => l_base_percent_complete -- 4392189 phase 2
--bug 4506461 ,x_base_percent_complete => nvl(l_rollup_rec2.base_percent_complete, l_eff_rollup_percent_comp)
,x_base_percent_complete => l_temp_base_pc -- 4506461
,x_eff_rollup_percent_comp => l_eff_rollup_percent_comp --maansari5/21
,x_completed_percentage => nvl( l_rollup_completed_percentage, l_percent_complete ) --maansari5/21
,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_est_remaining_effort
,x_record_version_number => l_rollup_rec_ver_number
,x_base_percent_comp_deriv_code => l_base_percent_comp_deriv_code
,x_base_progress_status_code => l_date_override_flag -- 4533112 l_base_progress_status_code
,x_eff_rollup_prog_stat_code => l_rollup_rec2.eff_rollup_prog_stat_code
,x_percent_complete_id => l_percent_complete_id
,x_structure_type => p_structure_type -- l_rollup_rec2.structure_type fpm dev cr 3
,x_proj_element_id => l_rollup_rec2.proj_element_id
,x_structure_version_id => l_structure_version_id -- l_rollup_rec2.structure_version_id fpm dev cr 3
,x_ppl_act_effort_to_date => l_actual_effort -- bug 3796357 l_rollup_rec2.ppl_act_effort_to_date
,x_eqpmt_act_effort_to_date => l_rollup_rec2.eqpmt_act_effort_to_date
,x_eqpmt_etc_effort => l_rollup_rec2.eqpmt_etc_effort
,x_oth_act_cost_to_date_tc => l_rollup_rec2.oth_act_cost_to_date_tc
,x_oth_act_cost_to_date_fc => l_rollup_rec2.oth_act_cost_to_date_fc
,x_oth_act_cost_to_date_pc => l_rollup_rec2.oth_act_cost_to_date_pc
,x_oth_etc_cost_tc => l_rollup_rec2.oth_etc_cost_tc
,x_oth_etc_cost_fc => l_rollup_rec2.oth_etc_cost_fc
,x_oth_etc_cost_pc => l_rollup_rec2.oth_etc_cost_pc
,x_ppl_act_cost_to_date_tc => l_act_bur_cost_to_date_tc
,x_ppl_act_cost_to_date_fc => l_act_bur_cost_to_date_fc
,x_ppl_act_cost_to_date_pc => l_act_bur_cost_to_date_pc
,x_ppl_etc_cost_tc => l_etc_bur_cost_tc
,x_ppl_etc_cost_fc => l_etc_bur_cost_fc
,x_ppl_etc_cost_pc => l_etc_bur_cost_pc
,x_eqpmt_act_cost_to_date_tc => l_rollup_rec2.eqpmt_act_cost_to_date_tc
,x_eqpmt_act_cost_to_date_fc => l_rollup_rec2.eqpmt_act_cost_to_date_fc
,x_eqpmt_act_cost_to_date_pc => l_rollup_rec2.eqpmt_act_cost_to_date_pc
,x_eqpmt_etc_cost_tc => l_rollup_rec2.eqpmt_etc_cost_tc
,x_eqpmt_etc_cost_fc => l_rollup_rec2.eqpmt_etc_cost_fc
,x_eqpmt_etc_cost_pc => l_rollup_rec2.eqpmt_etc_cost_pc
,x_earned_value => l_earned_value -- l_rollup_rec2.earned_value -- fix for bug # 3957607.
,x_task_wt_basis_code => l_rollup_rec2.task_wt_basis_code
,x_subprj_ppl_act_effort => l_rollup_rec2.subprj_ppl_act_effort
,x_subprj_eqpmt_act_effort => l_rollup_rec2.subprj_eqpmt_act_effort
,x_subprj_ppl_etc_effort => l_rollup_rec2.subprj_ppl_etc_effort
,x_subprj_eqpmt_etc_effort => l_rollup_rec2.subprj_eqpmt_etc_effort
,x_sbpj_oth_act_cost_to_date_tc => l_rollup_rec2.subprj_oth_act_cost_to_date_tc
,x_sbpj_oth_act_cost_to_date_fc => l_rollup_rec2.subprj_oth_act_cost_to_date_fc
,x_sbpj_oth_act_cost_to_date_pc => l_rollup_rec2.subprj_oth_act_cost_to_date_pc
,x_subprj_ppl_act_cost_tc => l_rollup_rec2.subprj_ppl_act_cost_tc
,x_subprj_ppl_act_cost_fc => l_rollup_rec2.subprj_ppl_act_cost_fc
,x_subprj_ppl_act_cost_pc => l_rollup_rec2.subprj_ppl_act_cost_pc
,x_subprj_eqpmt_act_cost_tc => l_rollup_rec2.subprj_eqpmt_act_cost_tc
,x_subprj_eqpmt_act_cost_fc => l_rollup_rec2.subprj_eqpmt_act_cost_fc
,x_subprj_eqpmt_act_cost_pc => l_rollup_rec2.subprj_eqpmt_act_cost_pc
,x_subprj_oth_etc_cost_tc => l_rollup_rec2.subprj_oth_etc_cost_tc
,x_subprj_oth_etc_cost_fc => l_rollup_rec2.subprj_oth_etc_cost_fc
,x_subprj_oth_etc_cost_pc => l_rollup_rec2.subprj_oth_etc_cost_pc
,x_subprj_ppl_etc_cost_tc => l_rollup_rec2.subprj_ppl_etc_cost_tc
,x_subprj_ppl_etc_cost_fc => l_rollup_rec2.subprj_ppl_etc_cost_fc
,x_subprj_ppl_etc_cost_pc => l_rollup_rec2.subprj_ppl_etc_cost_pc
,x_subprj_eqpmt_etc_cost_tc => l_rollup_rec2.subprj_eqpmt_etc_cost_tc
,x_subprj_eqpmt_etc_cost_fc => l_rollup_rec2.subprj_eqpmt_etc_cost_fc
,x_subprj_eqpmt_etc_cost_pc => l_rollup_rec2.subprj_eqpmt_etc_cost_pc
,x_subprj_earned_value => l_rollup_rec2.subprj_earned_value
,x_current_flag => l_rollup_current_flag -- bug 3879461 l_current_flag --maansari7/21
,x_projfunc_cost_rate_type => l_projfunc_cost_rate_type --3627315 issue 4
,x_projfunc_cost_exchange_rate => l_projfunc_cost_exch_rate --3627315 issue 4
,x_projfunc_cost_rate_date => l_projfunc_cost_rate_date --3627315 issue 4
,x_proj_cost_rate_type => l_project_rate_type --3627315 issue 4
,x_proj_cost_exchange_rate => l_project_exch_rate --3627315 issue 4
,x_proj_cost_rate_date => l_project_rate_date --3627315 issue 4
,x_txn_currency_code => l_txn_currency_code --3627315 issue 4
,x_prog_pa_period_name => l_pa_period_name
,x_prog_gl_period_name => l_gl_period_name
,x_oth_quantity_to_date => l_rollup_rec2.oth_quantity_to_date
,x_oth_etc_quantity => l_rollup_rec2.oth_etc_quantity
,x_oth_act_rawcost_to_date_tc => l_rollup_rec2.oth_act_rawcost_to_date_tc
,x_oth_act_rawcost_to_date_fc => l_rollup_rec2.oth_act_rawcost_to_date_fc
,x_oth_act_rawcost_to_date_pc => l_rollup_rec2.oth_act_rawcost_to_date_pc
,x_oth_etc_rawcost_tc => l_rollup_rec2.oth_etc_rawcost_tc
,x_oth_etc_rawcost_fc => l_rollup_rec2.oth_etc_rawcost_fc
,x_oth_etc_rawcost_pc => l_rollup_rec2.oth_etc_rawcost_pc
,x_ppl_act_rawcost_to_date_tc => l_act_raw_cost_to_date_tc --3627315 issue 4
,x_ppl_act_rawcost_to_date_fc => l_act_raw_cost_to_date_fc --3627315 issue 4
,x_ppl_act_rawcost_to_date_pc => l_act_raw_cost_to_date_pc --3627315 issue 4
,x_ppl_etc_rawcost_tc => l_etc_raw_cost_tc --3627315 issue 4
,x_ppl_etc_rawcost_fc => l_etc_raw_cost_fc --3627315 issue 4
,x_ppl_etc_rawcost_pc => l_etc_raw_cost_pc --3627315 issue 4
,x_eqpmt_act_rawcost_to_date_tc => l_rollup_rec2.eqpmt_act_rawcost_to_date_tc
,x_eqpmt_act_rawcost_to_date_fc => l_rollup_rec2.eqpmt_act_rawcost_to_date_fc
,x_eqpmt_act_rawcost_to_date_pc => l_rollup_rec2.eqpmt_act_rawcost_to_date_pc
,x_eqpmt_etc_rawcost_tc => l_rollup_rec2.eqpmt_etc_rawcost_tc
,x_eqpmt_etc_rawcost_fc => l_rollup_rec2.eqpmt_etc_rawcost_fc
,x_eqpmt_etc_rawcost_pc => l_rollup_rec2.eqpmt_etc_rawcost_pc
,x_sp_oth_act_rawcost_todate_tc => l_rollup_rec2.spj_oth_act_rawcost_to_date_tc
,x_sp_oth_act_rawcost_todate_fc => l_rollup_rec2.spj_oth_act_rawcost_to_date_fc
,x_sp_oth_act_rawcost_todate_pc => l_rollup_rec2.spj_oth_act_rawcost_to_date_pc
,x_subprj_ppl_act_rawcost_tc => l_rollup_rec2.subprj_ppl_act_rawcost_tc
,x_subprj_ppl_act_rawcost_fc => l_rollup_rec2.subprj_ppl_act_rawcost_fc
,x_subprj_ppl_act_rawcost_pc => l_rollup_rec2.subprj_ppl_act_rawcost_pc
,x_subprj_eqpmt_act_rawcost_tc => l_rollup_rec2.subprj_eqpmt_act_rawcost_tc
,x_subprj_eqpmt_act_rawcost_fc => l_rollup_rec2.subprj_eqpmt_act_rawcost_fc
,x_subprj_eqpmt_act_rawcost_pc => l_rollup_rec2.subprj_eqpmt_act_rawcost_pc
,x_subprj_oth_etc_rawcost_tc => l_rollup_rec2.subprj_oth_etc_rawcost_tc
,x_subprj_oth_etc_rawcost_fc => l_rollup_rec2.subprj_oth_etc_rawcost_fc
,x_subprj_oth_etc_rawcost_pc => l_rollup_rec2.subprj_oth_etc_rawcost_pc
,x_subprj_ppl_etc_rawcost_tc => l_rollup_rec2.subprj_ppl_etc_rawcost_tc
,x_subprj_ppl_etc_rawcost_fc => l_rollup_rec2.subprj_ppl_etc_rawcost_fc
,x_subprj_ppl_etc_rawcost_pc => l_rollup_rec2.subprj_ppl_etc_rawcost_pc
,x_subprj_eqpmt_etc_rawcost_tc => l_rollup_rec2.subprj_eqpmt_etc_rawcost_tc
,x_subprj_eqpmt_etc_rawcost_fc => l_rollup_rec2.subprj_eqpmt_etc_rawcost_fc
,x_subprj_eqpmt_etc_rawcost_pc => l_rollup_rec2.subprj_eqpmt_etc_rawcost_pc
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Update Action: Updated PA_PROGRESS_ROLLUP ', x_Log_Level=> 3);
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
x_progress_rollup_id => l_progress_rollup_id
,x_project_id => p_project_id
,x_object_id => p_object_id
,x_object_type => p_object_type
,x_as_of_date => p_as_of_date
,x_object_version_id => p_object_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 => nvl( l_rollup_progress_status, p_progress_status_code ) --copy to rollup table. maansari: fpm changes 3420093
,x_last_update_login => l_login_id
,x_incremental_work_qty => l_incremental_work_qty
,x_cumulative_work_qty => l_cumulative_work_qty
-- ,x_base_percent_complete => l_base_percent_complete -- 4392189 phase 2
-- bug 4506461 ,x_base_percent_complete => nvl(l_rollup_rec1.base_percent_complete, l_eff_rollup_percent_comp)
,x_base_percent_complete => l_temp_base_pc -- 4506461
,x_eff_rollup_percent_comp => l_eff_rollup_percent_comp
,x_completed_percentage => nvl( l_rollup_completed_percentage, l_percent_complete ) --copy to rollup table. maansari: fpm changes 3420093
,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_est_remaining_effort
,x_base_percent_comp_deriv_code => l_base_percent_comp_deriv_code
,x_base_progress_status_code => l_date_override_flag -- 4533112 l_base_progress_status_code
,x_eff_rollup_prog_stat_code => l_eff_rollup_prog_stat_code
,x_percent_complete_id => l_percent_complete_id
,x_structure_type => p_structure_type
,x_proj_element_id => l_task_id
,x_structure_version_id => l_structure_version_id -- null fpm dev cr 3
,x_ppl_act_effort_to_date => l_actual_effort
,x_eqpmt_act_effort_to_date => l_eqpmt_act_effort_to_date -- bug 3796357 null --since this is a task progress, there wont be eqpmt effort.
,x_eqpmt_etc_effort => l_eqpmt_etc_effort -- bug 3796357 null
,x_oth_act_cost_to_date_tc => l_oth_act_cost_to_date_tc -- bug 3796357 null --no transaction is avialbale at task.
,x_oth_act_cost_to_date_fc => l_oth_act_cost_to_date_fc -- bug 3796357 null
,x_oth_act_cost_to_date_pc => l_oth_act_cost_to_date_pc -- bug 3796357 null
,x_oth_etc_cost_tc => l_oth_etc_cost_tc -- bug 3796357 null --no txn currency at task level.
,x_oth_etc_cost_fc => l_oth_etc_cost_fc -- bug 3796357 null
,x_oth_etc_cost_pc => l_oth_etc_cost_pc -- bug 3796357 null
,x_ppl_act_cost_to_date_tc => l_act_bur_cost_to_date_tc --3627315 issue 4
,x_ppl_act_cost_to_date_fc => l_act_bur_cost_to_date_fc --3627315 issue 4
,x_ppl_act_cost_to_date_pc => l_act_bur_cost_to_date_pc --3627315 issue 4
,x_ppl_etc_cost_tc => l_etc_bur_cost_tc --3627315 issue 4
,x_ppl_etc_cost_fc => l_etc_bur_cost_fc --3627315 issue 4
,x_ppl_etc_cost_pc => l_etc_bur_cost_pc --3627315 issue 4
,x_eqpmt_act_cost_to_date_tc => l_eqpmt_act_cost_to_date_tc-- bug 3796357 null
,x_eqpmt_act_cost_to_date_fc => l_eqpmt_act_cost_to_date_fc-- bug 3796357 null
,x_eqpmt_act_cost_to_date_pc => l_eqpmt_act_cost_to_date_pc-- bug 3796357 null
,x_eqpmt_etc_cost_tc => l_eqpmt_etc_cost_tc -- bug 3796357 null
,x_eqpmt_etc_cost_fc => l_eqpmt_etc_cost_fc -- bug 3796357 null
,x_eqpmt_etc_cost_pc => l_eqpmt_etc_cost_pc -- bug 3796357 null
,x_earned_value => l_earned_value
,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_rollup_current_flag
,x_projfunc_cost_rate_type => l_projfunc_cost_rate_type --3627315 issue 4
,x_projfunc_cost_exchange_rate => l_projfunc_cost_exch_rate --3627315 issue 4
,x_projfunc_cost_rate_date => l_projfunc_cost_rate_date --3627315 issue 4
,x_proj_cost_rate_type => l_project_rate_type --3627315 issue 4
,x_proj_cost_exchange_rate => l_project_exch_rate --3627315 issue 4
,x_proj_cost_rate_date => l_project_rate_date --3627315 issue 4
,x_txn_currency_code => l_txn_currency_code --3627315 issue 4
,x_prog_pa_period_name => l_pa_period_name
,x_prog_gl_period_name => l_gl_period_name
,x_oth_quantity_to_date => l_oth_quantity_to_date -- bug 3796357 null
,x_oth_etc_quantity => l_oth_etc_quantity -- bug 3796357 null
,x_oth_act_rawcost_to_date_tc => l_oth_act_rawcost_to_date_tc-- bug 3796357 null
,x_oth_act_rawcost_to_date_fc => l_oth_act_rawcost_to_date_fc-- bug 3796357 null
,x_oth_act_rawcost_to_date_pc => l_oth_act_rawcost_to_date_pc-- bug 3796357 null
,x_oth_etc_rawcost_tc => l_oth_etc_rawcost_tc-- bug 3796357 null
,x_oth_etc_rawcost_fc => l_oth_etc_rawcost_fc-- bug 3796357 null
,x_oth_etc_rawcost_pc => l_oth_etc_rawcost_pc-- bug 3796357 null
,x_ppl_act_rawcost_to_date_tc => l_act_raw_cost_to_date_tc --3627315 issue 4
,x_ppl_act_rawcost_to_date_fc => l_act_raw_cost_to_date_fc --3627315 issue 4
,x_ppl_act_rawcost_to_date_pc => l_act_raw_cost_to_date_pc --3627315 issue 4
,x_ppl_etc_rawcost_tc => l_etc_raw_cost_tc --3627315 issue 4
,x_ppl_etc_rawcost_fc => l_etc_raw_cost_fc --3627315 issue 4
,x_ppl_etc_rawcost_pc => l_etc_raw_cost_pc --3627315 issue 4
,x_eqpmt_act_rawcost_to_date_tc => l_eqpmt_act_rawcost_to_date_tc -- bug 3796357 null
,x_eqpmt_act_rawcost_to_date_fc => l_eqpmt_act_rawcost_to_date_fc -- bug 3796357 null
,x_eqpmt_act_rawcost_to_date_pc => l_eqpmt_act_rawcost_to_date_pc -- bug 3796357 null
,x_eqpmt_etc_rawcost_tc => l_eqpmt_etc_rawcost_tc-- bug 3796357 null
,x_eqpmt_etc_rawcost_fc => l_eqpmt_etc_rawcost_fc-- bug 3796357 null
,x_eqpmt_etc_rawcost_pc => l_eqpmt_etc_rawcost_pc-- bug 3796357 null
,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
);
--bug 3958686, insert assignment level records, start
IF NVL( l_lowest_level_task, 'N')='Y' AND NVL(l_assignment_exists, 'N') = 'N'
AND l_element_struc_type = 'WORKPLAN'
AND (nvl(l_actual_effort,0) <> 0 OR nvl(l_est_remaining_effort,0) <> 0) -- Bug 4632744
THEN
IF l_resource_list_member_id is not null
THEN
-- Bug 4632744
-- Commented below call
-- Added new
/*
PA_PROGRESS_PVT.convert_task_prog_to_assgn
( p_resource_list_mem_id => l_resource_list_member_id
,p_project_id => p_project_id
,p_task_id => p_object_id
,p_structure_version_id => l_structure_version_id
,p_as_of_date => trunc(p_as_of_date)
,p_action => p_action
,p_subprj_actual_exists => l_subproject_act_found -- 4490532
,p_object_version_id => p_object_version_id -- 4490532
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
PA_ASSIGNMENT_PROGRESS_PUB.UPDATE_ASSIGNMENT_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => l_calling_module
,p_action => p_action
,p_progress_mode => p_progress_mode
,p_percent_complete_id => null
,p_project_id => p_project_id
,p_object_id => l_resource_list_member_id
,p_object_version_id => p_object_version_id
,p_task_id => p_object_id
,p_as_of_date => p_as_of_date
,p_progress_comment => p_progress_comment
,p_brief_overview => p_brief_overview
,p_actual_start_date => l_actual_start_date
,p_actual_finish_date => l_actual_finish_date
,p_estimated_start_date => l_estimated_start_date
,p_estimated_finish_date => l_estimated_finish_date
,p_record_version_number => null
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,p_structure_version_id => p_structure_version_id
,p_actual_cost_this_period => null
,p_actual_effort_this_period => l_actual_effort_this_period
,p_rate_based_flag => l_rate_based_flag
,p_resource_class_code => l_resource_class_code
,p_actual_cost => null
,p_actual_effort => l_last_submitted_effort
,p_etc_cost_this_period => null
,p_etc_effort_this_period => l_est_remaining_effort
,p_txn_currency_code => l_txn_currency_code
,p_rbs_element_id => l_rbs_element_id
,p_resource_assignment_id => l_resource_assignment_id
,p_scheduled_start_date => l_scheduled_start_date
,p_scheduled_finish_date => l_scheduled_finish_date
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
--bug 3958686, insert assignment level records, end
IF p_action = 'PUBLISH'
THEN
-- Bug 4429929 : Now Cancel Status can only be changed thru Update Task
/*
--- call apis if the status is 'CANCELLED'
IF PA_PROGRESS_UTILS.get_system_task_status( l_TASK_STATUS ) = 'CANCELLED'
AND l_element_struc_type = 'WORKPLAN' --maansari: fpm changes
THEN
PA_PROJ_ELEMENTS_UTILS.Check_chg_stat_cancel_ok (
p_task_id => p_object_id
,p_task_version_id => p_object_version_id
,p_new_task_status => l_task_status
,x_return_status => l_return_status
,x_error_message_code => l_error_message_code
);
--- update % complete and prog stat for future rollup recs
update pa_progress_rollup
set completed_percentage = l_percent_complete,
progress_status_code = p_progress_status_code
where project_id = p_project_id
and object_id = p_object_id
and object_type = p_object_type
and structure_type = p_structure_type
and as_of_date > p_as_of_date
and current_flag <> 'W' -- Bug 3879461
and structure_version_id is null -- Bug 3879461
;
/* Bug 2751159 Moved the update task_status code out of IF condition for workplan
It means updation of task status shd happen for financial also */
IF (p_progress_mode <> 'BACKDATED')
THEN
--Update pa_proj_elements with the status
UPDATE pa_proj_elements
SET status_code = l_task_status
,last_update_date = decode(status_code,l_task_status,last_update_date,sysdate) --Bug 5978904
,last_update_login = decode(status_code,l_task_status,last_update_login,l_login_id) --Bug 5978904
,last_updated_by = decode(status_code,l_task_status,last_updated_by,l_user_id) --Bug 5978904
WHERE proj_element_id = p_object_id
AND project_id = p_project_id
AND object_type = p_object_type;
-- Bug 4429929 : Now Cancel Status can only be changed thru Update Task
/*
IF PA_PROGRESS_UTILS.get_system_task_status( l_TASK_STATUS ) = 'CANCELLED'
THEN
PA_TASK_PVT1.set_new_tasks_to_TBD(
p_project_id => p_project_id
,p_task_id => p_object_id
,p_task_status => l_task_status
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data);
PA_TASK_PUB1.Update_Schedule_Version(
p_pev_schedule_id => l_pev_schedule_id
,p_calling_module => p_calling_module
,p_actual_start_date => l_actual_start_date
,p_actual_finish_date => l_actual_finish_date
,p_estimate_start_date => l_estimated_start_date
,p_estimate_finish_date => l_estimated_finish_date
,p_record_version_number => l_sch_rec_ver_number
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data );
-- Bug 3248988 : Update_schedule_version adds the message, here message shd not be added
-- PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
-- p_msg_name => l_msg_data
-- );
PA_TASK_PVT1.Update_Dates_To_All_Versions(
p_project_id => p_project_id
,p_element_version_id => p_object_version_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data );
Select ppev1.proj_element_id
into l_structure_id
from pa_proj_element_versions ppev1, pa_proj_element_versions ppev2
where ppev2.element_version_id = p_object_version_id
and ppev2.project_id = ppev1.project_id
and ppev2.parent_structure_version_id = ppev1.element_version_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Update Task Progress Complete ', x_Log_Level=> 3);
rollback to UPDATE_TASK_PROGRESS;
rollback to UPDATE_TASK_PROGRESS;
p_procedure_name => 'UPDATE_TASK_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to UPDATE_TASK_PROGRESS;
p_procedure_name => 'UPDATE_TASK_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
END UPDATE_TASK_PROGRESS;
,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, for BUG 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';
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_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.init_err_stack ('PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT');
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT Start : Passed Parameters :', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_init_msg_list='||p_init_msg_list, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_commit='||p_commit, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_validate_only='||p_validate_only, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_validation_level='||p_validation_level, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_calling_module='||p_calling_module, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_debug_mode='||p_debug_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_max_msg_count='||p_max_msg_count, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_object_version_id='||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_task_version_id='||p_task_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_as_of_date='||p_as_of_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_lowest_level_task='||p_lowest_level_task, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_structure_version_id='||p_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_structure_type='||p_structure_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_fin_rollup_method='||p_fin_rollup_method, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_wp_rollup_method='||p_wp_rollup_method, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'p_published_structure='||p_published_structure, x_Log_Level=> 3);
savepoint UPDATE_ROLLUP_PROGRESS_PVT;
PA_PROGRESS_PVT.UPDATE_ROLLUP_PROGRESS_PVT(
p_api_version => p_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_debug_mode => p_debug_mode
,p_max_msg_count => p_max_msg_count
,p_project_id => p_project_id
,p_object_version_id => p_object_version_id
,p_as_of_date => p_as_of_date
,p_rollup_table => p_rollup_table
,p_lowest_level_task => p_lowest_level_task
,p_task_version_id => p_task_version_id
,p_structure_version_id => p_structure_version_id
,p_structure_type => p_structure_type
,p_fin_rollup_method => p_fin_rollup_method
,p_wp_rollup_method => p_wp_rollup_method
,p_published_structure => p_published_structure
,p_rollup_entire_wbs => p_rollup_entire_wbs
,p_working_wp_prog_flag => p_working_wp_prog_flag
,p_upd_new_elem_ver_id_flag => p_upd_new_elem_ver_id_flag --BUG 3951024
,p_progress_mode => p_progress_mode -- 4091457
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT End', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'FND_API.G_EXC_ERROR', x_Log_Level=> 3);
rollback to UPDATE_ROLLUP_PROGRESS_PVT;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'FND_API.G_EXC_UNEXPECTED_ERROR', x_Log_Level=> 3);
rollback to UPDATE_ROLLUP_PROGRESS_PVT;
p_procedure_name => 'UPDATE_ROLLUP_PROGRESS_PVT',
p_error_text => SUBSTRB(SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_ROLLUP_PROGRESS_PVT', x_Msg => 'OTHERS = '||sqlerrm, x_Log_Level=> 3);
rollback to UPDATE_ROLLUP_PROGRESS_PVT;
p_procedure_name => 'UPDATE_ROLLUP_PROGRESS_PVT',
p_error_text => SUBSTRB(SQLERRM,1,120));
END UPDATE_ROLLUP_PROGRESS_PVT;
,P_NEXT_PROGRESS_UPDATE_DATE IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_action_set_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_TASK_WEIGHT_BASIS_CODE IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,X_PROJ_PROGRESS_ATTR_ID IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
,P_ALLOW_COLLAB_PROG_ENTRY IN VARCHAR2 := 'N'
,P_ALLW_PHY_PRCNT_CMP_OVERRIDES IN VARCHAR2 := 'N'
,P_STRUCTURE_TYPE IN VARCHAR2 := 'WORKPLAN'
,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) := 'CREATE_PROJ_PROG_ATTR';
l_NEXT_PROGRESS_UPDATE_DATE DATE := null;
IF p_NEXT_PROGRESS_UPDATE_DATE = PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
THEN
l_NEXT_PROGRESS_UPDATE_DATE := null;
l_NEXT_PROGRESS_UPDATE_DATE := p_NEXT_PROGRESS_UPDATE_DATE;
PA_PROJ_PROGRESS_ATTR_PKG.INSERT_ROW(
X_PROJ_PROGRESS_ATTR_ID => X_PROJ_PROGRESS_ATTR_ID
,x_project_id => p_project_id
,X_OBJECT_TYPE => P_OBJECT_TYPE
,X_OBJECT_ID => P_OBJECT_ID
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => FND_GLOBAL.user_id
,X_CREATION_DATE => SYSDATE
,X_CREATED_BY => FND_GLOBAL.user_id
,X_LAST_UPDATE_LOGIN => FND_GLOBAL.login_id
,X_PROGRESS_CYCLE_ID => l_PROGRESS_CYCLE_ID
,X_WQ_ENABLE_FLAG => l_WQ_ENABLE_FLAG
,X_REMAIN_EFFORT_ENABLE_FLAG => l_REMAIN_EFFORT_ENABLE_FLAG
,X_PERCENT_COMP_ENABLE_FLAG => l_PERCENT_COMP_ENABLE_FLAG
,X_NEXT_PROGRESS_UPDATE_DATE => l_NEXT_PROGRESS_UPDATE_DATE
,X_TASK_WEIGHT_BASIS_CODE => l_TASK_WEIGHT_BASIS_CODE
,X_ALLOW_COLLAB_PROG_ENTRY => P_ALLOW_COLLAB_PROG_ENTRY
,X_ALLW_PHY_PRCNT_CMP_OVERRIDES => P_ALLW_PHY_PRCNT_CMP_OVERRIDES
,X_STRUCTURE_TYPE => P_STRUCTURE_TYPE
);
PROCEDURE UPDATE_PROJ_PROG_ATTR(
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_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_TYPE IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,P_OBJECT_ID IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,P_PROGRESS_CYCLE_ID IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,P_WQ_ENABLE_FLAG IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,P_REMAIN_EFFORT_ENABLE_FLAG IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,P_PERCENT_COMP_ENABLE_FLAG IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,P_NEXT_PROGRESS_UPDATE_DATE IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_action_set_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_TASK_WEIGHT_BASIS_CODE IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,P_PROJ_PROGRESS_ATTR_ID IN NUMBER
,p_record_version_number IN NUMBER
,p_allow_collab_prog_entry IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_allw_phy_prcnt_cmp_overrides IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_structure_type IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,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) := 'CREATE_PROJ_PROG_ATTR';
l_NEXT_PROGRESS_UPDATE_DATE DATE := null;
select task_weight_basis_code
from pa_proj_progress_attr
where proj_progress_attr_id = p_proj_progress_attr_id;
select str.element_version_id
from pa_proj_elem_ver_structure str,
pa_proj_elements pe,
pa_proj_structure_types pst
where pe.project_id = p_project_id
and pe.project_id = str.project_id
and pe.proj_element_id = str.proj_element_id
and str.status_code <> 'STRUCTURE_PUBLISHED'
and pe.proj_element_id = pst.proj_element_id
and pst.structure_type_id = 1;
select template_flag from pa_projects_all where project_id = p_project_id;
select str.element_version_id
from pa_proj_elem_ver_structure str,
pa_proj_elements pe,
pa_proj_structure_types pst
where pe.project_id = p_project_id
and pe.project_id = str.project_id
and pe.proj_element_id = str.proj_element_id
and pe.proj_element_id = pst.proj_element_id
and pst.structure_type_id = 1;
SELECT WQ_ENABLE_FLAG, REMAIN_EFFORT_ENABLE_FLAG,
PERCENT_COMP_ENABLE_FLAG
FROM PA_PROJ_PROGRESS_ATTR
WHERE PROJ_PROGRESS_ATTR_ID = p_PROJ_PROGRESS_ATTR_ID;
select 'Y'
from pa_proj_element_versions ppev
where ppev.parent_structure_version_id = c_str_ver_id
and ppev.object_type = 'PA_TASKS';
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_PROJ_PROG_ATTR');
pa_debug.debug('PA_PROGRESS_PUB.UPDATE_PROJ_PROG_ATTR');
savepoint UPDATE_PROJ_PROG_ATTR;
IF p_NEXT_PROGRESS_UPDATE_DATE = PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
THEN
l_NEXT_PROGRESS_UPDATE_DATE := null;
l_NEXT_PROGRESS_UPDATE_DATE := p_NEXT_PROGRESS_UPDATE_DATE;
PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG(
p_project_id => p_project_id,
p_structure_version_id => l_updt_struc_ver_id,
p_update_wbs_flag => 'Y',
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG(
p_project_id => p_project_id,
p_structure_version_id => l_updt_struc_ver_id,
p_update_wbs_flag => 'Y',
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG(
p_project_id => p_project_id,
p_structure_version_id => l_updt_struc_ver_id,
p_update_wbs_flag => 'N',
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG(
p_project_id => p_project_id,
p_structure_version_id => l_updt_struc_ver_id,
p_update_wbs_flag => 'N',
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
PA_PROJ_PROGRESS_ATTR_PKG.UPDATE_ROW(
X_PROJ_PROGRESS_ATTR_ID => P_PROJ_PROGRESS_ATTR_ID
,X_project_id => p_project_id
,X_OBJECT_TYPE => p_OBJECT_TYPE
,X_OBJECT_ID => p_OBJECT_ID
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => FND_GLOBAL.user_id
,X_LAST_UPDATE_LOGIN => FND_GLOBAL.login_id
,X_PROGRESS_CYCLE_ID => p_PROGRESS_CYCLE_ID
,X_WQ_ENABLE_FLAG => p_WQ_ENABLE_FLAG
,X_REMAIN_EFFORT_ENABLE_FLAG => p_REMAIN_EFFORT_ENABLE_FLAG
,X_PERCENT_COMP_ENABLE_FLAG => p_PERCENT_COMP_ENABLE_FLAG
,X_NEXT_PROGRESS_UPDATE_DATE => p_NEXT_PROGRESS_UPDATE_DATE
,X_record_version_number => p_record_version_number
,X_TASK_WEIGHT_BASIS_CODE => l_task_weight_basis_code
,X_ALLOW_COLLAB_PROG_ENTRY => p_allow_collab_prog_entry
,X_ALLW_PHY_PRCNT_CMP_OVERRIDES => p_allw_phy_prcnt_cmp_overrides
,X_STRUCTURE_TYPE => p_structure_type
);
pa_debug.debug('PA_PROGRESS_PUB.UPDATE_PROJ_PROG_ATTR END');
rollback to UPDATE_PROJ_PROG_ATTR;
rollback to UPDATE_PROJ_PROG_ATTR;
p_procedure_name => 'UPDATE_PROJ_PROG_ATTR',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to UPDATE_PROJ_PROG_ATTR;
p_procedure_name => 'UPDATE_PROJ_PROG_ATTR',
p_error_text => SUBSTRB(SQLERRM,1,120));
END UPDATE_PROJ_PROG_ATTR;
PROCEDURE DELETE_PROJ_PROG_ATTR(
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_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_TYPE IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,P_OBJECT_ID IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_structure_type IN VARCHAR2 := 'WORKPLAN' -- Amit
,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) := 'DELETE_PROJ_PROG_ATTR';
SELECT rowid
FROM pa_proj_progress_attr
WHERE project_id = p_project_id
AND object_type = p_object_type
AND object_id = p_object_id
AND structure_type = p_structure_type; -- Amit
pa_debug.init_err_stack ('PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR');
pa_debug.debug('PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR');
savepoint DELETE_PROJ_PROG_ATTR; --Amit
PA_PROJ_PROGRESS_ATTR_PKG.DELETE_ROW( l_ppp_row_id
);
pa_debug.debug('PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR END');
rollback to DELETE_PROJ_PROG_ATTR;
rollback to DELETE_PROJ_PROG_ATTR;
p_procedure_name => 'DELETE_PROJ_PROG_ATTR',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to DELETE_PROJ_PROG_ATTR;
p_procedure_name => 'DELETE_PROJ_PROG_ATTR',
p_error_text => SUBSTRB(SQLERRM,1,120));
END DELETE_PROJ_PROG_ATTR;
PROCEDURE delete_progress_record(
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_debug_mode IN VARCHAR2 :='N'
,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_structure_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_task_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,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) := 'CREATE_PROJ_PROG_ATTR';
SELECT rowid
FROM pa_percent_completes
WHERE object_version_id = p_structure_version_id
AND object_id = c_proj_element_id
AND project_id = c_project_id
AND object_type = 'PA_STRUCTURES';
SELECT rowid
FROM pa_progress_rollup
WHERE object_version_id = p_structure_version_id
AND object_id = c_proj_element_id
AND project_id = c_project_id
AND object_type = 'PA_STRUCTURES';
SELECT rowid
FROM pa_percent_completes
WHERE object_version_id = p_task_version_id
AND object_id = c_proj_element_id
AND project_id = c_project_id
AND object_type = 'PA_TASKS';
SELECT rowid
FROM pa_progress_rollup
WHERE object_version_id = p_task_version_id
AND object_id = c_proj_element_id
AND project_id = c_project_id
AND object_type = 'PA_TASKS';
SELECT project_id, proj_element_id
FROM pa_proj_element_versions
WHERE element_version_id = c_element_version_id
;
pa_debug.init_err_stack ('PA_PROGRESS_PUB.delete_progress_record');
pa_debug.debug('PA_PROGRESS_PUB.delete_progress_record');
savepoint delete_progress_record;
PA_PERCENT_COMPLETES_PKG.DELETE_ROW( l_ppc_row_id );
PA_PROGRESS_ROLLUP_PKG.DELETE_ROW( l_rollup_row_id );
rollback to delete_progress_record;
rollback to delete_progress_record;
p_procedure_name => 'delete_progress_record',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to delete_progress_record;
p_procedure_name => 'delete_progress_record',
p_error_text => SUBSTRB(SQLERRM,1,120));
END delete_progress_record;
SELECT pobj.object_id_to1, ppev1.proj_element_id,
sch.scheduled_start_date
FROM
( SELECT object_id_from1, object_id_to1
FROM pa_object_relationships
START WITH object_id_from1 = p_object_version_id
and relationship_type = 'S'
CONNECT BY object_id_from1 = PRIOR object_id_to1
and relationship_type = 'S'
UNION -- Bug 3878024 : Added Union
SELECT to_number(null) object_id_from1, p_object_version_id object_id_to1
FROM DUAL
) pobj,
pa_proj_element_versions ppev1,
pa_proj_elem_ver_schedule sch
WHERE pobj.object_id_to1 = ppev1.element_version_id
AND ppev1.element_version_id = sch.element_version_id;
select completed_percentage, published_flag, current_flag,
actual_start_date, actual_finish_date
from
pa_percent_completes ppc
WHERE ppc.object_id = l_obj_id
AND ppc.object_type = 'PA_TASKS'
AND ppc.structure_type = 'WORKPLAN' -- FPM Dev CR 3
AND ppc.project_id = p_project_id
AND ((ppc.current_flag = 'N' AND ppc.published_flag = 'N') OR
(ppc.current_flag = 'Y' AND ppc.published_flag = 'Y'))
;
SELECT ptav.resource_class_code, ptav.RESOURCE_ALIAS, ptav.resource_list_member_id, ptav.rate_based_flag, ptav.rbs_element_id
, ptav.task_id proj_element_id, ptav.task_version_id, ptav.planned_quantity, ptav.planned_bur_cost_txn_cur
, ptav.planned_bur_cost_projfunc, ptav.planned_bur_cost_proj_cur, ptav.planned_raw_cost_txn_cur
, ptav.planned_raw_cost_proj_cur , ptav.planned_raw_cost_projfunc, ptav.txn_currency_code
, ppr.current_flag, 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.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_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.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_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.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.as_of_date
, ptav.assignment_start_date
FROM pa_task_asgmts_V ptav
, pa_progress_rollup ppr
WHERE ptav.task_version_id = c_task_version_id
-- AND ptav.structure_version_id = l_structure_version_id
AND ptav.task_id = c_task_id
AND ptav.project_id = p_project_id
AND ptav.ta_display_flag = 'Y'
AND ppr.object_id(+) = ptav.resource_list_member_id
AND ppr.object_type(+) = 'PA_ASSIGNMENTS'
AND ppr.proj_element_id(+) = c_task_id
AND ppr.current_flag(+) <> 'N' ---IN ('Y', 'W')
AND ppr.project_id(+) = p_project_id
AND ppr.structure_type(+) = 'WORKPLAN'
AND ppr.structure_version_id(+) is null
;
SELECT ptav.resource_class_code, ptav.RESOURCE_ALIAS, ptav.resource_list_member_id, ptav.rate_based_flag, ptav.rbs_element_id
, ptav.task_id proj_element_id, ptav.task_version_id, ptav.planned_quantity, ptav.planned_bur_cost_txn_cur
, ptav.planned_bur_cost_projfunc, ptav.planned_bur_cost_proj_cur, ptav.planned_raw_cost_txn_cur
, ptav.planned_raw_cost_proj_cur , ptav.planned_raw_cost_projfunc, ptav.txn_currency_code
, ppr.current_flag, 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.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_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.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_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.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.as_of_date
, ptav.assignment_start_date
FROM pa_task_asgmts_V ptav
, pa_progress_rollup ppr
WHERE ptav.task_version_id = c_task_version_id
-- AND ptav.structure_version_id = l_structure_version_id
AND ptav.task_id = c_task_id
AND ptav.project_id = p_project_id
AND ptav.ta_display_flag = 'N'
-- 4490532AND ppr.object_id = c_task_id
-- 4490532AND ppr.object_type = 'PA_TASKS'
AND ppr.object_id(+) = ptav.resource_list_member_id -- 4490532
AND ppr.object_type(+) = 'PA_ASSIGNMENTS' -- 4490532
AND ppr.proj_element_id(+) = c_task_id
AND ppr.current_flag(+) <> 'N' ----IN ('Y', 'W')
AND ppr.project_id(+) = p_project_id
AND ppr.structure_type(+) = 'WORKPLAN'
AND ppr.structure_version_id(+) is null
;
SELECT nvl(ttype.PROG_ENTRY_ENABLE_FLAG, 'N')
from pa_task_types ttype
, pa_proj_elements elem
where elem.project_id = p_project_id
and elem.proj_element_id = c_proj_element_id
and elem.object_type = 'PA_TASKS'
and elem.type_id = ttype.task_type_id;
SELECT parent_structure_version_id INTO l_structure_version_id
FROM pa_proj_element_versions
WHERE element_version_id = p_object_version_id;
UPDATE pa_proj_elements
SET status_code = p_task_status
WHERE proj_element_id = p_object_id
AND project_id = p_project_id;
UPDATE pa_percent_completes
SET status_code = p_task_status,
completed_percentage = 100,
Actual_Finish_date = p_actual_finish_date
WHERE object_id = P_Object_ID
AND project_id = p_project_id
AND date_computed = p_as_of_date
AND structure_type = p_structure_type
;
UPDATE pa_progress_rollup
SET completed_percentage = 100,
Actual_Finish_date = p_actual_finish_date,
EQPMT_ETC_EFFORT = 0,
OTH_ETC_COST_TC = 0,
OTH_ETC_COST_FC = 0,
OTH_ETC_COST_PC = 0,
PPL_ETC_COST_TC= 0,
PPL_ETC_COST_FC= 0,
PPL_ETC_COST_PC = 0,
EQPMT_ETC_COST_TC = 0,
EQPMT_ETC_COST_FC = 0,
EQPMT_ETC_COST_PC = 0
WHERE object_id = p_object_id
and current_flag = 'Y'
AND as_of_date = p_as_of_date
AND structure_type = p_structure_type
AND structure_version_id IS NULL -- Bug 3764224
and current_flag <> 'W' -- Bug 3879461
AND project_id = p_project_id;
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => cur_task_assignments_rec.resource_list_member_id
,X_OBJECT_TYPE => 'PA_ASSIGNMENTS'
,X_AS_OF_DATE => l_push_as_of_date
,X_OBJECT_VERSION_ID => cur_tasks_rec.object_id_to1
,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_prog_stats_code-- 'PROGRESS_STAT_ON_TRACK'
,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 => null
,X_COMPLETED_PERCENTAGE => null
,X_ESTIMATED_START_DATE => null
,X_ESTIMATED_FINISH_DATE => null
,X_ACTUAL_START_DATE => null
,X_ACTUAL_FINISH_DATE => null
,X_EST_REMAINING_EFFORT => null
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => null
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,x_percent_complete_id => null
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => cur_task_assignments_rec.proj_element_id
,X_STRUCTURE_VERSION_ID => null
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => 'Y'
,X_PROJFUNC_COST_RATE_TYPE => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => cur_task_assignments_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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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
);
UPDATE pa_percent_completes
SET Actual_Finish_date = p_actual_finish_date
WHERE object_id = cur_task_assignments_rec.resource_list_member_id
AND project_id = p_project_id
AND task_id = cur_task_assignments_rec.proj_element_id
AND object_type = 'PA_ASSIGNMENTS'
AND structure_type = p_structure_type
AND ((current_flag = 'Y' and published_flag = 'Y') or
(current_flag = 'N' and published_flag = 'N'))
;
UPDATE pa_progress_rollup
SET actual_start_date = decode(actual_start_date, null, cur_task_assignments_rec.assignment_start_date, actual_start_date),
Actual_Finish_date = p_actual_finish_date,
estimated_remaining_effort = 0,
EQPMT_ETC_EFFORT = 0,
oth_etc_quantity = 0,
OTH_ETC_COST_TC = 0,
OTH_ETC_COST_FC = 0,
OTH_ETC_COST_PC = 0,
OTH_ETC_RAWCOST_TC = 0,
OTH_ETC_RAWCOST_FC = 0,
OTH_ETC_RAWCOST_PC = 0,
PPL_ETC_COST_TC= 0,
PPL_ETC_COST_FC= 0,
PPL_ETC_COST_PC = 0,
PPL_ETC_RAWCOST_TC= 0,
PPL_ETC_RAWCOST_FC= 0,
PPL_ETC_RAWCOST_PC = 0,
EQPMT_ETC_COST_TC = 0,
EQPMT_ETC_COST_FC = 0,
EQPMT_ETC_COST_PC = 0,
EQPMT_ETC_RAWCOST_TC = 0,
EQPMT_ETC_RAWCOST_FC = 0,
EQPMT_ETC_RAWCOST_PC = 0
WHERE object_id = cur_task_assignments_rec.resource_list_member_id
and current_flag IN ('Y', 'W')
AND object_type = 'PA_ASSIGNMENTS'
AND structure_type = p_structure_type
AND proj_element_id = cur_task_assignments_rec.proj_element_id
AND structure_version_id IS NULL
AND project_id = p_project_id;
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => cur_task_assignments_rec.proj_element_id
,X_OBJECT_TYPE => 'PA_TASKS'
,X_AS_OF_DATE => l_push_as_of_date
,X_OBJECT_VERSION_ID => cur_tasks_rec.object_id_to1
,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_prog_stats_code--'PROGRESS_STAT_ON_TRACK'
,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 => null
,X_COMPLETED_PERCENTAGE => 100
,X_ESTIMATED_START_DATE => null
,X_ESTIMATED_FINISH_DATE => null
,X_ACTUAL_START_DATE => null
,X_ACTUAL_FINISH_DATE => null
,X_EST_REMAINING_EFFORT => null
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => null
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,x_percent_complete_id => null
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => cur_task_assignments_rec.proj_element_id
,X_STRUCTURE_VERSION_ID => null
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => 'Y'
,X_PROJFUNC_COST_RATE_TYPE => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => cur_task_assignments_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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => cur_task_assignments_rec.resource_list_member_id
,X_OBJECT_TYPE => 'PA_ASSIGNMENTS'
,X_AS_OF_DATE => l_push_as_of_date
,X_OBJECT_VERSION_ID => cur_tasks_rec.object_id_to1
,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_prog_stats_code--'PROGRESS_STAT_ON_TRACK'
,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 => null
,X_COMPLETED_PERCENTAGE => null
,X_ESTIMATED_START_DATE => null
,X_ESTIMATED_FINISH_DATE => null
,X_ACTUAL_START_DATE => null
,X_ACTUAL_FINISH_DATE => null
,X_EST_REMAINING_EFFORT => null
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => null
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,x_percent_complete_id => null
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => cur_task_assignments_rec.proj_element_id
,X_STRUCTURE_VERSION_ID => null
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => 'Y'
,X_PROJFUNC_COST_RATE_TYPE => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => cur_task_assignments_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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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
);
UPDATE pa_progress_rollup
SET actual_start_date = decode(actual_start_date, null, cur_task_assignments_rec.assignment_start_date, actual_start_date),
Actual_Finish_date = p_actual_finish_date,
estimated_remaining_effort = 0,
EQPMT_ETC_EFFORT = 0,
oth_etc_quantity = 0,
OTH_ETC_COST_TC = 0,
OTH_ETC_COST_FC = 0,
OTH_ETC_COST_PC = 0,
OTH_ETC_RAWCOST_TC = 0,
OTH_ETC_RAWCOST_FC = 0,
OTH_ETC_RAWCOST_PC = 0,
PPL_ETC_COST_TC= 0,
PPL_ETC_COST_FC= 0,
PPL_ETC_COST_PC = 0,
PPL_ETC_RAWCOST_TC= 0,
PPL_ETC_RAWCOST_FC= 0,
PPL_ETC_RAWCOST_PC = 0,
EQPMT_ETC_COST_TC = 0,
EQPMT_ETC_COST_FC = 0,
EQPMT_ETC_COST_PC = 0,
EQPMT_ETC_RAWCOST_TC = 0,
EQPMT_ETC_RAWCOST_FC = 0,
EQPMT_ETC_RAWCOST_PC = 0
WHERE object_id = cur_task_assignments_rec.resource_list_member_id
and current_flag IN ('Y', 'W')
AND object_type = 'PA_ASSIGNMENTS'
AND structure_type = p_structure_type
AND proj_element_id = cur_task_assignments_rec.proj_element_id
AND structure_version_id IS NULL
AND project_id = p_project_id;
UPDATE pa_proj_elements
SET status_code = p_task_status
,last_update_date = decode(status_code,p_task_status,last_update_date,sysdate) --Bug 5978904
,last_update_login = decode(status_code,p_task_status,last_update_login,l_login_id) --Bug 5978904
,last_updated_by = decode(status_code,p_task_status,last_updated_by,l_user_id) --Bug 5978904
WHERE proj_element_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' );
UPDATE pa_percent_completes
SET status_code = p_task_status,
completed_percentage = 100,
Actual_Finish_date = p_actual_finish_date,
actual_start_date = decode(actual_start_date, null, cur_tasks_rec.scheduled_start_date, actual_start_date)
WHERE object_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
AND task_id = cur_tasks_rec.proj_element_id
AND object_type = 'PA_TASKS'
AND structure_type = p_structure_type
AND ((current_flag = 'Y' and published_flag = 'Y') or
(current_flag = 'N' and published_flag = 'N'))
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' )
;
UPDATE pa_progress_rollup
SET Actual_Finish_date = p_actual_finish_date,
actual_start_date = decode(actual_start_date, null, cur_tasks_rec.scheduled_start_date, actual_start_date),
completed_percentage = 100,
estimated_remaining_effort = 0,
EQPMT_ETC_EFFORT = 0,
oth_etc_quantity = 0,
OTH_ETC_COST_TC = 0,
OTH_ETC_COST_FC = 0,
OTH_ETC_COST_PC = 0,
OTH_ETC_RAWCOST_TC = 0,
OTH_ETC_RAWCOST_FC = 0,
OTH_ETC_RAWCOST_PC = 0,
PPL_ETC_COST_TC= 0,
PPL_ETC_COST_FC= 0,
PPL_ETC_COST_PC = 0,
PPL_ETC_RAWCOST_TC= 0,
PPL_ETC_RAWCOST_FC= 0,
PPL_ETC_RAWCOST_PC = 0,
EQPMT_ETC_COST_TC = 0,
EQPMT_ETC_COST_FC = 0,
EQPMT_ETC_COST_PC = 0,
EQPMT_ETC_RAWCOST_TC = 0,
EQPMT_ETC_RAWCOST_FC = 0,
EQPMT_ETC_RAWCOST_PC = 0
WHERE object_id = cur_tasks_rec.proj_element_id
and current_flag IN ('Y', 'W')
AND object_type = 'PA_TASKS'
AND structure_type = p_structure_type
AND proj_element_id = cur_tasks_rec.proj_element_id
AND structure_version_id IS NULL
AND project_id = p_project_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.PUSH_DOWN_TASK_STATUS', x_Msg => 'Inserting Tasks Record in PA_PROGRESS_ROLLUP ', x_Log_Level=> 3);
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID =>p_project_id
,X_OBJECT_ID => cur_tasks_rec.proj_element_id
,X_OBJECT_TYPE => 'PA_TASKS'
,X_AS_OF_DATE => l_push_as_of_date
,X_OBJECT_VERSION_ID => cur_tasks_rec.object_id_to1
,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_prog_stats_code--'PROGRESS_STAT_ON_TRACK'
,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 => null
,X_COMPLETED_PERCENTAGE => l_percent_complete
,X_ESTIMATED_START_DATE => null
,X_ESTIMATED_FINISH_DATE => null
,X_ACTUAL_START_DATE => cur_tasks_rec.scheduled_start_date
,X_ACTUAL_FINISH_DATE => p_actual_finish_date
,X_EST_REMAINING_EFFORT => null
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => l_prog_stats_code--'PROGRESS_STAT_ON_TRACK'
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,x_percent_complete_id => null
,X_STRUCTURE_TYPE => 'WORKPLAN'
,X_PROJ_ELEMENT_ID => cur_tasks_rec.proj_element_id
,X_STRUCTURE_VERSION_ID => null
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => 'Y'
,X_PROJFUNC_COST_RATE_TYPE => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => null
,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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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_PUB.UPDATE_TASK_PROGRESS', x_Msg => 'Inserted Tasks Record in PA_PROGRESS_ROLLUP ', x_Log_Level=> 3);
PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE (x_msg_code => l_msg_code,
x_return_status => x_return_status);
p_error_text => SUBSTRB('Call PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE:'||SQLERRM,1,120));
UPDATE pa_proj_elements
SET status_code = p_task_status
WHERE proj_element_id = p_object_id
AND project_id = p_project_id;
UPDATE pa_proj_elements
SET status_code = p_task_status
,last_update_date = decode(status_code,p_task_status,last_update_date,sysdate) --Bug 5978904
,last_update_login = decode(status_code,p_task_status,last_update_login,l_login_id) --Bug 5978904
,last_updated_by = decode(status_code,p_task_status,last_updated_by,l_user_id) --Bug 5978904
WHERE proj_element_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
and object_type = 'PA_TASKS'
-- Taks Status does not drill down to Delievrables IN ('PA_TASKS', 'PA_DELIVERABLES')
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' );
UPDATE pa_percent_completes
SET status_code = p_task_status
WHERE object_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
and object_type = 'PA_TASKS'
and structure_type = p_structure_type -- FPM Dev CR 3
-- Taks Status does not drill down to Delievrables IN ('PA_TASKS', 'PA_DELIVERABLES')
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' )
AND ((current_flag = 'Y' and published_flag = 'Y') or
(current_flag = 'N' and published_flag = 'N'));
UPDATE pa_proj_elements
SET status_code = l_status_code
,last_update_date = decode(status_code,l_status_code,last_update_date,sysdate) --Bug 5978904
,last_update_login = decode(status_code,l_status_code,last_update_login,l_login_id) --Bug 5978904
,last_updated_by = decode(status_code,l_status_code,last_updated_by,l_user_id) --Bug 5978904
WHERE proj_element_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
and Object_Type = 'PA_TASKS' -- Bhumesh
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' );
UPDATE pa_percent_completes
SET status_code = l_status_code
WHERE object_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
and Object_Type = 'PA_TASKS' -- Bhumesh
and structure_type = p_structure_type -- FPM Dev CR 3
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' )
AND current_flag = 'Y' and published_flag = 'Y';
UPDATE pa_percent_completes
SET status_code = l_status_code
WHERE object_id = cur_tasks_rec.proj_element_id
AND project_id = p_project_id
and Object_Type = 'PA_TASKS' -- Bhumesh
and structure_type = p_structure_type -- FPM Dev CR 3
AND PA_PROGRESS_UTILS.get_system_task_status( status_code )
NOT IN ( 'CANCELLED', 'COMPLETED' )
AND current_flag = 'N' and published_flag = 'N';
procedure Update_PC_PARTY_MERGE(p_entity_name in varchar2,
p_from_id in number,
p_to_id in out nocopy number,
p_from_fk_id in number,
p_to_fk_id in number,
p_parent_entity_name in varchar2,
p_batch_id in number,
p_batch_party_id in number,
p_return_status in out nocopy varchar2) is
begin
p_return_status := FND_API.G_RET_STS_SUCCESS;
update pa_percent_completes
set PUBLISHED_BY_PARTY_ID = p_to_fk_id,
last_update_date = hz_utility_pub.last_update_date,
last_updated_by = hz_utility_pub.user_id,
last_update_login = hz_utility_pub.last_update_login
where PUBLISHED_BY_PARTY_ID = p_from_fk_id
;
end Update_PC_PARTY_MERGE;
select ppr.*
from pa_progress_rollup ppr, pa_proj_element_versions ppev --4871809
where ppr.project_id = p_project_id
and ppr.structure_version_id is null
and ppr.object_type in ('PA_STRUCTURES','PA_ASSIGNMENTS','PA_TASKS')
--and pa_proj_elements_utils.is_lowest_task(ppr.object_version_id) = 'Y' --bug 4050532
and structure_type = 'WORKPLAN' -- FPM Dev CR 3
and current_flag = 'Y'
and ppr.proj_element_id = ppev.proj_element_id
and ppev.parent_structure_version_id = p_working_str_version_id
and nvl(ppev.task_unpub_ver_status_code,'X') <>'TO_BE_DELETED' ;
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' -- Bug 3879461
;
select element_version_id
from pa_proj_element_versions
where project_id = p_project_id
and proj_element_id = c_proj_element_id
and parent_structure_version_id = c_structure_version_id;
select ptav1.resource_assignment_id, ptav1.resource_list_member_id, ptav1.txn_currency_code
,ptav1.resource_class_code, ptav1.rate_based_flag, ptav1.rbs_element_id
from pa_task_asgmts_v ptav1
where ptav1.resource_list_member_id = p_object_id
and ptav1.structure_version_id = p_working_str_version_id
and ptav1.task_id = p_task_id
;
select rbs_element_id, rate_based_flag, resource_class_code, txn_currency_code
,resource_list_member_id ,resource_assignment_id--bug 3935699
from pa_task_asgmts_v
where project_id = p_project_id
and resource_list_member_id = p_res_list_member_id -- Commented out to fix Bug # 3815741.
--uncommented the resource_list_member_id for bug 3839699
and task_id = p_task_id
and task_version_id = p_task_version_id
and structure_version_id = p_structure_version_id;
SELECT decode( ppe.base_percent_comp_deriv_code, null, ptt.base_percent_comp_deriv_code, '^', ptt.base_percent_comp_deriv_code, ppe.base_percent_comp_deriv_code )
from pa_proj_elements ppe
,pa_task_types ptt --added during the bugfix 3962823.
where ppe.project_id = p_project_id
and ppe.proj_element_id = c_proj_element_id
and ppe.type_id = ptt.task_type_id
;
select task_version_id, 'PA_ASSIGNMENTS' object_type,
resource_assignment_id, TXN_CURRENCY_CODE
from pa_task_asgmts_v ptav
where ptav.project_id= p_project_id
and ptav.structure_version_id = p_working_str_version_id
and ptav.planning_start_date <= l_etc_start_date
-- Bug 3958686 : Commenting the ta_display_flag portion
and NOT EXISTS ( select 'x' from pa_progress_rollup
where project_id=p_project_id
and object_id = ptav.resource_list_member_id
and proj_element_id = ptav.task_id
and object_type = 'PA_ASSIGNMENTS'
and structure_type = 'WORKPLAN' -- Bug 3879461
and structure_version_id is null
and current_flag = 'Y'
);
select scheduled_start_date
,scheduled_finish_date
from pa_proj_elem_ver_schedule
where project_id = p_project_id
and proj_element_id = p_object_id
and element_version_id = p_object_version_id;
select resource_class_code
,resource_list_member_id
,assignment_start_date
,assignment_end_date
,txn_currency_code
,resource_assignment_id
-- Bug 3818439 : Added planned amount here
,planned_quantity
,planned_bur_cost_txn_cur
,planned_bur_cost_projfunc
,planned_bur_cost_proj_cur
,planned_raw_cost_txn_cur
,planned_raw_cost_proj_cur
,planned_raw_cost_projfunc
,rate_based_flag --bug 3841547
,ta_display_flag --bug 4021315
from pa_task_asgmts_v
where project_id = p_project_id
-- and resource_assignment_id = p_object_id Bug 3764224
and resource_list_member_id = p_object_id -- Bug 3764224
and task_id = p_task_id
--and task_version_id = p_task_version_id --bug 3911600
and structure_version_id = pa_proj_elements_utils.latest_published_ver_id(p_project_id,'WORKPLAN');
select pppa.task_weight_basis_code
from pa_proj_progress_attr pppa
where project_id=p_project_id
and structure_type ='WORKPLAN'
;
LAST_UPDATE_DATE PA_PLSQL_DATATYPES.DateTabTyp;
LAST_UPDATED_BY PA_PLSQL_DATATYPES.Num15TabTyp;
LAST_UPDATE_LOGIN PA_PLSQL_DATATYPES.Num15TabTyp;
select pa_progress_rollup_s.nextval into progress_rollup_id(l_index2) from dual;
LAST_UPDATE_DATE(l_index2) := sysdate;
LAST_UPDATED_BY(l_index2) := fnd_global.user_id;
LAST_UPDATE_LOGIN(l_index2) := fnd_global.login_id ;
UPDATE pa_progress_rollup
SET EFF_ROLLUP_PERCENT_COMP = l_EFF_ROLLUP_PERCENT_COMP
,last_update_date = SYSDATE
WHERE progress_rollup_id = l_c1rec.progress_rollup_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV', x_Msg => 'Before BULK insert l_EFF_ROLLUP_PERCENT_COMP='||l_EFF_ROLLUP_PERCENT_COMP, x_Log_Level=> 3);
DELETE FROM pa_progress_rollup WHERE project_id = p_project_id and structure_version_id = p_working_str_version_id;
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
,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
,OTH_ACT_COST_TO_DATE_TC
,OTH_ACT_COST_TO_DATE_FC
,OTH_ACT_COST_TO_DATE_PC
,PPL_ACT_COST_TO_DATE_TC
,PPL_ACT_COST_TO_DATE_FC
,PPL_ACT_COST_TO_DATE_PC
,EQPMT_ACT_COST_TO_DATE_TC
,EQPMT_ACT_COST_TO_DATE_FC
,EQPMT_ACT_COST_TO_DATE_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_ACT_RAWCOST_TO_DATE_TC
,OTH_ACT_RAWCOST_TO_DATE_FC
,OTH_ACT_RAWCOST_TO_DATE_PC
,PPL_ACT_RAWCOST_TO_DATE_TC
,PPL_ACT_RAWCOST_TO_DATE_FC
,PPL_ACT_RAWCOST_TO_DATE_PC
,EQPMT_ACT_RAWCOST_TO_DATE_TC
,EQPMT_ACT_RAWCOST_TO_DATE_FC
,EQPMT_ACT_RAWCOST_TO_DATE_PC
)
VALUES(
PROGRESS_ROLLUP_ID(l_index1)
,PERCENT_COMPLETE_ID(l_index1)
,PROJECT_ID(l_index1)
,OBJECT_ID(l_index1)
,OBJECT_TYPE(l_index1)
,AS_OF_DATE(l_index1)
,OBJECT_VERSION_ID(l_index1)
,LAST_UPDATE_DATE(l_index1)
,LAST_UPDATED_BY(l_index1)
,CREATION_DATE(l_index1)
,CREATED_BY(l_index1)
,PROGRESS_STATUS_CODE(l_index1)
,LAST_UPDATE_LOGIN(l_index1)
,INCREMENTAL_WORK_QUANTITY(l_index1)
,CUMULATIVE_WORK_QUANTITY(l_index1)
,BASE_PERCENT_COMPLETE(l_index1)
,EFF_ROLLUP_PERCENT_COMP(l_index1)
,COMPLETED_PERCENTAGE(l_index1)
,ESTIMATED_START_DATE(l_index1)
,ESTIMATED_FINISH_DATE(l_index1)
,ACTUAL_START_DATE(l_index1)
,ACTUAL_FINISH_DATE(l_index1)
,RECORD_VERSION_NUMBER(l_index1)
,BASE_PERCENT_COMP_DERIV_CODE(l_index1)
,BASE_PROGRESS_STATUS_CODE(l_index1)
,EFF_ROLLUP_PROG_STAT_CODE(l_index1)
,STRUCTURE_TYPE(l_index1)
,PROJ_ELEMENT_ID(l_index1)
,STRUCTURE_VERSION_ID(l_index1)
,PPL_ACT_EFFORT_TO_DATE(l_index1)
,EQPMT_ACT_EFFORT_TO_DATE(l_index1)
,OTH_ACT_COST_TO_DATE_TC(l_index1)
,OTH_ACT_COST_TO_DATE_FC(l_index1)
,OTH_ACT_COST_TO_DATE_PC(l_index1)
,PPL_ACT_COST_TO_DATE_TC(l_index1)
,PPL_ACT_COST_TO_DATE_FC(l_index1)
,PPL_ACT_COST_TO_DATE_PC(l_index1)
,EQPMT_ACT_COST_TO_DATE_TC(l_index1)
,EQPMT_ACT_COST_TO_DATE_FC(l_index1)
,EQPMT_ACT_COST_TO_DATE_PC(l_index1)
,EARNED_VALUE(l_index1)
,TASK_WT_BASIS_CODE(l_index1)
,CURRENT_FLAG(l_index1)
,PROJFUNC_COST_RATE_TYPE(l_index1)
,PROJFUNC_COST_EXCHANGE_RATE(l_index1)
,PROJFUNC_COST_RATE_DATE(l_index1)
,PROJ_COST_RATE_TYPE(l_index1)
,PROJ_COST_EXCHANGE_RATE(l_index1)
,PROJ_COST_RATE_DATE(l_index1)
,TXN_CURRENCY_CODE(l_index1)
,PROG_PA_PERIOD_NAME(l_index1)
,PROG_GL_PERIOD_NAME(l_index1)
,OTH_QUANTITY_TO_DATE(l_index1)
,OTH_ACT_RAWCOST_TO_DATE_TC(l_index1)
,OTH_ACT_RAWCOST_TO_DATE_FC(l_index1)
,OTH_ACT_RAWCOST_TO_DATE_PC(l_index1)
,PPL_ACT_RAWCOST_TO_DATE_TC(l_index1)
,PPL_ACT_RAWCOST_TO_DATE_FC(l_index1)
,PPL_ACT_RAWCOST_TO_DATE_PC(l_index1)
,EQPMT_ACT_RAWCOST_TO_DATE_TC(l_index1)
,EQPMT_ACT_RAWCOST_TO_DATE_FC(l_index1)
,EQPMT_ACT_RAWCOST_TO_DATE_PC(l_index1)
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV', x_Msg => 'Done with BULK insert into pa_progress_rollup', x_Log_Level=> 3);
pa_fp_planning_transaction_pub.update_planning_transactions
(p_context => 'TASK_ASSIGNMENT'
,p_struct_elem_version_id => p_working_str_version_id
,p_resource_assignment_id_tbl => l_res_assgn_id_tbl_assgn
,p_quantity_tbl => l_planned_qty_tbl_assgn
,p_currency_code_tbl => l_currency_code_tbl_assgn
,p_apply_progress_flag => 'Y'
,p_raw_cost_tbl => l_raw_cost_tbl_assgn
,p_burdened_cost_tbl => l_burdened_cost_tbl_assgn
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV', x_Msg => 'Before calling PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV', x_Msg => 'Done with calling PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE:l_return_status='||l_return_status, x_Log_Level=> 3);
p_error_text => SUBSTRB('PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE:'||SQLERRM,1,120));
SELECT
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
* FROM pji_fm_xbs_accum_tmp1 WHERE project_id = p_project_id
AND struct_version_id =p_working_str_version_id
;
UPDATE pa_proj_elem_ver_structure
set date_prog_applied_on_wver = sysdate
,schedule_dirty_flag = decode( PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(p_project_id), --bug 3844689
'Y', 'Y', schedule_dirty_flag ) --set this flag to indicate re-scheduling is required.
WHERE project_id = p_project_id
AND element_version_id = p_working_str_version_id;
PROCEDURE delete_working_wp_progress(
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_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_structure_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_task_version_id IN SYSTEM.PA_NUM_TBL_TYPE := SYSTEM.pa_num_tbl_type()
,p_calling_context IN VARCHAR2 := 'STRUCTURE_VERSION'
,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 VARCHAR2(30) := 'DELETE_WORKING_WP_PROGRESS';
pa_debug.init_err_stack ('PA_PROGRESS_PUB.DELETE_WORKING_WP_PROGRESS');
pa_debug.debug('PA_PROGRESS_PUB.DELETE_WORKING_WP_PROGRESS');
savepoint DELETE_WORKING_WP_PROGRESS;
delete from pa_progress_rollup
where project_id = p_project_id
-- and object_version_id = p_structure_version_id -- Bug 4190086
and structure_version_id = p_structure_version_id -- Bug 4190086
;
delete from pa_progress_rollup
where project_id = p_project_id;
delete from pa_proj_progress_attr
where project_id = p_project_id;
delete from pa_proj_workplan_attr
where project_id = p_project_id;
delete from pa_progress_rollup
where project_id = p_project_id
and object_version_id = p_task_version_id(i);
delete from pa_percent_completes
where project_id = p_project_id
and object_version_id = p_task_version_id(i);
rollback to DELETE_WORKING_WP_PROGRESS;
rollback to DELETE_WORKING_WP_PROGRESS;
p_procedure_name => 'DELETE_WORKING_WP_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to DELETE_WORKING_WP_PROGRESS;
p_procedure_name => 'DELETE_WORKING_WP_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
END delete_working_wp_progress;
Select ppevs.element_version_id
FROM PA_Proj_Elem_Ver_Structure ppevs,
PA_Proj_Elements ppe,
PA_Proj_Structure_Types ppst,
PA_Structure_types pst
WHERE ppevs.Project_ID = P_Project_ID
AND ppevs.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs.proj_element_id = ppe.Proj_Element_ID
AND ppe.Project_ID = ppevs.Project_ID
AND ppe.Proj_Element_ID = ppst.Proj_Element_ID
AND ppst.Structure_Type_ID = pst.Structure_Type_ID
AND pst.structure_type = 'WORKPLAN';
SELECT 'Y'
FROM pa_progress_rollup
where project_id = P_Project_ID
AND structure_type = 'WORKPLAN'
and structure_version_id is null;
SELECT 'Y' from dual
where exists ( select DISTINCT ppev.PROJECT_ID
FROM pa_progress_rollup ppr,
pa_proj_element_versions ppev
where ppr.project_id=ppev.project_id
and ppev.OBJECT_TYPE = 'PA_STRUCTURES'
and ppr.structure_type = 'WORKPLAN'
and ppr.structure_version_id is null
and exists (select null
from PA_PROJ_ELEMENT_VERSIONS ppev2
where ppev2.project_id=p_project_id
and ppev.prg_group=ppev2.prg_group)
);
PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE_ACT_ETC (
p_plan_wbs_ver_id => l_str_ver_id
, x_msg_code => l_msg_code
, x_return_status => x_return_status);
p_error_text => SUBSTRB('Call of PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE failed: sqlerrm='||SQLERRM,1,120));
rollback to DELETE_WORKING_WP_PROGRESS;
PROCEDURE UPDATE_PROGRESS(
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_debug_mode IN VARCHAR2 :='N'
,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_action IN VARCHAR2 :='SAVE'
,P_rollup_entire_wbs_flag IN VARCHAR2 :='N'
,p_progress_mode IN VARCHAR2 :='FUTURE'
,p_percent_complete_id 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_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_object_type IN VARCHAR2 :='PA_TASKS'
,p_as_of_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_percent_complete IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_progress_status_code IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_progress_comment IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_brief_overview IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_actual_start_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_actual_finish_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_estimated_start_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_estimated_finish_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_scheduled_start_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_scheduled_finish_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_record_version_number IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_task_status IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_est_remaining_effort IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_ETC_cost IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_actual_work_quantity IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_pm_product_code IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_structure_type IN VARCHAR2 :='WORKPLAN'
,p_actual_effort IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_actual_cost IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_actual_effort_this_period IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_actual_cost_this_period IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_object_sub_type IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_task_id IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_structure_version_id IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_prog_fom_wp_flag IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_rollup_reporting_lines_flag IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_planned_cost IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_planned_effort IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_rate_based_flag IN VARCHAR := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_resource_class_code IN VARCHAR := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_transfer_wp_pc_flag IN VARCHAR := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_txn_currency_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_rbs_element_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
-- ,p_resource_list_member_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM -- Bug 3764224
,p_resource_assignment_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM -- Bug 3764224
,p_eff_rollup_percent_complete IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM -- 3910193
,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 VARCHAR2(30) := 'UPDATE_PROGRESSES' ;
SELECT element_version_id, parent_structure_version_id
FROM pa_proj_element_versions
WHERE proj_element_id = c_proj_element_id
AND object_type = 'PA_TASKS'
AND project_id = c_project_id
AND parent_structure_version_id = c_structure_version_id;
SELECT task_weight_basis_code
FROM pa_proj_progress_attr
WHERE project_id = c_project_id
AND structure_type = c_structure_type;
SELECT elemver.element_version_id, elemver.parent_structure_version_id
FROM pa_proj_element_versions elemver, pa_proj_elem_ver_structure str
WHERE elemver.proj_element_id = c_proj_element_id
AND elemver.object_type = 'PA_TASKS'
AND elemver.project_id = c_project_id
AND str.project_id = c_project_id
AND elemver.parent_structure_version_id = str.element_version_id
AND str.latest_eff_published_flag = 'Y';
SELECT TEMPLATE_FLAG
FROM PA_PROJECTS_ALL
WHERE PROJECT_ID = p_project_id;
select 'Y'
from pa_progress_rollup
where project_id = p_project_id
and object_id = p_object_id
and object_type = p_object_type
and as_of_date = p_as_of_date
and structure_type = 'WORKPLAN'
and current_flag = 'Y'
and not exists (select 1
from pa_percent_completes
where project_id = p_project_id
and object_id = p_object_id
and object_type = p_object_type
and date_computed = p_as_of_date
and structure_type = 'WORKPLAN');
select substr(fcrsv.argument_text,1,(instr(fcrsv.argument_text,','))-1) process
from fnd_conc_req_summary_v fcrsv
where fcrsv.request_id = l_request_id;
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_PROGRESS');
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS Start : Passed Parameters :', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_init_msg_list='||p_init_msg_list, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_commit='||p_commit, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_validate_only='||p_validate_only, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_validation_level='||p_validation_level, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_calling_module='||p_calling_module, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_debug_mode='||p_debug_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_max_msg_count='||p_max_msg_count, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_action='||p_action, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_progress_mode='||p_progress_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_percent_complete_id='||p_percent_complete_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_object_id='||p_object_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_object_version_id='||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_object_type='||p_object_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_as_of_date='||p_as_of_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_percent_complete='||p_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_eff_rollup_percent_complete='||p_eff_rollup_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_progress_status_code='||p_progress_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_progress_comment='||p_progress_comment, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_brief_overview='||p_brief_overview, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_start_date='||p_actual_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_finish_date='||p_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_estimated_start_date='||p_estimated_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_estimated_finish_date='||p_estimated_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_scheduled_start_date='||p_scheduled_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_scheduled_finish_date='||p_scheduled_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_record_version_number='||p_record_version_number, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_task_status='||p_task_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_est_remaining_effort='||p_est_remaining_effort, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_ETC_cost='||p_ETC_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_work_quantity='||p_actual_work_quantity, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_pm_product_code='||p_pm_product_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_structure_type='||p_structure_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_effort='||p_actual_effort, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_cost='||p_actual_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_effort_this_period='||p_actual_effort_this_period, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_actual_cost_this_period='||p_actual_cost_this_period, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_object_sub_type='||p_object_sub_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_task_id='||p_task_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_structure_version_id='||p_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_prog_fom_wp_flag='||p_prog_fom_wp_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_rollup_reporting_lines_flag='||p_rollup_reporting_lines_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_planned_cost='||p_planned_cost, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_planned_effort='||p_planned_effort, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_rate_based_flag='||p_rate_based_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_resource_class_code='||p_resource_class_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_transfer_wp_pc_flag='||p_transfer_wp_pc_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_txn_currency_code='||p_txn_currency_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_rbs_element_id='||p_rbs_element_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_resource_assignment_id='||p_resource_assignment_id, x_Log_Level=> 3);
savepoint UPDATE_PROGRESS;
elsif ((l_rec_publish.process = 'CONC_UPDATE')
and (l_process_code = 'WUP')
and (l_wp_ver_enabled_flag = 'N')) then
PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA'
,p_msg_name => 'PA_PS_UPDATE_NO_PROG');
x_msg_data := 'PA_PS_UPDATE_NO_PROG';
update pa_proj_progress_attr
set next_progress_update_date = p_as_of_date
where project_id = p_project_id
and object_type = 'PA_STRUCTURES'
and structure_type = 'WORKPLAN';
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Structure Type Financial ', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'l_last_progress_date='||l_last_progress_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Calling UPDATE_FINANCIAL_TASK_PROGRESS', x_Log_Level=> 3);
PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => l_action -- Code to fix Bug # 3821106.
,P_rollup_entire_wbs_flag => P_rollup_entire_wbs_flag
,p_percent_complete_id => p_percent_complete_id
,p_project_id => p_project_id
,p_object_id => p_object_id
,p_object_version_id => p_object_version_id
,p_object_type => p_object_type
,p_as_of_date => p_as_of_date
,p_percent_complete => p_percent_complete
,p_structure_type => p_structure_type
,p_task_id => p_task_id
,p_structure_version_id => p_structure_version_id
,p_record_version_number => p_record_version_number
,p_progress_comment => p_progress_comment -- Bug 3595585
,p_brief_overview => p_brief_overview -- Bug 3595585
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling UPDATE_FINANCIAL_TASK_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Calling UPDATE_ASSIGNMENT_PROGRESS', x_Log_Level=> 3);
PA_ASSIGNMENT_PROGRESS_PUB.UPDATE_ASSIGNMENT_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => l_action -- Code to fix Bug # 3821106.
,p_bulk_load_flag => p_rollup_entire_wbs_flag
,p_progress_mode => p_progress_mode
,p_percent_complete_id => p_percent_complete_id
,p_project_id => p_project_id
,p_object_id => p_object_id
,p_object_version_id => p_object_version_id
,p_task_id => p_task_id
,p_as_of_date => p_as_of_date
,p_progress_comment => p_progress_comment
,p_brief_overview => p_brief_overview
,p_actual_start_date => p_actual_start_date
,p_actual_finish_date => p_actual_finish_date
,p_estimated_start_date => p_estimated_start_date
,p_estimated_finish_date => p_estimated_finish_date
,p_record_version_number => p_record_version_number
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,p_structure_version_id => p_structure_version_id
,p_actual_cost_this_period => p_actual_cost_this_period
,p_actual_effort_this_period => p_actual_effort_this_period
,p_rate_based_flag => p_rate_based_flag
,p_resource_class_code => p_resource_class_code
,p_actual_cost => p_actual_cost
,p_actual_effort => p_actual_effort
,p_etc_cost_this_period => p_etc_cost
,p_etc_effort_this_period => p_est_remaining_effort
,p_txn_currency_code => p_txn_currency_code
,p_rbs_element_id => p_rbs_element_id
-- ,p_resource_list_member_id => p_resource_list_member_id -- Bug 3764224
,p_resource_assignment_id => p_resource_assignment_id -- Bug 3764224
,p_scheduled_start_date => p_scheduled_start_date -- Bug 3586648
,p_scheduled_finish_date => p_scheduled_finish_date -- Bug 3586648
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling UPDATE_ASSIGNMENT_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Calling UPDATE_DELIVERABLE_PROGRESS', x_Log_Level=> 3);
PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => l_action -- Code to fix Bug # 3821106.
,p_bulk_load_flag => P_rollup_entire_wbs_flag
,p_progress_mode => p_progress_mode
,p_percent_complete_id => p_percent_complete_id
,p_project_id => p_project_id
,p_object_id => p_object_id
,p_object_type => p_object_type
,p_object_version_id => p_object_version_id
,p_del_status => p_task_status -- FPM Dev CR 1
,p_task_id => p_task_id
,p_as_of_date => p_as_of_date
,p_percent_complete => p_percent_complete
,p_progress_status_code => p_progress_status_code
,p_progress_comment => p_progress_comment
,p_brief_overview => p_brief_overview
,p_actual_finish_date => p_actual_finish_date
,p_record_version_number => p_record_version_number
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling UPDATE_DELIVERABLE_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Calling UPDATE_TASK_PROGRESS', x_Log_Level=> 3);
PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_debug_mode => p_debug_mode
,p_max_msg_count => p_max_msg_count
,p_action => l_action -- Code to fix Bug # 3821106.
,p_bulk_load_flag => p_rollup_entire_wbs_flag
,p_progress_mode => p_progress_mode
,p_percent_complete_id => p_percent_complete_id
,p_project_id => p_project_id
,p_object_id => p_object_id
,p_object_version_id => p_object_version_id
,p_object_type => p_object_type
,p_as_of_date => p_as_of_date
,p_percent_complete => p_percent_complete
,p_progress_status_code => p_progress_status_code
,p_progress_comment => p_progress_comment
,p_brief_overview => p_brief_overview
,p_actual_start_date => p_actual_start_date
,p_actual_finish_date => p_actual_finish_date
,p_estimated_start_date => p_estimated_start_date
,p_estimated_finish_date => p_estimated_finish_date
,p_record_version_number => p_record_version_number
,p_task_status => p_task_status
,p_actual_work_quantity => p_actual_work_quantity
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,p_prog_fom_wp_flag => p_prog_fom_wp_flag
,p_planned_cost => p_planned_cost
,p_planned_effort => p_planned_effort
,p_actual_effort => p_actual_effort
,p_est_remaining_effort => p_est_remaining_effort
,p_structure_version_id => p_structure_version_id -- Bug 3608422 : Passing structure version id too
,p_eff_rollup_percent_complete => p_eff_rollup_percent_complete --bug 3910193
,x_resource_list_member_id => l_resource_list_member_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling UPDATE_TASK_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'p_action PUBLISH', x_Log_Level=> 3);
delete from PA_PROG_ACT_BY_PERIOD_TEMP where project_id = p_project_id
AND structure_version_id = l_structure_version_id;
p_procedure_name => 'update_progress',
p_error_text => SUBSTRB('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP:'||SQLERRM,1,120));
PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE(
p_plan_version_id => l_plan_version_id,
x_msg_code => l_msg_code,
x_return_status => x_return_status);
p_procedure_name => 'update_progress',
p_error_text => SUBSTRB('Call PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE:'||SQLERRM,1,120));
p_procedure_name => 'update_progress',
p_error_text => SUBSTRB('Call PJI_FM_XBS_ACCUM_UTILS.populate_workplan_data:'||SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling ROLLUP_PROGRESS_PVT l_return_status='||l_return_status, x_Log_Level=> 3);
PA_TASK_PVT1.Update_Dates_To_All_Versions(
p_project_id => p_project_id
,p_element_version_id => l_task_version_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data );
Select ppev1.proj_element_id
into l_structure_id
from pa_proj_element_versions ppev1, pa_proj_element_versions ppev2
where ppev2.element_version_id = l_task_version_id
and ppev2.project_id = ppev1.project_id
and ppev2.parent_structure_version_id = ppev1.element_version_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Calling ROLLUP_FUTURE_PROGRESS_PVT', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling ROLLUP_FUTURE_PROGRESS_PVT l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'Calling program_rollup_pvt', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS', x_Msg => 'After Calling program_rollup_pvt l_return_status='||l_return_status, x_Log_Level=> 3);
pa_progress_pub.update_link_proj_rollup_dates(
p_init_msg_list => 'F'
,p_commit => 'F'
,p_calling_module => p_calling_module
,p_project_id => p_project_id
,p_task_id => l_task_id
,p_task_version_id => l_task_version_id
,p_as_of_date => p_as_of_date
,p_structure_version_id => l_structure_version_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
rollback to UPDATE_PROGRESS;
rollback to UPDATE_PROGRESS;
p_procedure_name => 'UPDATE_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to UPDATE_PROGRESS;
p_procedure_name => 'UPDATE_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
END update_progress;
SELECT decode(c_period_type, 'P', PROG_PA_PERIOD_NAME, 'G', PROG_GL_PERIOD_NAME, null )
FROM pa_progress_rollup
WHERE project_id = p_project_id
AND object_id = p_object_id
AND proj_element_id = p_proj_element_id
AND as_of_date = p_as_of_date
AND structure_type = 'WORKPLAN'
;
select project_currency_code, projfunc_currency_code
from pa_projects_all
where project_id = p_project_id;
select org_id
from pa_projects
where project_id = p_project_Id;
INSERT INTO PJI_FM_EXTR_PLAN_LINES (
PROJECT_ID
,PROJECT_ORG_ID
,PROJECT_ELEMENT_ID
,STRUCT_VER_ID
,PERIOD_NAME
,CALENDAR_TYPE
,START_DATE
,END_DATE
,RBS_ELEMENT_ID
,RBS_VERSION_ID
,PLAN_VERSION_ID
,PLAN_TYPE_ID
,WP_VERSION_FLAG
,ROLLUP_TYPE
,TXN_CURRENCY_CODE
,TXN_RAW_COST
,TXN_BURDENED_COST
,TXN_REVENUE
,PRJ_CURRENCY_CODE
,PRJ_RAW_COST
,PRJ_BURDENED_COST
,PRJ_REVENUE
,PFC_CURRENCY_CODE
,PFC_RAW_COST
,PFC_BURDENED_COST
,PFC_REVENUE
,QUANTITY
,RESOURCE_CLASS_CODE
,RATE_BASED_FLAG
,ETC_QUANTITY
,ETC_TXN_BURDENED_COST
,ETC_PRJ_BURDENED_COST
,ETC_PFC_BURDENED_COST
,ETC_TXN_RAW_COST
,ETC_PRJ_RAW_COST
,ETC_PFC_RAW_COST
)
values(
p_PROJECT_ID
,l_org_id
,p_PROJ_ELEMENT_ID
,l_structure_version_id
,l_PERIOD_NAME
,l_period_TYPE
,null
,p_as_of_date
,l_RBS_ELEMENT_ID
,null
,l_plan_version_id
,l_plan_type_id
,'Y'
,'W'
,l_txn_currency_code
,null
,null
,null
,l_prj_currency_code
,null
,null
,null
,l_pfn_currency_code
,null
,null
,null
,null
,l_resource_class_code
,l_rate_based_flag
,l_ETC_QUANTITY
,l_ETC_TXN_BURDENED_COST
,l_ETC_PRJ_BURDENED_COST
,l_ETC_PFC_BURDENED_COST
,l_etc_TXN_raw_COST_this_period
,l_etc_PRJ_raw_COST_this_period
,l_etc_POU_raw_COST_this_period
);
p_error_text => SUBSTRB('INSERT INTO PJI_FM_EXTR_PLAN_LINES:'||SQLERRM,1,120));
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
, hidden_res_assgn_id
, resource_list_member_id
, current_flag
, object_type
, percent_complete_id
, attribute1
, attribute2
, attribute3
, attribute4
, attribute5
, attribute6
, start_date -- 4310021
, finish_date -- 4310021
)
VALUES (
p_PROJECT_ID
, l_structure_version_id
, p_PROJ_ELEMENT_ID
, p_resource_assignment_id
, p_as_of_date
, p_act_TXN_COST_this_period
, p_act_effort_this_period
, l_PERIOD_NAME
, l_txn_currency_code
, p_act_PRJ_COST_this_period
, p_act_POU_COST_this_period
, p_act_TXN_raw_COST_this_period
, p_act_PRJ_raw_COST_this_period
, p_act_POU_raw_COST_this_period
, to_number(null)
, p_resource_list_member_id
, to_char(null)
, p_object_type
, to_number(null)
, to_char(null)
, to_char(null)
, to_char(null)
, to_number(null)
, to_number(null)
, to_number(null)
, p_as_of_date -- 4310021
, p_as_of_date -- 4310021
);
SELECT ppv.proj_element_id, ppv.element_version_id, ppv.record_version_number, nvl(ppr.completed_percentage, ppr.base_percent_complete) completed_percentage
FROM pa_proj_element_versions ppv, pa_progress_rollup ppr
WHERE ppv.project_id = p_project_id
AND ppv.financial_task_flag = 'Y'
AND ppv.parent_structure_version_id = c_structure_version_id -- Bug 3957457
-- AND PA_PROJ_ELEMENTS_UTILS.check_child_element_exist(ppv.element_version_id) = 'N' bug 4086613
AND ppv.project_id = ppr.project_id(+)
-- AND ppv.element_version_id = ppc.object_version_id(+)
AND ppv.proj_element_id = ppr.object_id(+) -- Bug 3696820
AND ppr.current_flag(+) = 'Y'
AND ppr.structure_type(+) = c_structure_type
AND ppr.structure_version_id(+) is null -- Bug 3957457
and not exists (select 1
from pa_object_relationships por,
pa_proj_element_versions ppv1
where por.object_id_from1 = ppv.element_version_id
and relationship_type = 'S'
and ppv1.element_version_id = por.object_id_to1
and ppv1.financial_task_flag = 'Y')
;
SELECT ppv.proj_element_id, ppv.element_version_id, ppv.record_version_number, nvl(ppr.completed_percentage, ppr.base_percent_complete) completed_percentage
FROM pa_proj_element_versions ppv, pa_progress_rollup ppr, pa_object_relationships por
WHERE ppv.project_id = p_project_id
AND ppv.parent_structure_version_id = c_structure_version_id -- Bug 3952006
AND ppv.project_id = ppr.project_id(+)
AND por.object_id_to1 = c_object_version_id
AND por.relationship_type = 'M'
AND ppv.element_version_id = por.object_id_from1
-- AND ppv.element_version_id = ppc.object_version_id(+)
AND ppv.proj_element_id = ppr.object_id(+) -- Bug 3696820
AND ppr.current_flag(+) = 'Y'
AND ppr.structure_type(+) = 'WORKPLAN'
AND ppr.structure_version_id(+) is null -- Bug 3696820
;
SELECT task_weight_basis_code
FROM pa_proj_progress_attr
WHERE project_id = c_project_id
AND structure_type = c_structure_type;
l_call_update_progress VARCHAR2(1):='N' ;
select max(as_of_date)
from pa_progress_rollup
where project_id = p_project_id
and structure_version_id is null
and structure_type IN('WORKPLAN', 'FINANCIAL')
and current_flag = 'Y';
SELECT structure_sharing_code
INTO l_structure_sharing_code
FROM pa_projects_all
WHERE project_id = p_project_id;
PA_PROGRESS_PUB.UPDATE_PROGRESS(
p_action => 'PUBLISH'
,P_rollup_entire_wbs_flag => 'Y'
,p_progress_mode => 'FUTURE'
,p_project_id => p_project_id
,p_object_id => cur_task.proj_element_id
,p_object_version_id => cur_task.element_version_id
,p_object_type => 'PA_TASKS'
,p_as_of_date => trunc(l_as_of_date) -- Bug 3603636 Used Trunc
,p_percent_complete => cur_task.completed_percentage
,p_structure_type => 'FINANCIAL'
,p_structure_version_id => l_fin_structure_version_id
,p_task_id => cur_task.proj_element_id -- FPM Dev CR 2
,p_record_version_number => cur_task.record_version_number
,p_transfer_wp_pc_flag => 'Y'
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
l_call_update_progress := 'N'; -- Bug 4136239
l_call_update_progress := 'Y';
IF l_percent_complete IS NOT NULL AND l_call_update_progress = 'Y' -- Bug 4136239 Added l_call_update_progress
THEN
l_call_rollup := 'Y'; -- Bug 4136239
PA_PROGRESS_PUB.UPDATE_PROGRESS(
p_action => 'PUBLISH'
,P_rollup_entire_wbs_flag => 'Y'
,p_progress_mode => 'FUTURE'
,p_project_id => p_project_id
,p_object_id => cur_task.proj_element_id
,p_object_version_id => cur_task.element_version_id
,p_object_type => 'PA_TASKS'
,p_as_of_date => trunc(l_as_of_date) -- Bug 3603636 Used Trunc
,p_percent_complete => l_percent_complete
,p_structure_type => 'FINANCIAL'
,p_structure_version_id => l_fin_structure_version_id
,p_task_id => cur_task.proj_element_id -- FPM Dev CR 2
,p_record_version_number => cur_task.record_version_number
,p_transfer_wp_pc_flag => 'Y'
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
select max(trunc(as_of_date)) -- 5294838 truncate
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 current_flag = 'Y';
SELECT pppa.task_weight_basis_code
FROM pa_proj_progress_attr pppa
WHERE project_id=p_project_id
AND structure_type ='WORKPLAN'
;
select ppr.*
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
-- and ppr.structure_version_id is not null -- Bug 4190086
and ppr.structure_version_id = p_working_str_ver_id -- Bug 4190086
and ppr.structure_type = 'WORKPLAN';
select PROJECT_ID,
OBJECT_ID ,
OBJECT_TYPE,
AS_OF_DATE ,
OBJECT_VERSION_ID,
PROGRESS_STATUS_CODE,
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 ,
BASE_PERCENT_COMP_DERIV_CODE,
STRUCTURE_TYPE ,
PROJ_ELEMENT_ID,
STRUCTURE_VERSION_ID ,
PPL_ACT_EFFORT_TO_DATE ,
EQPMT_ACT_EFFORT_TO_DATE,
OTH_ACT_COST_TO_DATE_TC ,
OTH_ACT_COST_TO_DATE_FC,
OTH_ACT_COST_TO_DATE_PC ,
PPL_ACT_COST_TO_DATE_TC ,
PPL_ACT_COST_TO_DATE_FC,
PPL_ACT_COST_TO_DATE_PC ,
EQPMT_ACT_COST_TO_DATE_TC,
EQPMT_ACT_COST_TO_DATE_FC,
EQPMT_ACT_COST_TO_DATE_PC,
EARNED_VALUE
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.structure_version_id = p_working_str_ver_id -- Bug 4190086
and ppr.structure_type = 'WORKPLAN'
and ppr.proj_element_id <> 0 -- 4398411
and ppr.proj_element_id is not null -- 4398411
UNION ALL
select PROJECT_ID,
OBJECT_ID ,
OBJECT_TYPE,
AS_OF_DATE ,
OBJECT_VERSION_ID,
PROGRESS_STATUS_CODE,
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 ,
BASE_PERCENT_COMP_DERIV_CODE,
STRUCTURE_TYPE ,
PROJ_ELEMENT_ID,
STRUCTURE_VERSION_ID ,
PPL_ACT_EFFORT_TO_DATE ,
EQPMT_ACT_EFFORT_TO_DATE,
OTH_ACT_COST_TO_DATE_TC ,
OTH_ACT_COST_TO_DATE_FC,
OTH_ACT_COST_TO_DATE_PC ,
PPL_ACT_COST_TO_DATE_TC ,
PPL_ACT_COST_TO_DATE_FC,
PPL_ACT_COST_TO_DATE_PC ,
EQPMT_ACT_COST_TO_DATE_TC,
EQPMT_ACT_COST_TO_DATE_FC,
EQPMT_ACT_COST_TO_DATE_PC,
EARNED_VALUE
from pa_progress_rollup ppr1
where ppr1.project_id = p_project_id
and ppr1.structure_version_id IS NULL
and ppr1.structure_type = 'WORKPLAN'
and ppr1.current_flag = 'Y'
and ppr1.proj_element_id <> 0 -- 4398411
and ppr1.proj_element_id is not null -- 4398411
and not exists
(select 'xyz' from pa_progress_rollup ppr2
where ppr2.project_id = ppr1.project_id
and ppr2.object_id = ppr1.object_id
and nvl(ppr2.proj_element_id,0) = nvl(ppr1.proj_element_id,0)
and ppr2.structure_version_id = p_working_str_ver_id
and ppr2.structure_type = 'WORKPLAN'
)
;
select rowid, ppc.*
from pa_percent_completes ppc
where ppc.project_id = c_project_id
and ppc.structure_type = 'WORKPLAN'
--and trunc(ppc.date_computed) = trunc(c_as_of_date) -- Bug 4227280
and ppc.published_flag = 'N' -- Bug 4227280
and ppc.object_id = c_object_id
and ppc.task_id = c_proj_element_id
and ppc.object_type = c_object_type;
select ppc.*
from pa_percent_completes ppc
where ppc.project_id = c_project_id
and ppc.structure_type = 'WORKPLAN'
---and trunc(ppc.date_computed) <= trunc(c_as_of_date)
and ppc.object_id = c_object_id
and ppc.task_id = c_proj_element_id
and ppc.object_type = c_object_type
and ppc.current_flag = 'Y'
and ppc.published_flag = 'Y';
select element_version_id
from pa_proj_element_versions
where project_id = p_project_id
and proj_element_id = c_proj_element_id
and ((c_object_type <> 'PA_DELIVERABLES' and parent_structure_version_id = c_structure_version_id)
OR c_object_type = 'PA_DELIVERABLES'); -- 4398411 : Added Deliverable condition
select initial_progress_status_code
from pa_proj_elements
, pa_task_types
where project_id = p_project_id
and proj_element_id = c_proj_element_id
and type_id = task_type_id;
select rowid, ppr.*
from pa_progress_rollup ppr
where ppr.project_id = c_project_id
and ppr.structure_type = 'WORKPLAN'
and ppr.structure_version_id is null
--and trunc(ppr.as_of_date) = trunc(c_as_of_date) -- Bug 4227280
and ppr.current_flag = 'W' -- Bug 4227280
and ppr.object_id = c_object_id
and ppr.proj_element_id = c_proj_element_id
and ppr.object_type = c_object_type;
select ppr.*
from pa_progress_rollup ppr
where ppr.project_id = c_project_id
and ppr.structure_type = 'WORKPLAN'
and ppr.structure_version_id is null
------ and trunc(ppr.as_of_date) < trunc(c_as_of_date) redundant cond. 4743866
and ppr.object_id = c_object_id
and ppr.proj_element_id = c_proj_element_id
and ppr.object_type = c_object_type
and ppr.current_flag = 'Y';
SELECT a.element_version_id
FROM pa_proj_elem_ver_structure a
WHERE a.project_id = p_project_id
AND a.LATEST_EFF_PUBLISHED_FLAG <> 'Y'
AND a.STATUS_CODE = 'STRUCTURE_PUBLISHED'
ORDER BY published_date desc;
select scheduled_start_date, scheduled_finish_date
from pa_proj_elem_ver_schedule
where project_id = c_project_id
and element_version_id = c_object_version_id ;
SELECT resource_class_code
,resource_list_member_id
,assignment_start_date
,assignment_end_date
,txn_currency_code
,resource_assignment_id
,planned_quantity
,planned_bur_cost_txn_cur
,planned_bur_cost_projfunc
,planned_bur_cost_proj_cur
,planned_raw_cost_txn_cur
,planned_raw_cost_proj_cur
,planned_raw_cost_projfunc
,rate_based_flag
,budget_version_id --- 4372462
FROM pa_task_asgmts_v
WHERE project_id = c_project_id
AND resource_list_member_id = c_object_id
AND task_id = c_task_id
AND task_version_id = c_task_version_id
AND structure_version_id = c_structure_version_id ;
select *
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.structure_version_id is null
and ppr.object_type = 'PA_TASKS'
and structure_type = 'WORKPLAN'
and pa_proj_elements_utils.is_lowest_task(ppr.object_version_id) = 'Y' -- Bug 3627315 issue 8 Added this condition
and pa_progress_utils.check_assignment_exists(p_project_id,ppr.object_version_id,ppr.object_type) = 'N' -- Bug 3627315 issue 8 Added this condition
and current_flag = 'Y'
Union
select *
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.structure_version_id is null
and ppr.object_type = 'PA_ASSIGNMENTS'
and structure_type = 'WORKPLAN'
and current_flag = 'Y';
SELECT resource_class_code
,resource_list_member_id
,assignment_start_date
,assignment_end_date
,txn_currency_code
,resource_assignment_id
,planned_quantity
,planned_bur_cost_txn_cur
,planned_bur_cost_projfunc
,planned_bur_cost_proj_cur
,planned_raw_cost_txn_cur
,planned_raw_cost_proj_cur
,planned_raw_cost_projfunc
,rate_based_flag
,budget_version_id --- 4372462
FROM pa_task_asgmts_v
WHERE project_id = c_project_id
AND task_id = c_task_id
AND task_version_id = c_task_version_id
AND structure_version_id = c_structure_version_id
AND ta_display_flag = c_ta_display_flag;
select status_code
from pa_proj_elements
where project_id = c_project_id
and proj_element_id = c_proj_element_id;
SELECT BASE_PERCENT_COMP_DERIV_CODE
from pa_proj_elements
where project_id = p_project_id
and proj_element_id = c_proj_element_id;
SELECT labor_effort
FROM pji_xbs_plans_v
WHERE project_id = p_project_id
AND proj_element_id = c_proj_element_id
AND STRUCTURE_VERSION_ID = p_pub_structure_version_id
AND STRUCTURE_TYPE = 'WORKPLAN'
;
SELECT nvl(BRDN_COST, 0)
FROM pji_xbs_plans_v
WHERE project_id = p_project_id
AND proj_element_id = c_proj_element_id
AND STRUCTURE_VERSION_ID = p_pub_structure_version_id
AND STRUCTURE_TYPE = 'WORKPLAN'
;*/
SELECT nvl(ttype.PROG_ENTRY_ENABLE_FLAG, 'N')
from pa_task_types ttype
, pa_proj_elements elem
where elem.project_id = p_project_id
and elem.proj_element_id = c_proj_element_id
and elem.object_type = 'PA_TASKS'
and elem.type_id = ttype.task_type_id;
DELETE from pa_percent_completes
where project_id = p_project_id
and structure_type = 'WORKPLAN'
and published_flag = 'N';
DELETE from pa_progress_rollup
where project_id = p_project_id
and structure_type = 'WORKPLAN'
and structure_version_id is null
and current_flag = 'W';
SELECT budget_version_id
INTO l_curr_workplan_ver_bv_id
FROM pa_budget_versions
WHERE project_structure_version_id=p_working_str_ver_id;
SELECT published_flag
INTO l_last_ppc_pub_flag
FROM pa_percent_completes
WHERE percent_complete_id=l_last_ppr_rec.percent_complete_id;
update pa_percent_completes
set current_flag = 'N'
where project_id = l_project_id_tbl(i)
and current_flag = 'Y'
and structure_type = 'WORKPLAN'
and object_type = l_object_type_tbl(i)
and object_id = l_object_id_tbl(i)
and task_id = l_task_id_tbl(i)
and l_prog_enabled_tbl(i) = 'Y' -- Bug 4282618
;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.PUBLISH_PROGRESS', x_Msg => 'After first bulk update' , x_Log_Level=> 3);
update pa_proj_elements
set status_code = l_task_status_code_tbl(i)
where project_id = l_project_id_tbl(i)
and proj_element_id = l_task_id_tbl(i)
and l_object_type_tbl(i) = 'PA_TASKS'
;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.PUBLISH_PROGRESS', x_Msg => 'After second bulk update' , 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,
PROJECT_ID,
CURRENT_FLAG,
PERCENT_COMPLETE_ID,
object_VERSION_ID,
OBJECT_TYPE,
OBJECT_id,
PROGRESS_STATUS_CODE,
ACTUAL_START_DATE,
ACTUAL_FINISH_DATE,
ESTIMATED_START_DATE,
ESTIMATED_FINISH_DATE,
PUBLISHED_FLAG,
published_BY_party_ID,
history_flag,
status_code,
RECORD_VERSION_NUMBER,
structure_type,
description,
progress_comment
) values
( l_task_id_tbl(i)
,l_as_of_date
,sysdate
,l_user_id
,sysdate
,l_user_id
,l_login_id
,l_completed_percentage_tbl(i)
,l_project_id_tbl(i)
,'Y'
,PA_PERCENT_COMPLETES_S.nextval
,l_object_version_id_tbl(i)
,l_object_type_tbl(i)
,l_object_id_tbl(i)
,l_progress_status_code_tbl(i)
,l_act_start_date_tbl(i)
,l_act_finish_date_tbl(i)
,l_est_start_date_tbl(i)
,l_est_finish_date_tbl(i)
,'Y'
,l_published_by_party_id
,'N'
,l_task_status_code_tbl(i)
,to_number(1)
,'WORKPLAN'
,l_description(i)
,l_progress_comment(i)
)
RETURNING PERCENT_COMPLETE_ID
BULK COLLECT INTO l_percent_complete_id_tbl;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.PUBLISH_PROGRESS', x_Msg => 'After first bulk insert' , x_Log_Level=> 3);
DELETE pa_percent_completes
where percent_complete_id = l_percent_complete_id_tbl(i);
update pa_progress_rollup
set current_flag = 'N'
where project_id = l_project_id_tbl(i)
and current_flag = 'Y'
and structure_version_id is null
and structure_type = 'WORKPLAN'
and object_type = l_object_type_tbl(i)
and object_id = l_object_id_tbl(i)
and proj_element_id = l_task_id_tbl(i);
delete from pa_progress_rollup
where project_id = l_project_id_tbl(i)
and current_flag = 'Y'
and structure_version_id is null
and structure_type = 'WORKPLAN'
and object_type = l_object_type_tbl(i)
and object_id = l_object_id_tbl(i)
and proj_element_id = l_task_id_tbl(i);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.PUBLISH_PROGRESS', x_Msg => 'After third bulk update' , x_Log_Level=> 3);
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
,INCREMENTAL_WORK_QUANTITY
,CUMULATIVE_WORK_QUANTITY
,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
,PERCENT_COMPLETE_ID
,STRUCTURE_TYPE
,PROJ_ELEMENT_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
,BASE_PERCENT_COMPLETE -- 4604661
) VALUES (
PA_PROGRESS_ROLLUP_S.nextval
,l_project_id_tbl(i)
,l_object_id_tbl(i)
,l_object_type_tbl(i)
,l_as_of_date
,l_object_version_id_tbl(i)
,sysdate
,l_user_id
,sysdate
,l_user_id
,l_progress_status_code_tbl(i)
,l_login_id
,l_incr_work_quantity_tbl(i)
,l_cumu_work_quantity_tbl(i)
,l_eff_rollup_percent_comp_tbl(i)
,l_completed_percentage_tbl(i)
,l_est_start_date_tbl(i)
,l_est_finish_date_tbl(i)
,l_act_start_date_tbl(i)
,l_act_finish_date_tbl(i)
,l_est_remaining_effort_tbl(i)
,to_number(1)
,l_base_per_comp_deriv_code_tbl(i)
,l_base_prog_status_code_tbl(i)
,l_eff_roll_prog_stat_code_tbl(i)
,l_percent_complete_id_tbl(i)
,'WORKPLAN'
,l_task_id_tbl(i)
,l_ppl_act_effort_to_date_tbl(i)
,l_eqpmt_act_effort_to_date_tbl(i)
,l_eqpmt_etc_effort_tbl(i)
,l_oth_act_cost_to_date_tc_tbl(i)
,l_oth_act_cost_to_date_fc_tbl(i)
,l_oth_act_cost_to_date_pc_tbl(i)
,l_oth_etc_cost_tc_tbl(i)
,l_oth_etc_cost_fc_tbl(i)
,l_oth_etc_cost_pc_tbl(i)
,l_ppl_act_cost_to_date_tc_tbl(i)
,l_ppl_act_cost_to_date_fc_tbl(i)
,l_ppl_act_cost_to_date_pc_tbl(i)
,l_ppl_etc_cost_tc_tbl(i)
,l_ppl_etc_cost_fc_tbl(i)
,l_ppl_etc_cost_pc_tbl(i)
,l_eqp_act_cost_to_date_tc_tbl(i)
,l_eqp_act_cost_to_date_fc_tbl(i)
,l_eqp_act_cost_to_date_pc_tbl(i)
,l_eqpmt_etc_cost_tc_tbl(i)
,l_eqpmt_etc_cost_fc_tbl(i)
,l_eqpmt_etc_cost_pc_tbl(i)
,l_earned_value_tbl(i)
,l_task_weight_basis_code
,'Y'
,l_projfunc_cost_rate_type_tbl(i)
,l_projfunc_cost_exc_rate_tbl(i)
,l_projfunc_cost_rate_date_tbl(i)
,l_proj_cost_rate_type_tbl(i)
,l_proj_cost_exchange_rate_tbl(i)
,l_proj_cost_rate_date_tbl(i)
,l_txn_currency_code_tbl(i)
,l_prog_pa_period_name
,l_prog_gl_period_name
,l_oth_quantity_to_date_tbl(i)
,l_oth_etc_quantity_tbl(i)
,l_oth_act_raw_to_date_tc_tbl(i)
,l_oth_act_raw_to_date_fc_tbl(i)
,l_oth_act_raw_to_date_pc_tbl(i)
,l_oth_etc_rawcost_tc_tbl(i)
,l_oth_etc_rawcost_fc_tbl(i)
,l_oth_etc_rawcost_pc_tbl(i)
,l_ppl_act_raw_to_date_tc_tbl(i)
,l_ppl_act_raw_to_date_fc_tbl(i)
,l_ppl_act_raw_to_date_pc_tbl(i)
,l_ppl_etc_rawcost_tc_tbl(i)
,l_ppl_etc_rawcost_fc_tbl(i)
,l_ppl_etc_rawcost_pc_tbl(i)
,l_eqpmt_act_raw_to_date_tc_tbl(i)
,l_eqpmt_act_raw_to_date_fc_tbl(i)
,l_eqpmt_act_raw_to_date_pc_tbl(i)
,l_eqpmt_etc_rawcost_tc_tbl(i)
,l_eqpmt_etc_rawcost_fc_tbl(i)
,l_eqpmt_etc_rawcost_pc_tbl(i)
,l_base_perc_comp_tbl(i) -- 4604661
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.PUBLISH_PROGRESS', x_Msg => 'After second bulk insert' , x_Log_Level=> 3);
select ppa.org_id, ppa.project_currency_code, ppa.projfunc_currency_code,
PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(ppa.project_id) shared_structure
from pa_projects_all ppa
where ppa.project_id = l_project_id;
select max(date_computed) from pa_percent_completes ppc
where project_id = l_project_id
and published_flag ='Y'
and current_flag = 'Y'
and object_type = 'PA_TASKS'
and structure_type = 'WORKPLAN'
and not exists (select '1' --- 4871809,5503428
from pa_object_relationships
where object_Type_from = 'PA_TASKS'
and relationship_type = 'S'
and object_id_from1 = ppc.object_version_id);
select max(date_computed) from pa_percent_completes
where project_id = l_project_id
and published_flag ='Y'
and current_flag = 'Y'
and object_type = 'PA_ASSIGNMENTS'
and structure_type = 'WORKPLAN';
select max(as_of_date) from pa_progress_rollup
where project_id = l_project_id
and structure_type = 'WORKPLAN'
and structure_version_id is null
and current_flag = 'Y';
select max(as_of_date) from pa_progress_rollup
where project_id = l_project_id
and object_type = 'PA_TASKS'
and structure_type = 'WORKPLAN'
and structure_version_id is null
and current_flag = 'Y';
LAST_UPDATE_DATE PA_PLSQL_DATATYPES.DateTabTyp;
LAST_UPDATED_BY PA_PLSQL_DATATYPES.Num15TabTyp;
LAST_UPDATE_LOGIN PA_PLSQL_DATATYPES.Num15TabTyp;
select 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_RAWCOST_TO_DATE_TC,
OTH_ACT_COST_TO_DATE_FC,
OTH_ACT_RAWCOST_TO_DATE_FC,
OTH_ACT_COST_TO_DATE_PC,
OTH_ACT_RAWCOST_TO_DATE_PC,
OTH_ETC_COST_TC,
OTH_ETC_RAWCOST_TC,
OTH_ETC_COST_FC,
OTH_ETC_RAWCOST_FC,
OTH_ETC_COST_PC,
OTH_ETC_RAWCOST_PC,
PPL_ACT_COST_TO_DATE_TC,
PPL_ACT_RAWCOST_TO_DATE_TC,
PPL_ACT_COST_TO_DATE_FC,
PPL_ACT_RAWCOST_TO_DATE_FC,
PPL_ACT_COST_TO_DATE_PC,
PPL_ACT_RAWCOST_TO_DATE_PC,
PPL_ETC_COST_TC,
PPL_ETC_RAWCOST_TC,
PPL_ETC_COST_FC,
PPL_ETC_RAWCOST_FC,
PPL_ETC_COST_PC,
PPL_ETC_RAWCOST_PC,
EQPMT_ACT_COST_TO_DATE_TC,
EQPMT_ACT_RAWCOST_TO_DATE_TC,
EQPMT_ACT_COST_TO_DATE_FC,
EQPMT_ACT_RAWCOST_TO_DATE_FC,
EQPMT_ACT_COST_TO_DATE_PC,
EQPMT_ACT_RAWCOST_TO_DATE_PC,
EQPMT_ETC_COST_TC,
EQPMT_ETC_RAWCOST_TC,
EQPMT_ETC_COST_FC,
EQPMT_ETC_RAWCOST_FC,
EQPMT_ETC_COST_PC,
EQPMT_ETC_RAWCOST_PC,
EARNED_VALUE,
TASK_WT_BASIS_CODE,
SUBPRJ_PPL_ACT_EFFORT,
SUBPRJ_EQPMT_ACT_EFFORT,
SUBPRJ_PPL_ETC_EFFORT,
SUBPRJ_EQPMT_ETC_EFFORT,
SUBPRJ_OTH_ACT_COST_TO_DATE_TC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_TC,
SUBPRJ_OTH_ACT_COST_TO_DATE_FC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_FC,
SUBPRJ_OTH_ACT_COST_TO_DATE_PC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_PC,
SUBPRJ_PPL_ACT_COST_TC,
SUBPRJ_PPL_ACT_RAWCOST_TC,
SUBPRJ_PPL_ACT_COST_FC,
SUBPRJ_PPL_ACT_RAWCOST_FC,
SUBPRJ_PPL_ACT_COST_PC,
SUBPRJ_PPL_ACT_RAWCOST_PC,
SUBPRJ_EQPMT_ACT_COST_TC,
SUBPRJ_EQPMT_ACT_RAWCOST_TC,
SUBPRJ_EQPMT_ACT_COST_FC,
SUBPRJ_EQPMT_ACT_RAWCOST_FC,
SUBPRJ_EQPMT_ACT_COST_PC,
SUBPRJ_EQPMT_ACT_RAWCOST_PC,
SUBPRJ_OTH_ETC_COST_TC,
SUBPRJ_OTH_ETC_RAWCOST_TC,
SUBPRJ_OTH_ETC_COST_FC,
SUBPRJ_OTH_ETC_RAWCOST_FC,
SUBPRJ_OTH_ETC_COST_PC,
SUBPRJ_OTH_ETC_RAWCOST_PC,
SUBPRJ_PPL_ETC_COST_TC,
SUBPRJ_PPL_ETC_RAWCOST_TC,
SUBPRJ_PPL_ETC_COST_FC,
SUBPRJ_PPL_ETC_RAWCOST_FC,
SUBPRJ_PPL_ETC_COST_PC,
SUBPRJ_PPL_ETC_RAWCOST_PC,
SUBPRJ_EQPMT_ETC_COST_TC,
SUBPRJ_EQPMT_ETC_RAWCOST_TC,
SUBPRJ_EQPMT_ETC_COST_FC,
SUBPRJ_EQPMT_ETC_RAWCOST_FC,
SUBPRJ_EQPMT_ETC_COST_PC,
SUBPRJ_EQPMT_ETC_RAWCOST_PC,
SUBPRJ_EARNED_VALUE,
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
from pa_progress_rollup
where project_id = l_project_id
and object_id = l_object_id
and object_Type = l_object_type
and structure_type = 'WORKPLAN'
and structure_version_id is null
and proj_element_id = l_task_id
AND current_flag <> 'W' -- Bug 3879461
and trunc(as_of_date) = (select max(trunc(as_of_Date))
from pa_progress_rollup
where project_id = l_project_id
and object_id = l_object_id
and object_Type = l_object_type
and structure_type = 'WORKPLAN'
and structure_version_id is null
and proj_element_id = l_task_id
AND current_flag <> 'W' -- Bug 3879461
and trunc(as_of_Date) <= l_temp_as_of_date);
select 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_RAWCOST_TO_DATE_TC,
OTH_ACT_COST_TO_DATE_FC,
OTH_ACT_RAWCOST_TO_DATE_FC,
OTH_ACT_COST_TO_DATE_PC,
OTH_ACT_RAWCOST_TO_DATE_PC,
OTH_ETC_COST_TC,
OTH_ETC_RAWCOST_TC,
OTH_ETC_COST_FC,
OTH_ETC_RAWCOST_FC,
OTH_ETC_COST_PC,
OTH_ETC_RAWCOST_PC,
PPL_ACT_COST_TO_DATE_TC,
PPL_ACT_RAWCOST_TO_DATE_TC,
PPL_ACT_COST_TO_DATE_FC,
PPL_ACT_RAWCOST_TO_DATE_FC,
PPL_ACT_COST_TO_DATE_PC,
PPL_ACT_RAWCOST_TO_DATE_PC,
PPL_ETC_COST_TC,
PPL_ETC_RAWCOST_TC,
PPL_ETC_COST_FC,
PPL_ETC_RAWCOST_FC,
PPL_ETC_COST_PC,
PPL_ETC_RAWCOST_PC,
EQPMT_ACT_COST_TO_DATE_TC,
EQPMT_ACT_RAWCOST_TO_DATE_TC,
EQPMT_ACT_COST_TO_DATE_FC,
EQPMT_ACT_RAWCOST_TO_DATE_FC,
EQPMT_ACT_COST_TO_DATE_PC,
EQPMT_ACT_RAWCOST_TO_DATE_PC,
EQPMT_ETC_COST_TC,
EQPMT_ETC_RAWCOST_TC,
EQPMT_ETC_COST_FC,
EQPMT_ETC_RAWCOST_FC,
EQPMT_ETC_COST_PC,
EQPMT_ETC_RAWCOST_PC,
EARNED_VALUE,
TASK_WT_BASIS_CODE,
SUBPRJ_PPL_ACT_EFFORT,
SUBPRJ_EQPMT_ACT_EFFORT,
SUBPRJ_PPL_ETC_EFFORT,
SUBPRJ_EQPMT_ETC_EFFORT,
SUBPRJ_OTH_ACT_COST_TO_DATE_TC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_TC,
SUBPRJ_OTH_ACT_COST_TO_DATE_FC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_FC,
SUBPRJ_OTH_ACT_COST_TO_DATE_PC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_PC,
SUBPRJ_PPL_ACT_COST_TC,
SUBPRJ_PPL_ACT_RAWCOST_TC,
SUBPRJ_PPL_ACT_COST_FC,
SUBPRJ_PPL_ACT_RAWCOST_FC,
SUBPRJ_PPL_ACT_COST_PC,
SUBPRJ_PPL_ACT_RAWCOST_PC,
SUBPRJ_EQPMT_ACT_COST_TC,
SUBPRJ_EQPMT_ACT_RAWCOST_TC,
SUBPRJ_EQPMT_ACT_COST_FC,
SUBPRJ_EQPMT_ACT_RAWCOST_FC,
SUBPRJ_EQPMT_ACT_COST_PC,
SUBPRJ_EQPMT_ACT_RAWCOST_PC,
SUBPRJ_OTH_ETC_COST_TC,
SUBPRJ_OTH_ETC_RAWCOST_TC,
SUBPRJ_OTH_ETC_COST_FC,
SUBPRJ_OTH_ETC_RAWCOST_FC,
SUBPRJ_OTH_ETC_COST_PC,
SUBPRJ_OTH_ETC_RAWCOST_PC,
SUBPRJ_PPL_ETC_COST_TC,
SUBPRJ_PPL_ETC_RAWCOST_TC,
SUBPRJ_PPL_ETC_COST_FC,
SUBPRJ_PPL_ETC_RAWCOST_FC,
SUBPRJ_PPL_ETC_COST_PC,
SUBPRJ_PPL_ETC_RAWCOST_PC,
SUBPRJ_EQPMT_ETC_COST_TC,
SUBPRJ_EQPMT_ETC_RAWCOST_TC,
SUBPRJ_EQPMT_ETC_COST_FC,
SUBPRJ_EQPMT_ETC_RAWCOST_FC,
SUBPRJ_EQPMT_ETC_COST_PC,
SUBPRJ_EQPMT_ETC_RAWCOST_PC,
SUBPRJ_EARNED_VALUE,
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
from pa_progress_rollup
where project_id = l_project_id
and object_id = l_object_id
and object_Type = l_object_type
and structure_type = 'WORKPLAN'
and structure_version_id is null
and proj_element_id = l_task_id
AND current_flag = 'W'; -- Bug 3879461
select 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_RAWCOST_TO_DATE_TC,
OTH_ACT_COST_TO_DATE_FC,
OTH_ACT_RAWCOST_TO_DATE_FC,
OTH_ACT_COST_TO_DATE_PC,
OTH_ACT_RAWCOST_TO_DATE_PC,
OTH_ETC_COST_TC,
OTH_ETC_RAWCOST_TC,
OTH_ETC_COST_FC,
OTH_ETC_RAWCOST_FC,
OTH_ETC_COST_PC,
OTH_ETC_RAWCOST_PC,
PPL_ACT_COST_TO_DATE_TC,
PPL_ACT_RAWCOST_TO_DATE_TC,
PPL_ACT_COST_TO_DATE_FC,
PPL_ACT_RAWCOST_TO_DATE_FC,
PPL_ACT_COST_TO_DATE_PC,
PPL_ACT_RAWCOST_TO_DATE_PC,
PPL_ETC_COST_TC,
PPL_ETC_RAWCOST_TC,
PPL_ETC_COST_FC,
PPL_ETC_RAWCOST_FC,
PPL_ETC_COST_PC,
PPL_ETC_RAWCOST_PC,
EQPMT_ACT_COST_TO_DATE_TC,
EQPMT_ACT_RAWCOST_TO_DATE_TC,
EQPMT_ACT_COST_TO_DATE_FC,
EQPMT_ACT_RAWCOST_TO_DATE_FC,
EQPMT_ACT_COST_TO_DATE_PC,
EQPMT_ACT_RAWCOST_TO_DATE_PC,
EQPMT_ETC_COST_TC,
EQPMT_ETC_RAWCOST_TC,
EQPMT_ETC_COST_FC,
EQPMT_ETC_RAWCOST_FC,
EQPMT_ETC_COST_PC,
EQPMT_ETC_RAWCOST_PC,
EARNED_VALUE,
TASK_WT_BASIS_CODE,
SUBPRJ_PPL_ACT_EFFORT,
SUBPRJ_EQPMT_ACT_EFFORT,
SUBPRJ_PPL_ETC_EFFORT,
SUBPRJ_EQPMT_ETC_EFFORT,
SUBPRJ_OTH_ACT_COST_TO_DATE_TC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_TC,
SUBPRJ_OTH_ACT_COST_TO_DATE_FC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_FC,
SUBPRJ_OTH_ACT_COST_TO_DATE_PC,
SPJ_OTH_ACT_RAWCOST_TO_DATE_PC,
SUBPRJ_PPL_ACT_COST_TC,
SUBPRJ_PPL_ACT_RAWCOST_TC,
SUBPRJ_PPL_ACT_COST_FC,
SUBPRJ_PPL_ACT_RAWCOST_FC,
SUBPRJ_PPL_ACT_COST_PC,
SUBPRJ_PPL_ACT_RAWCOST_PC,
SUBPRJ_EQPMT_ACT_COST_TC,
SUBPRJ_EQPMT_ACT_RAWCOST_TC,
SUBPRJ_EQPMT_ACT_COST_FC,
SUBPRJ_EQPMT_ACT_RAWCOST_FC,
SUBPRJ_EQPMT_ACT_COST_PC,
SUBPRJ_EQPMT_ACT_RAWCOST_PC,
SUBPRJ_OTH_ETC_COST_TC,
SUBPRJ_OTH_ETC_RAWCOST_TC,
SUBPRJ_OTH_ETC_COST_FC,
SUBPRJ_OTH_ETC_RAWCOST_FC,
SUBPRJ_OTH_ETC_COST_PC,
SUBPRJ_OTH_ETC_RAWCOST_PC,
SUBPRJ_PPL_ETC_COST_TC,
SUBPRJ_PPL_ETC_RAWCOST_TC,
SUBPRJ_PPL_ETC_COST_FC,
SUBPRJ_PPL_ETC_RAWCOST_FC,
SUBPRJ_PPL_ETC_COST_PC,
SUBPRJ_PPL_ETC_RAWCOST_PC,
SUBPRJ_EQPMT_ETC_COST_TC,
SUBPRJ_EQPMT_ETC_RAWCOST_TC,
SUBPRJ_EQPMT_ETC_COST_FC,
SUBPRJ_EQPMT_ETC_RAWCOST_FC,
SUBPRJ_EQPMT_ETC_COST_PC,
SUBPRJ_EQPMT_ETC_RAWCOST_PC,
SUBPRJ_EARNED_VALUE,
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
from pa_progress_rollup
where project_id = l_project_id
and object_id = l_object_id
and object_type = l_object_type
and structure_type = 'WORKPLAN'
and structure_version_id is null
and proj_element_id = l_task_id
and as_of_Date > l_temp_as_of_date;
select *
from pa_progress_rollup
where project_id = l_project_id
and object_type = 'PA_ASSIGNMENTS'
and structure_version_id is null
and structure_Type = 'WORKPLAN'
--- and nvl(ppl_act_effort_to_date,0) + nvl(eqpmt_act_effort_to_date,0) + nvl(oth_quantity_to_date,0) > 0
AND current_flag <> 'W' -- Bug 3879461
and as_of_date = l_temp_as_of_Date;
select *
from pa_progress_rollup ppr
where ppr.project_id = l_project_id
and ppr.object_type = 'PA_ASSIGNMENTS'
and ppr.structure_version_id is null
and ppr.structure_Type = 'WORKPLAN'
AND current_flag <> 'W' -- Bug 3879461
and ppr.as_of_date = (select max(as_of_date)
from pa_progress_rollup ppr1
where ppr1.project_id = l_project_id
and ppr1.object_type = 'PA_ASSIGNMENTS'
and ppr1.object_id = ppr.object_id
and ppr1.proj_element_id = ppr.proj_element_id
and ppr1.structure_version_id is null
and ppr1.structure_Type = 'WORKPLAN'
AND current_flag <> 'W' -- Bug 3879461
and ppr1.as_of_date < l_temp_as_of_Date
and not exists (select 1 ---4871809 performance bug
from pa_progress_rollup ppr2
where ppr2.project_id = l_project_id
and ppr2.object_type = 'PA_ASSIGNMENTS'
and ppr2.object_id = ppr.object_id
and ppr2.proj_element_id = ppr.proj_element_id
and ppr2.structure_version_id is null
and ppr2.structure_Type = 'WORKPLAN'
AND current_flag <> 'W' -- Bug 3879461
and ppr2.as_of_date = l_temp_as_of_Date));
select
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Bug # 4162534.
*
from pji_fm_xbs_accum_tmp1
where project_id = l_project_id
and struct_version_id = l_latest_wp_struct_ver_id
and nvl(plan_version_id,-1) = decode(p_plan_res_level,'Y',-1,nvl(plan_version_id,-1))
and project_element_id > 0
-- and nvl(act_labor_hrs,0)+nvl(act_equip_hrs,0)+nvl(act_prj_raw_cost,0) > 0 --4654495,5091800
order by project_id,struct_version_id,project_element_id,res_list_member_id,period_name;
select resource_class_code
from pa_resource_list_members
where resource_list_member_id = l_res_list_member_id;
select resource_assignment_id,
rbs_element_id,
resource_class_code,
rate_based_flag,
txn_currency_code,
assignment_start_date,
assignment_end_date,
planned_quantity,
planned_bur_cost_txn_cur,
planned_bur_cost_projfunc,
planned_bur_cost_proj_cur,
planned_raw_cost_txn_cur,
planned_raw_cost_projfunc,
planned_raw_cost_proj_cur
from pa_task_asgmts_v
where project_id = l_project_id
and structure_version_id = l_latest_wp_struct_ver_id
and task_id = l_task_id
and resource_list_member_id = l_res_list_member_id;
select ppev.element_version_id,
decode(ppe.base_percent_comp_deriv_code,null,ptt.BASE_PERCENT_COMP_DERIV_CODE,'^',ptt.BASE_PERCENT_COMP_DERIV_CODE,ppe.base_percent_comp_deriv_code) base_percent_comp_deriv_code,
ptt.initial_progress_status_code,
ppevs.scheduled_start_date,
ppevs.scheduled_finish_date
from pa_proj_elements ppe,
pa_proj_element_versions ppev,
pa_proj_elem_ver_schedule ppevs,
pa_task_types ptt
where ppev.proj_element_id = l_obj
and ppev.parent_structure_version_id = l_latest_wp_struct_ver_id
and ppev.proj_element_id = ppe.proj_element_id
and ppevs.element_version_id = ppev.element_version_id
and ppe.type_id = ptt.task_type_id(+);
select TASK_WEIGHT_BASIS_CODE
from pa_proj_progress_attr
where project_id = l_project_id
and structure_type = 'WORKPLAN';
select labor_effort, labor_brdn_cost
from pji_xbs_plans_v
where project_id = l_project_id
and structure_version_id = l_latest_wp_struct_ver_id
and proj_element_id = l_object_id
and structure_type = 'WORKPLAN';
select
/*+ INDEX(pji_fm_xbs_accum_tmp1 pji_fm_xbs_accum_tmp1_n1)*/ -- Fix for Bug # 4162534.
count(*)
from pji_fm_xbs_accum_tmp1
where project_id = l_cur_project_id;
SELECT gp.START_DATE
FROM gl_periods gp,
gl_sets_of_books gsb,
pa_implementations_all pia,
pa_projects_all ppa
WHERE ppa.project_id = l_project_id
and nvl(ppa.org_id,-99) = nvl(pia.org_id,-99)
and gsb.set_of_books_id = pia.set_of_books_id
and gp.period_set_name = gsb.period_set_name
AND gp.period_name = l_period_name
AND gp.period_type = decode(l_plan_type,'G',gsb.accounted_period_type,'P',pia.pa_period_type)
AND gp.adjustment_period_flag = 'N'
ORDER BY gp.start_date;
SELECT nvl(ttype.PROG_ENTRY_ENABLE_FLAG, 'N'),initial_progress_status_code
from pa_task_types ttype
, pa_proj_elements elem
where elem.project_id = c_project_id
and elem.proj_element_id = c_proj_element_id
and elem.object_type = 'PA_TASKS'
and elem.type_id = ttype.task_type_id;
SELECT ppr.progress_status_code
, ppr.actual_start_date
, ppr.actual_finish_date
, ppr.proj_element_id
, ppr.object_type
, ppr.project_id
FROM pa_progress_rollup ppr
, pa_proj_elements ppe
WHERE ppr.progress_rollup_id = c_progress_rollup_id
AND ppr.proj_element_id = ppe.proj_element_id
;
SELECT decode(ppr.base_progress_status_code,'Y','Y','N') date_override_flag
, ppr.estimated_start_date
, ppr.estimated_finish_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppe.status_code
FROM pa_progress_rollup ppr
, pa_proj_elements ppe
WHERE ppr.project_id = c_project_id
AND ppr.object_id = c_object_id
AND ppr.object_type = c_object_type
AND ppr.structure_type = 'WORKPLAN'
AND ppr.structure_version_id is null
AND trunc(ppr.as_of_date) <= trunc(c_as_of_date)
AND ppr.current_flag IN ('Y', 'N')
AND ppr.proj_element_id = ppe.proj_element_id
ORDER by as_of_date desc;
SELECT decode(ppr.base_progress_status_code,'Y','Y','N') date_override_flag
, ppr.estimated_start_date
, ppr.estimated_finish_date
, ppr.actual_start_date
, ppr.actual_finish_date
, ppe.status_code
, ppr.object_id
, ppr.object_version_id
, ppr.proj_element_id
, ppr.object_type
, ppr.as_of_date
, ppr.project_id
, ppr.current_flag
FROM pa_progress_rollup ppr
, pa_proj_elements ppe
WHERE ppr.progress_rollup_id = c_progress_rollup_id
AND ppr.proj_element_id = ppe.proj_element_id
;
select 'Y'
from pa_progress_rollup
where project_id = l_project_id
and proj_element_id = l_task_id
and object_type in ('PA_TASKS','PA_ASSIGNMENTS');
select 'Y'
from pa_proj_elem_ver_structure
where project_id = c_project_id
and element_version_id = c_latest_published_version_id
and process_code = 'PUE';
update pa_proj_progress_attr
set next_progress_update_date = proj_thru_dates_tbl(l_index)
where project_id = proj_ids_tbl(l_index)
and object_type = 'PA_STRUCTURES'
and structure_type = 'WORKPLAN';
select uncategorized_flag
into l_uncategorized_flag
from pa_resource_lists_all_bg ---4355004
where resource_list_id = res_list_ids_tbl(l_index);
select resource_list_member_id
into l_ppl_res_list_mem_id
from pa_resource_list_members
where resource_class_code = 'PEOPLE'
and resource_class_flag = 'Y'
and resource_list_id = res_list_ids_tbl(l_index);
select pa_progress_rollup_s.nextval into progress_rollup_id(l_index2) from dual;
LAST_UPDATE_DATE(l_index2) := sysdate;
LAST_UPDATED_BY(l_index2) := fnd_global.user_id;
LAST_UPDATE_LOGIN(l_index2) := fnd_global.login_id ;
select pa_progress_rollup_s.nextval into progress_rollup_id(l_index2) from dual;
LAST_UPDATE_DATE(l_index2) := sysdate;
LAST_UPDATED_BY(l_index2) := fnd_global.user_id;
LAST_UPDATE_LOGIN(l_index2) := fnd_global.login_id ;
pa_debug.log_message('GET_SUMM_ACT: Done looping thru all the records. Inserts = '||l_index2||' Updates = '||l_index3, 1);
select pa_progress_rollup_s.nextval into progress_rollup_id(l_index2) from dual;
LAST_UPDATE_DATE(l_index2) := sysdate;
LAST_UPDATED_BY(l_index2) := fnd_global.user_id;
LAST_UPDATE_LOGIN(l_index2) := fnd_global.login_id ;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.get_summarized_actuals', x_Msg => 'Insert Case : Client Extension Logic starts here', x_Log_Level=> 3);
pa_debug.log_message('GET_SUMM_ACT: For Insert GET_TASK_RES_OVERRIDE_INFO returned error for object_id='||OBJECT_ID(l_index1), 1);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.get_summarized_actuals', x_Msg => 'Update Case : Client Extension Logic starts here', x_Log_Level=> 3);
pa_debug.log_message('GET_SUMM_ACT: For Update GET_TASK_RES_OVERRIDE_INFO returned error for object_id='||OBJECT_ID(l_index1), 1);
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
,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
,PERCENT_COMPLETE_ID
,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_RAWCOST_TO_DATE_TC
,OTH_ACT_COST_TO_DATE_FC
,OTH_ACT_RAWCOST_TO_DATE_FC
,OTH_ACT_COST_TO_DATE_PC
,OTH_ACT_RAWCOST_TO_DATE_PC
,OTH_ETC_COST_TC
,OTH_ETC_RAWCOST_TC
,OTH_ETC_COST_FC
,OTH_ETC_RAWCOST_FC
,OTH_ETC_COST_PC
,OTH_ETC_RAWCOST_PC
,PPL_ACT_COST_TO_DATE_TC
,PPL_ACT_RAWCOST_TO_DATE_TC
,PPL_ACT_COST_TO_DATE_FC
,PPL_ACT_RAWCOST_TO_DATE_FC
,PPL_ACT_COST_TO_DATE_PC
,PPL_ACT_RAWCOST_TO_DATE_PC
,PPL_ETC_COST_TC
,PPL_ETC_RAWCOST_TC
,PPL_ETC_COST_FC
,PPL_ETC_RAWCOST_FC
,PPL_ETC_COST_PC
,PPL_ETC_RAWCOST_PC
,EQPMT_ACT_COST_TO_DATE_TC
,EQPMT_ACT_RAWCOST_TO_DATE_TC
,EQPMT_ACT_COST_TO_DATE_FC
,EQPMT_ACT_RAWCOST_TO_DATE_FC
,EQPMT_ACT_COST_TO_DATE_PC
,EQPMT_ACT_RAWCOST_TO_DATE_PC
,EQPMT_ETC_COST_TC
,EQPMT_ETC_RAWCOST_TC
,EQPMT_ETC_COST_FC
,EQPMT_ETC_RAWCOST_FC
,EQPMT_ETC_COST_PC
,EQPMT_ETC_RAWCOST_PC
,EARNED_VALUE
,TASK_WT_BASIS_CODE
,SUBPRJ_PPL_ACT_EFFORT
,SUBPRJ_EQPMT_ACT_EFFORT
,SUBPRJ_PPL_ETC_EFFORT
,SUBPRJ_EQPMT_ETC_EFFORT
,SUBPRJ_OTH_ACT_COST_TO_DATE_TC
,SPJ_OTH_ACT_RAWCOST_TO_DATE_TC
,SUBPRJ_OTH_ACT_COST_TO_DATE_FC
,SPJ_OTH_ACT_RAWCOST_TO_DATE_FC
,SUBPRJ_OTH_ACT_COST_TO_DATE_PC
,SPJ_OTH_ACT_RAWCOST_TO_DATE_PC
,SUBPRJ_PPL_ACT_COST_TC
,SUBPRJ_PPL_ACT_RAWCOST_TC
,SUBPRJ_PPL_ACT_COST_FC
,SUBPRJ_PPL_ACT_RAWCOST_FC
,SUBPRJ_PPL_ACT_COST_PC
,SUBPRJ_PPL_ACT_RAWCOST_PC
,SUBPRJ_EQPMT_ACT_COST_TC
,SUBPRJ_EQPMT_ACT_RAWCOST_TC
,SUBPRJ_EQPMT_ACT_COST_FC
,SUBPRJ_EQPMT_ACT_RAWCOST_FC
,SUBPRJ_EQPMT_ACT_COST_PC
,SUBPRJ_EQPMT_ACT_RAWCOST_PC
,SUBPRJ_OTH_ETC_COST_TC
,SUBPRJ_OTH_ETC_RAWCOST_TC
,SUBPRJ_OTH_ETC_COST_FC
,SUBPRJ_OTH_ETC_RAWCOST_FC
,SUBPRJ_OTH_ETC_COST_PC
,SUBPRJ_OTH_ETC_RAWCOST_PC
,SUBPRJ_PPL_ETC_COST_TC
,SUBPRJ_PPL_ETC_RAWCOST_TC
,SUBPRJ_PPL_ETC_COST_FC
,SUBPRJ_PPL_ETC_RAWCOST_FC
,SUBPRJ_PPL_ETC_COST_PC
,SUBPRJ_PPL_ETC_RAWCOST_PC
,SUBPRJ_EQPMT_ETC_COST_TC
,SUBPRJ_EQPMT_ETC_RAWCOST_TC
,SUBPRJ_EQPMT_ETC_COST_FC
,SUBPRJ_EQPMT_ETC_RAWCOST_FC
,SUBPRJ_EQPMT_ETC_COST_PC
,SUBPRJ_EQPMT_ETC_RAWCOST_PC
,SUBPRJ_EARNED_VALUE
,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
) VALUES (PROGRESS_ROLLUP_ID(l_index1)
,PROJECT_ID(l_index1)
,OBJECT_ID(l_index1)
,OBJECT_TYPE(l_index1)
,AS_OF_DATE(l_index1)
,OBJECT_VERSION_ID(l_index1)
,LAST_UPDATE_DATE(l_index1)
,LAST_UPDATED_BY(l_index1)
,CREATION_DATE(l_index1)
,CREATED_BY(l_index1)
,PROGRESS_STATUS_CODE(l_index1)
,LAST_UPDATE_LOGIN(l_index1)
,INCREMENTAL_WORK_QUANTITY(l_index1)
,CUMULATIVE_WORK_QUANTITY(l_index1)
,BASE_PERCENT_COMPLETE(l_index1)
,EFF_ROLLUP_PERCENT_COMP(l_index1)
,COMPLETED_PERCENTAGE(l_index1)
,ESTIMATED_START_DATE(l_index1)
,ESTIMATED_FINISH_DATE(l_index1)
,ACTUAL_START_DATE(l_index1)
,ACTUAL_FINISH_DATE(l_index1)
,ESTIMATED_REMAINING_EFFORT(l_index1)
,record_version_number(l_index1)
,BASE_PERCENT_COMP_DERIV_CODE(l_index1)
,BASE_PROGRESS_STATUS_CODE(l_index1)
,EFF_ROLLUP_PROG_STAT_CODE(l_index1)
,PERCENT_COMPLETE_ID(l_index1)
,STRUCTURE_TYPE(l_index1)
,PROJ_ELEMENT_ID(l_index1)
,STRUCTURE_VERSION_ID(l_index1)
,PPL_ACT_EFFORT_TO_DATE(l_index1)
,EQPMT_ACT_EFFORT_TO_DATE(l_index1)
,EQPMT_ETC_EFFORT(l_index1)
--Bug 3801745 Begin
,decode(l_track_wp_cost_flag, 'Y', OTH_ACT_COST_TO_DATE_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ACT_RAWCOST_TO_DATE_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ACT_COST_TO_DATE_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ACT_RAWCOST_TO_DATE_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ACT_COST_TO_DATE_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ACT_RAWCOST_TO_DATE_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ETC_COST_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ETC_RAWCOST_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ETC_COST_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ETC_RAWCOST_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ETC_COST_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', OTH_ETC_RAWCOST_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ACT_COST_TO_DATE_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ACT_RAWCOST_TO_DATE_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ACT_COST_TO_DATE_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ACT_RAWCOST_TO_DATE_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ACT_COST_TO_DATE_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ACT_RAWCOST_TO_DATE_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ETC_COST_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ETC_RAWCOST_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ETC_COST_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ETC_RAWCOST_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ETC_COST_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', PPL_ETC_RAWCOST_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ACT_COST_TO_DATE_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ACT_RAWCOST_TO_DATE_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ACT_COST_TO_DATE_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ACT_RAWCOST_TO_DATE_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ACT_COST_TO_DATE_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ACT_RAWCOST_TO_DATE_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ETC_COST_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ETC_RAWCOST_TC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ETC_COST_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ETC_RAWCOST_FC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ETC_COST_PC(l_index1), null)
,decode(l_track_wp_cost_flag, 'Y', EQPMT_ETC_RAWCOST_PC(l_index1), null)
--Bug 3801745 End
,EARNED_VALUE(l_index1)
,TASK_WT_BASIS_CODE(l_index1)
,SUBPRJ_PPL_ACT_EFFORT(l_index1)
,SUBPRJ_EQPMT_ACT_EFFORT(l_index1)
,SUBPRJ_PPL_ETC_EFFORT(l_index1)
,SUBPRJ_EQPMT_ETC_EFFORT(l_index1)
,SUBPRJ_OTH_ACT_COST_TO_DATE_TC(l_index1)
,SPJ_OTH_ACT_RAWCOST_TO_DATE_TC(l_index1)
,SUBPRJ_OTH_ACT_COST_TO_DATE_FC(l_index1)
,SPJ_OTH_ACT_RAWCOST_TO_DATE_FC(l_index1)
,SUBPRJ_OTH_ACT_COST_TO_DATE_PC(l_index1)
,SPJ_OTH_ACT_RAWCOST_TO_DATE_PC(l_index1)
,SUBPRJ_PPL_ACT_COST_TC(l_index1)
,SUBPRJ_PPL_ACT_RAWCOST_TC(l_index1)
,SUBPRJ_PPL_ACT_COST_FC(l_index1)
,SUBPRJ_PPL_ACT_RAWCOST_FC(l_index1)
,SUBPRJ_PPL_ACT_COST_PC(l_index1)
,SUBPRJ_PPL_ACT_RAWCOST_PC(l_index1)
,SUBPRJ_EQPMT_ACT_COST_TC(l_index1)
,SUBPRJ_EQPMT_ACT_RAWCOST_TC(l_index1)
,SUBPRJ_EQPMT_ACT_COST_FC(l_index1)
,SUBPRJ_EQPMT_ACT_RAWCOST_FC(l_index1)
,SUBPRJ_EQPMT_ACT_COST_PC(l_index1)
,SUBPRJ_EQPMT_ACT_RAWCOST_PC(l_index1)
,SUBPRJ_OTH_ETC_COST_TC(l_index1)
,SUBPRJ_OTH_ETC_RAWCOST_TC(l_index1)
,SUBPRJ_OTH_ETC_COST_FC(l_index1)
,SUBPRJ_OTH_ETC_RAWCOST_FC(l_index1)
,SUBPRJ_OTH_ETC_COST_PC(l_index1)
,SUBPRJ_OTH_ETC_RAWCOST_PC(l_index1)
,SUBPRJ_PPL_ETC_COST_TC(l_index1)
,SUBPRJ_PPL_ETC_RAWCOST_TC(l_index1)
,SUBPRJ_PPL_ETC_COST_FC(l_index1)
,SUBPRJ_PPL_ETC_RAWCOST_FC(l_index1)
,SUBPRJ_PPL_ETC_COST_PC(l_index1)
,SUBPRJ_PPL_ETC_RAWCOST_PC(l_index1)
,SUBPRJ_EQPMT_ETC_COST_TC(l_index1)
,SUBPRJ_EQPMT_ETC_RAWCOST_TC(l_index1)
,SUBPRJ_EQPMT_ETC_COST_FC(l_index1)
,SUBPRJ_EQPMT_ETC_RAWCOST_FC(l_index1)
,SUBPRJ_EQPMT_ETC_COST_PC(l_index1)
,SUBPRJ_EQPMT_ETC_RAWCOST_PC(l_index1)
,SUBPRJ_EARNED_VALUE(l_index1)
,CURRENT_FLAG(l_index1)
,PROJFUNC_COST_RATE_TYPE(l_index1)
,PROJFUNC_COST_EXCHANGE_RATE(l_index1)
,PROJFUNC_COST_RATE_DATE(l_index1)
,PROJ_COST_RATE_TYPE(l_index1)
,PROJ_COST_EXCHANGE_RATE(l_index1)
,PROJ_COST_RATE_DATE(l_index1)
,TXN_CURRENCY_CODE(l_index1)
,PROG_PA_PERIOD_NAME(l_index1)
,PROG_GL_PERIOD_NAME(l_index1)
,oth_qty(l_index1)
,oth_etc_qty(l_index1)
);
x_Msg => 'Done with bulk insert into pa_progress_rollup',
x_Log_Level=> 3);
update pa_progress_rollup set
OBJECT_VERSION_ID = u_object_version_id(l_index1)
,LAST_UPDATE_DATE = sysdate
,LAST_UPDATED_BY = fnd_global.user_id
,LAST_UPDATE_LOGIN = fnd_global.login_id
,record_version_number = record_version_number + 1
,completed_percentage = u_completed_percentage(l_index1)
,progress_status_code = u_progress_status_code(l_index1) -- Bug 6917961
,eff_rollup_percent_comp = u_eff_rollup_percent_comp(l_index1)
,earned_value = u_earned_val(l_index1)
--4533112
,actual_start_date = u_actual_start_date(l_index1)
,estimated_start_date = u_estimated_start_date(l_index1)
,estimated_finish_date = u_estimated_finish_date(l_index1)
,base_progress_status_code = u_base_progress_status_code(l_index1)
--4533112
,actual_finish_date = u_actual_finish_date(l_index1)
,PPL_ACT_EFFORT_TO_DATE = u_PPL_ACT_EFFORT_TO_DATE(l_index1)
,EQPMT_ACT_EFFORT_TO_DATE = u_EQPMT_ACT_EFFORT_TO_DATE(l_index1)
--Bug 3801745 Begin
,OTH_ACT_COST_TO_DATE_TC = decode(l_track_wp_cost_flag, 'Y', u_OTH_ACT_COST_TO_DATE_TC(l_index1), null)
,OTH_ACT_RAWCOST_TO_DATE_TC = decode(l_track_wp_cost_flag, 'Y', u_OTH_ACT_RAWCOST_TO_DATE_TC(l_index1), null)
,OTH_ACT_COST_TO_DATE_FC = decode(l_track_wp_cost_flag, 'Y', u_OTH_ACT_COST_TO_DATE_FC(l_index1), null)
,OTH_ACT_RAWCOST_TO_DATE_FC = decode(l_track_wp_cost_flag, 'Y', u_OTH_ACT_RAWCOST_TO_DATE_FC(l_index1), null)
,OTH_ACT_COST_TO_DATE_PC = decode(l_track_wp_cost_flag, 'Y', u_OTH_ACT_COST_TO_DATE_PC(l_index1), null)
,OTH_ACT_RAWCOST_TO_DATE_PC = decode(l_track_wp_cost_flag, 'Y', u_OTH_ACT_RAWCOST_TO_DATE_PC(l_index1), null)
,PPL_ACT_COST_TO_DATE_TC = decode(l_track_wp_cost_flag, 'Y', u_PPL_ACT_COST_TO_DATE_TC(l_index1), null)
,PPL_ACT_RAWCOST_TO_DATE_TC = decode(l_track_wp_cost_flag, 'Y', u_PPL_ACT_RAWCOST_TO_DATE_TC(l_index1), null)
,PPL_ACT_COST_TO_DATE_FC = decode(l_track_wp_cost_flag, 'Y', u_PPL_ACT_COST_TO_DATE_FC(l_index1), null)
,PPL_ACT_RAWCOST_TO_DATE_FC = decode(l_track_wp_cost_flag, 'Y', u_PPL_ACT_RAWCOST_TO_DATE_FC(l_index1), null)
,PPL_ACT_COST_TO_DATE_PC = decode(l_track_wp_cost_flag, 'Y', u_PPL_ACT_COST_TO_DATE_PC(l_index1), null)
,PPL_ACT_RAWCOST_TO_DATE_PC = decode(l_track_wp_cost_flag, 'Y', u_PPL_ACT_RAWCOST_TO_DATE_PC(l_index1), null)
,EQPMT_ACT_COST_TO_DATE_TC = decode(l_track_wp_cost_flag, 'Y', u_EQPMT_ACT_COST_TO_DATE_TC(l_index1), null)
,EQPMT_ACT_RAWCOST_TO_DATE_TC = decode(l_track_wp_cost_flag, 'Y', u_EQPMT_ACT_RAWCOST_TO_DATE_TC(l_index1), null)
,EQPMT_ACT_COST_TO_DATE_FC = decode(l_track_wp_cost_flag, 'Y', u_EQPMT_ACT_COST_TO_DATE_FC(l_index1), null)
,EQPMT_ACT_RAWCOST_TO_DATE_FC = decode(l_track_wp_cost_flag, 'Y', u_EQPMT_ACT_RAWCOST_TO_DATE_FC(l_index1), null)
,EQPMT_ACT_COST_TO_DATE_PC = decode(l_track_wp_cost_flag, 'Y', u_EQPMT_ACT_COST_TO_DATE_PC(l_index1), null)
,EQPMT_ACT_RAWCOST_TO_DATE_PC = decode(l_track_wp_cost_flag, 'Y', u_EQPMT_ACT_RAWCOST_TO_DATE_PC(l_index1), null)
--Bug 3801745 End
,OTH_QUANTITY_TO_DATE = u_oth_qty(l_index1)
,oth_etc_cost_tc = u_oth_etc_cost_to_date_tc(l_index1)
,oth_etc_rawcost_tc = u_oth_etc_rawcost_to_date_tc(l_index1)
,oth_etc_cost_pc = u_oth_etc_cost_to_date_pc(l_index1)
,oth_etc_rawcost_pc = u_oth_etc_rawcost_to_date_pc(l_index1)
,oth_etc_cost_fc = u_oth_etc_cost_to_date_fc(l_index1)
,oth_etc_rawcost_fc = u_oth_etc_rawcost_to_date_fc(l_index1)
,ppl_etc_cost_tc = u_ppl_etc_cost_to_date_tc(l_index1)
,ppl_etc_rawcost_tc = u_ppl_etc_rawcost_to_date_tc(l_index1)
,ppl_etc_cost_pc = u_ppl_etc_cost_to_date_pc(l_index1)
,ppl_etc_rawcost_pc = u_ppl_etc_rawcost_to_date_pc(l_index1)
,ppl_etc_cost_fc = u_ppl_etc_cost_to_date_fc(l_index1)
,ppl_etc_rawcost_fc = u_ppl_etc_rawcost_to_date_fc(l_index1)
,eqpmt_etc_cost_tc = u_eqpmt_etc_cost_to_date_tc(l_index1)
,eqpmt_etc_rawcost_tc = u_eqpmt_etc_rawcost_to_date_tc(l_index1)
,eqpmt_etc_cost_pc = u_eqpmt_etc_cost_to_date_pc(l_index1)
,eqpmt_etc_rawcost_pc = u_eqpmt_etc_rawcost_to_date_pc(l_index1)
,eqpmt_etc_cost_fc = u_eqpmt_etc_cost_to_date_fc(l_index1)
,eqpmt_etc_rawcost_fc = u_eqpmt_etc_rawcost_to_date_fc(l_index1)
,estimated_remaining_effort = u_ppl_etc_effort_to_date(l_index1)
,eqpmt_etc_effort = u_eqpmt_etc_effort_to_date(l_index1)
,oth_etc_quantity = u_oth_etc_qty(l_index1)
where progress_rollup_id = u_progress_rollup_id(l_index1);
x_Msg => 'Done with bulk update into pa_progress_rollup',
x_Log_Level=> 3);
update pa_progress_rollup set
CURRENT_FLAG = 'N'
where progress_rollup_id = u1_progress_rollup_id(l_index1);
x_Msg => 'Done with bulk update of current flag in pa_progress_rollup',
x_Log_Level=> 3);
pa_debug.log_message('GET_SUMM_ACT: Done insert/update of pa_progress_rollup.', 1);
INSERT INTO PJI_FM_EXTR_PLAN_LINES(
PROJECT_ID
,PROJECT_ORG_ID
,PROJECT_ELEMENT_ID
,STRUCT_VER_ID
,PERIOD_NAME
,CALENDAR_TYPE
,END_DATE
,RBS_ELEMENT_ID
,PLAN_VERSION_ID
,PLAN_TYPE_ID
,WP_VERSION_FLAG
,ROLLUP_TYPE
,TXN_CURRENCY_CODE
,ETC_QUANTITY
,ETC_TXN_BURDENED_COST
,ETC_PRJ_BURDENED_COST
,ETC_PFC_BURDENED_COST
,ETC_TXN_RAW_COST
,ETC_PRJ_RAW_COST
,ETC_PFC_RAW_COST
,RESOURCE_CLASS_CODE
,RATE_BASED_FLAG
,PRJ_CURRENCY_CODE
,PFC_CURRENCY_CODE)
VALUES( ETC_PROJECT_ID(i)
,ETC_PROJECT_ORG_ID(i)
,ETC_PROJECT_ELEMENT_ID(i)
,ETC_STRUCT_VER_ID(i)
,ETC_PERIOD_NAME(i)
,ETC_CALENDAR_TYPE(i)
,ETC_END_DATE(i)
,ETC_RBS_ELEMENT_ID(i)
,ETC_PLAN_VERSION_ID(i)
,ETC_PLAN_TYPE_ID(i)
,ETC_WP_VERSION_FLAG(i)
,ETC_ROLLUP_TYPE(i)
,ETC_TXN_CURRENCY_CODE(i)
,ETC_QUANTITY(i)
,ETC_TXN_BURDENED_COST(i)
,ETC_PRJ_BURDENED_COST(i)
,ETC_PFC_BURDENED_COST(i)
,ETC_TXN_RAW_COST(i)
,ETC_PRJ_RAW_COST(i)
,ETC_PFC_RAW_COST(i)
,ETC_RESOURCE_CLASS_CODE(i)
,ETC_RATE_BASED_FLAG(i)
,ETC_PRJ_CURRENCY_CODE(i)
,ETC_PFC_CURRENCY_CODE(i));
pa_debug.log_message('GET_SUMM_ACT: Before inserting records in PA_PROG_ACT_BY_PERIOD_TEMP. Record Count = '||l_t_index, 1);
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
,hidden_res_assgn_id
,resource_list_member_id
,current_flag
,object_type
,percent_complete_id
,attribute1
,attribute2
,attribute3
,attribute4
,attribute5
,attribute6
,start_date
,finish_date)
VALUES (
t_PROJECT_ID(i)
,t_STRUCTURE_VERSION_ID(i)
,t_TASK_ID(i)
,t_RESOURCE_ASSIGNMENT_ID(i)
,t_AS_OF_DATE(i)
,decode(t_track_wp_cost_flag(i), 'Y', t_ACTUAL_COST(i), null)
,t_ACTUAL_EFFORT(i)
,t_PERIOD_NAME(i)
,t_TXN_CURRENCY_CODE(i)
,decode(t_track_wp_cost_flag(i), 'Y', t_ACTUAL_COST_PC(i), null)
,decode(t_track_wp_cost_flag(i), 'Y', t_ACTUAL_COST_FC(i), null)
,decode(t_track_wp_cost_flag(i), 'Y', t_ACTUAL_RAWCOST(i), null)
,decode(t_track_wp_cost_flag(i), 'Y', t_ACTUAL_RAWCOST_PC(i), null)
,decode(t_track_wp_cost_flag(i), 'Y', t_ACTUAL_RAWCOST_FC(i), null)
,t_HIDDEN_RES_ASSGN_ID(i)
,t_RESOURCE_LIST_MEMBER_ID(i)
,t_CURRENT_FLAG(i)
,t_OBJECT_TYPE(i)
,t_PERCENT_COMPLETE_ID(i)
,to_char(null)
,to_char(null)
,to_char(null)
,to_number(null)
,to_number(null)
,to_number(null)
,t_min_start_date(i)
,t_max_end_date(i));
skip_proj_ids_tbl.delete;
skip_latest_wp_str_ver_id_tbl.delete;
skip_proj_thru_dates_tbl.delete;
PJI_FM_XBS_ACCUM_UTILS.DELETE_FIN8 (p_project_id => proj_ids_tbl(l_index),
p_err_flag => l_act_err_flag(l_index),
p_err_msg => l_act_err_msg(l_index));
DELETE PJI_FM_EXTR_PLAN_LINES where PROJECT_ID = proj_ids_tbl(l_index);
DELETE PA_PROG_ACT_BY_PERIOD_TEMP where PROJECT_ID = proj_ids_tbl(l_index);
PJI_FM_XBS_ACCUM_UTILS.DELETE_FIN8 (p_project_id => proj_ids_tbl(l_index),
p_calendar_type => calendar_type_tbl(l_index),
p_end_Date => proj_thru_dates_tbl(l_index));
PJI_FM_XBS_ACCUM_UTILS.DELETE_FIN8 (p_project_id => proj_ids_tbl(l_index),
p_calendar_type => calendar_type_tbl(l_index),
p_end_Date => proj_thru_dates_tbl(l_index));
PJI_FM_XBS_ACCUM_UTILS.DELETE_FIN8 (p_project_id => proj_ids_tbl(l_index),
p_err_flag => l_act_err_flag(l_index),
p_err_msg => l_act_err_msg(l_index));
DELETE PJI_FM_EXTR_PLAN_LINES where PROJECT_ID = proj_ids_tbl(l_index);
DELETE PA_PROG_ACT_BY_PERIOD_TEMP where PROJECT_ID = proj_ids_tbl(l_index);
PJI_FM_XBS_ACCUM_UTILS.DELETE_FIN8 (p_project_id => proj_ids_tbl(l_index),
p_calendar_type => calendar_type_tbl(l_index),
p_end_Date => proj_thru_dates_tbl(l_index));
PJI_FM_XBS_ACCUM_UTILS.DELETE_FIN8 (p_project_id => proj_ids_tbl(l_index),
p_calendar_type => calendar_type_tbl(l_index),
p_end_Date => proj_thru_dates_tbl(l_index));
PROCEDURE UPDATE_FINANCIAL_TASK_PROGRESS(
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_debug_mode IN VARCHAR2 :='N'
,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_action IN VARCHAR2 :='SAVE'
,P_rollup_entire_wbs_flag IN VARCHAR2 :='N'
,p_progress_mode IN VARCHAR2 :='FUTURE'
,p_percent_complete_id 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_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_object_type IN VARCHAR2 :='PA_TASKS'
,p_as_of_date IN DATE :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
,p_percent_complete IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_progress_status_code IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_progress_comment IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_brief_overview IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_record_version_number IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_pm_product_code IN VARCHAR2 :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_structure_type IN VARCHAR2 :='FINANCIAL'
,p_task_id IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_structure_version_id IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,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_FINANCIAL_TASK_PROGRESS' ;
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 task_weight_basis_code
FROM pa_proj_progress_attr
WHERE project_id = c_project_id
AND structure_type = c_structure_type;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'ENTERED', x_Log_Level=> 3);
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS');
savepoint UPDATE_FINANCIAL_TASK_PROGRESS;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_task_id: '||p_task_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_object_version_id: '||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_project_id: '||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_object_id: '||p_object_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_as_of_date: '||p_as_of_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_percent_complete_id: '||p_percent_complete_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_percent_complete: '||p_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_record_version_number: '||p_record_version_number, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_structure_type: '||p_structure_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'p_structure_version_id: '||p_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'l_last_progress_date: '||l_last_progress_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'l_progress_exists_on_aod: '||l_progress_exists_on_aod, x_Log_Level=> 3);
UPDATE pa_percent_completes
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = l_object_id
AND current_flag = 'Y'
AND object_type = l_object_type
AND structure_type = p_structure_type;
UPDATE pa_progress_rollup
SET current_flag = 'N'
WHERE project_id = p_project_id
AND object_id = p_object_id
AND object_type = p_object_type
--AND as_of_date = p_as_of_date
AND current_flag = 'Y'
--AND object_version_id = p_object_version_id Bug 3603636, We shd not rely on object_version_id
AND structure_version_id IS NULL
AND structure_type = p_structure_type;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'l_db_action: '||l_db_action, x_Log_Level=> 3);
UPDATE pa_percent_completes
SET history_flag = 'Y'
WHERE project_id = p_project_id
AND object_id = l_object_id
AND trunc(date_computed) = trunc(p_as_of_date)
AND object_type = l_object_type
AND structure_type = p_structure_type;
PA_PERCENT_COMPLETES_PKG.INSERT_ROW(
p_TASK_ID => l_task_id
,p_DATE_COMPUTED => p_as_of_date
,p_LAST_UPDATE_DATE => SYSDATE
,p_LAST_UPDATED_BY => l_user_id
,p_CREATION_DATE => SYSDATE
,p_CREATED_BY => l_user_id
,p_LAST_UPDATE_LOGIN => l_login_id
,p_COMPLETED_PERCENTAGE => l_percent_complete
,p_DESCRIPTION => l_brief_overview
,p_PROJECT_ID => p_project_id
,p_PM_PRODUCT_CODE => l_pm_product_code
,p_CURRENT_FLAG => l_current_flag
,p_OBJECT_TYPE => l_object_type
,p_OBJECT_ID => l_object_id
,p_OBJECT_VERSION_ID => l_object_version_id
,p_PROGRESS_STATUS_CODE => l_progress_status_code
,p_ACTUAL_START_DATE => l_actual_start_date
,p_ACTUAL_FINISH_DATE => l_actual_finish_date
,p_ESTIMATED_START_DATE => l_estimated_start_date
,p_ESTIMATED_FINISH_DATE => l_estimated_finish_date
,p_PUBLISHED_FLAG => l_published_flag
,p_PUBLISHED_BY_PARTY_ID => l_published_by_party_id
,p_PROGRESS_COMMENT => l_progress_comment
,p_HISTORY_FLAG => 'N'
,p_status_code => l_task_status
,x_PERCENT_COMPLETE_ID => l_percent_complete_id
,p_ATTRIBUTE_CATEGORY => null
,p_ATTRIBUTE1 => null
,p_ATTRIBUTE2 => null
,p_ATTRIBUTE3 => null
,p_ATTRIBUTE4 => null
,p_ATTRIBUTE5 => null
,p_ATTRIBUTE6 => null
,p_ATTRIBUTE7 => null
,p_ATTRIBUTE8 => null
,p_ATTRIBUTE9 => null
,p_ATTRIBUTE10 => null
,p_ATTRIBUTE11 => null
,p_ATTRIBUTE12 => null
,p_ATTRIBUTE13 => null
,p_ATTRIBUTE14 => null
,p_ATTRIBUTE15 => null
,p_structure_type => p_structure_type
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'INSERTED IN PPC', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'INSERTING IN PPR', x_Log_Level=> 3);
PA_PROGRESS_ROLLUP_PKG.INSERT_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => l_object_id
,X_OBJECT_TYPE => l_object_type
,X_AS_OF_DATE => p_as_of_date
,X_OBJECT_VERSION_ID => l_object_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 => l_rollup_progress_status
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => l_INCREMENTAL_WORK_QTY
,X_CUMULATIVE_WORK_QTY => l_CUMULATIVE_WORK_QTY
,X_BASE_PERCENT_COMPLETE => l_BASE_PERCENT_COMPLETE
,X_EFF_ROLLUP_PERCENT_COMP => l_EFF_ROLLUP_PERCENT_COMP
,X_COMPLETED_PERCENTAGE => l_percent_complete
,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 => null
,X_BASE_PERCENT_COMP_DERIV_CODE => l_BASE_PERCENT_COMP_DERIV_CODE
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => l_EFF_ROLLUP_PROG_STAT_CODE
,x_percent_complete_id => l_percent_complete_id
,X_STRUCTURE_TYPE => p_structure_type
,X_PROJ_ELEMENT_ID => l_task_id -- p_task_id Bug 3876091
,X_STRUCTURE_VERSION_ID => l_structure_version_id
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => null
,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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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_PROGRESS_ROLLUP_PKG.UPDATE_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => l_object_id
,X_OBJECT_TYPE => l_object_type
,X_AS_OF_DATE => p_as_of_date
,X_OBJECT_VERSION_ID => l_object_version_id
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => l_user_id
,X_PROGRESS_STATUS_CODE => l_rollup_progress_status
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => l_INCREMENTAL_WORK_QTY
,X_CUMULATIVE_WORK_QTY => l_CUMULATIVE_WORK_QTY
,X_BASE_PERCENT_COMPLETE => l_BASE_PERCENT_COMPLETE
,X_EFF_ROLLUP_PERCENT_COMP => l_EFF_ROLLUP_PERCENT_COMP
,X_COMPLETED_PERCENTAGE => l_percent_complete
,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 => null
,X_BASE_PERCENT_COMP_DERIV_CODE => l_BASE_PERCENT_COMP_DERIV_CODE
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => l_EFF_ROLLUP_PROG_STAT_CODE
,X_RECORD_VERSION_NUMBER => l_rollup_rec_ver_number
,x_percent_complete_id => l_percent_complete_id
,X_STRUCTURE_TYPE => p_structure_type
,X_PROJ_ELEMENT_ID => l_task_id --p_task_id Bug 3876091
,X_STRUCTURE_VERSION_ID => l_structure_version_id
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => null
,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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'INSERTED IN PPR', x_Log_Level=> 3);
ELSIF l_db_action = 'UPDATE'
THEN
IF p_percent_complete_id IS NULL OR p_percent_complete_id = PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
THEN
l_percent_complete_id := PA_PROGRESS_UTILS.get_ppc_id(
p_project_id => p_project_id
,p_object_id => l_object_id
,p_task_id => l_task_id -- l_object_id -- Bug 3764224 Bug 3876091
,p_object_type => l_object_type
,p_object_version_id => l_object_version_id
,p_as_of_date => p_as_of_date
,p_structure_type => p_structure_type
);
SELECT record_version_number into l_record_version_number
FROM pa_percent_completes
where percent_complete_id = l_percent_complete_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'l_percent_complete_id: '||l_percent_complete_id, x_Log_Level=> 3);
PA_PERCENT_COMPLETES_PKG.UPDATE_ROW(
p_TASK_ID => l_task_id
,p_DATE_COMPUTED => p_as_of_date
,p_LAST_UPDATE_DATE => SYSDATE
,p_LAST_UPDATED_BY => l_user_id
,p_LAST_UPDATE_LOGIN => l_login_id
,p_COMPLETED_PERCENTAGE => l_percent_complete
,p_DESCRIPTION => l_brief_overview
,p_PM_PRODUCT_CODE => l_pm_product_code
,p_CURRENT_FLAG => l_current_flag
,p_PERCENT_COMPLETE_ID => l_percent_complete_id
,p_project_id => p_project_id
,p_OBJECT_TYPE => l_object_type
,p_OBJECT_ID => l_object_id
,p_OBJECT_VERSION_ID => l_object_version_id
,p_PROGRESS_STATUS_CODE => l_progress_status_code
,p_ACTUAL_START_DATE => l_actual_start_date
,p_ACTUAL_FINISH_DATE => l_actual_finish_date
,p_ESTIMATED_START_DATE => l_estimated_start_date
,p_ESTIMATED_FINISH_DATE => l_estimated_finish_date
,p_PUBLISHED_FLAG => l_published_flag
,p_PUBLISHED_BY_PARTY_ID => l_published_by_party_id
,p_PROGRESS_COMMENT => l_progress_comment
,p_HISTORY_FLAG => 'N'
,p_status_code => l_task_status
,p_RECORD_VERSION_NUMBER => l_record_version_number -- FPM Dev CR 6
,p_ATTRIBUTE_CATEGORY => null
,p_ATTRIBUTE1 => null
,p_ATTRIBUTE2 => null
,p_ATTRIBUTE3 => null
,p_ATTRIBUTE4 => null
,p_ATTRIBUTE5 => null
,p_ATTRIBUTE6 => null
,p_ATTRIBUTE7 => null
,p_ATTRIBUTE8 => null
,p_ATTRIBUTE9 => null
,p_ATTRIBUTE10 => null
,p_ATTRIBUTE11 => null
,p_ATTRIBUTE12 => null
,p_ATTRIBUTE13 => null
,p_ATTRIBUTE14 => null
,p_ATTRIBUTE15 => null
,p_structure_type => p_structure_type
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'l_PROGRESS_ROLLUP_ID: '||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
PA_PROGRESS_ROLLUP_PKG.UPDATE_ROW(
X_PROGRESS_ROLLUP_ID => l_PROGRESS_ROLLUP_ID
,X_PROJECT_ID => p_project_id
,X_OBJECT_ID => l_object_id
,X_OBJECT_TYPE => l_object_type
,X_AS_OF_DATE => p_as_of_date
,X_OBJECT_VERSION_ID => l_object_version_id
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => l_user_id
,X_PROGRESS_STATUS_CODE => l_rollup_progress_status
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => l_INCREMENTAL_WORK_QTY
,X_CUMULATIVE_WORK_QTY => l_CUMULATIVE_WORK_QTY
,X_BASE_PERCENT_COMPLETE => l_BASE_PERCENT_COMPLETE
,X_EFF_ROLLUP_PERCENT_COMP => l_EFF_ROLLUP_PERCENT_COMP
,X_COMPLETED_PERCENTAGE => l_percent_complete
,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 => null
,X_BASE_PERCENT_COMP_DERIV_CODE => l_BASE_PERCENT_COMP_DERIV_CODE
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => l_EFF_ROLLUP_PROG_STAT_CODE
,X_RECORD_VERSION_NUMBER => l_rollup_rec_ver_number
,x_percent_complete_id => l_percent_complete_id
,X_STRUCTURE_TYPE => p_structure_type
,X_PROJ_ELEMENT_ID => l_task_id --p_task_id Bug 3876091
,X_STRUCTURE_VERSION_ID => l_structure_version_id
,X_PPL_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ACT_EFFORT_TO_DATE => null
,X_EQPMT_ETC_EFFORT => null
,X_OTH_ACT_COST_TO_DATE_TC => null
,X_OTH_ACT_COST_TO_DATE_FC => null
,X_OTH_ACT_COST_TO_DATE_PC => null
,X_OTH_ETC_COST_TC => null
,X_OTH_ETC_COST_FC => null
,X_OTH_ETC_COST_PC => null
,X_PPL_ACT_COST_TO_DATE_TC => null
,X_PPL_ACT_COST_TO_DATE_FC => null
,X_PPL_ACT_COST_TO_DATE_PC => null
,X_PPL_ETC_COST_TC => null
,X_PPL_ETC_COST_FC => null
,X_PPL_ETC_COST_PC => null
,X_EQPMT_ACT_COST_TO_DATE_TC => null
,X_EQPMT_ACT_COST_TO_DATE_FC => null
,X_EQPMT_ACT_COST_TO_DATE_PC => null
,X_EQPMT_ETC_COST_TC => null
,X_EQPMT_ETC_COST_FC => null
,X_EQPMT_ETC_COST_PC => null
,X_EARNED_VALUE => null
,X_TASK_WT_BASIS_CODE => null
,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 => null
,X_PROJFUNC_COST_EXCHANGE_RATE => null
,X_PROJFUNC_COST_RATE_DATE => null
,X_PROJ_COST_RATE_TYPE => null
,X_PROJ_COST_EXCHANGE_RATE => null
,X_PROJ_COST_RATE_DATE => null
,X_TXN_CURRENCY_CODE => null
,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 => null
,X_OTH_ETC_QUANTITY => null
,X_OTH_ACT_RAWCOST_TO_DATE_TC => null
,X_OTH_ACT_RAWCOST_TO_DATE_FC => null
,X_OTH_ACT_RAWCOST_TO_DATE_PC => null
,X_OTH_ETC_RAWCOST_TC => null
,X_OTH_ETC_RAWCOST_FC => null
,X_OTH_ETC_RAWCOST_PC => null
,X_PPL_ACT_RAWCOST_TO_DATE_TC => null
,X_PPL_ACT_RAWCOST_TO_DATE_FC => null
,X_PPL_ACT_RAWCOST_TO_DATE_PC => null
,X_PPL_ETC_RAWCOST_TC => null
,X_PPL_ETC_RAWCOST_FC => null
,X_PPL_ETC_RAWCOST_PC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_TC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_FC => null
,X_EQPMT_ACT_RAWCOST_TO_DATE_PC => null
,X_EQPMT_ETC_RAWCOST_TC => null
,X_EQPMT_ETC_RAWCOST_FC => null
,X_EQPMT_ETC_RAWCOST_PC => null
,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_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'COMPLETED ', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS', x_Msg => 'EXITING ', x_Log_Level=> 3);
rollback to UPDATE_FINANCIAL_TASK_PROGRESS;
rollback to UPDATE_FINANCIAL_TASK_PROGRESS;
p_procedure_name => 'UPDATE_FINANCIAL_TASK_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to UPDATE_DELIVERABLE_PROGRESS;
p_procedure_name => 'UPDATE_FINANCIAL_TASK_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,120));
END UPDATE_FINANCIAL_TASK_PROGRESS;
select as_of_date, task_wt_basis_code
from pa_progress_rollup
where project_id = p_project_id -- Bug 3693757
and structure_version_id = p_structure_version_id -- Bug 3693757
and object_type = 'PA_STRUCTURES' -- Bug 3693757
;
and as_of_date = (select max(as_of_date)
from pa_progress_rollup
where project_id = p_project_id
and structure_version_id = p_structure_version_id
and current_flag = 'Y');
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 as_of_date, task_wt_basis_code
from pa_progress_rollup
where project_id = p_project_id
and structure_version_id = p_structure_version_id;
select pppa.task_weight_basis_code
from pa_proj_progress_attr pppa
where pppa.project_id = p_project_id
and pppa.structure_type = 'WORKPLAN';
SELECT distinct asgn.project_id project_id, asgn.structure_version_id structure_version_id
FROM pa_task_asgmts_v asgn
, pa_proj_elem_ver_structure str
, pa_proj_progress_attr prog
, pa_proj_structure_types pstype
WHERE asgn.person_id = p_person_id
AND asgn.structure_version_id = str.element_version_id
AND asgn.project_id = str.project_id
AND str.latest_eff_published_flag = 'Y'
AND str.proj_element_id = pstype.proj_element_id
AND pstype.structure_type_id = 1
AND asgn.project_id = prog.project_id
AND prog.structure_type = 'WORKPLAN'
AND prog.allow_collab_prog_entry = 'Y'
UNION
SELECT distinct elem.project_id project_id, str.element_version_id structure_version_id
FROM pa_proj_elements elem
, pa_proj_elem_ver_structure str
, pa_proj_progress_attr prog
, pa_proj_structure_types pstype
WHERE elem.manager_person_id = p_person_id
AND elem.object_type = 'PA_TASKS'
AND elem.project_id = str.project_id
AND str.latest_eff_published_flag = 'Y'
AND str.proj_element_id = pstype.proj_element_id
AND pstype.structure_type_id = 1
AND elem.project_id = prog.project_id
AND prog.structure_type = 'WORKPLAN'
AND prog.allow_collab_prog_entry = 'Y';
select *
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.structure_version_id = p_src_str_ver_id
and ppr.object_type = 'PA_ASSIGNMENTS'
and structure_type = 'WORKPLAN'
and current_flag = 'Y';
select *
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.structure_version_id is null
and ppr.object_type = 'PA_ASSIGNMENTS'
and structure_type = 'WORKPLAN'
and current_flag = 'Y';
select ptav2.resource_list_member_id, ptav2.txn_currency_code
,ptav2.resource_class_code, ptav2.rate_based_flag
,ptav2.rbs_element_id,planned_quantity,
planned_bur_cost_txn_cur,
planned_bur_cost_projfunc,
planned_bur_cost_proj_cur,
planned_raw_cost_txn_cur,
planned_raw_cost_projfunc,
planned_raw_cost_proj_cur
from pa_task_asgmts_v ptav2
where ptav2.resource_list_member_id = p_object_id
and ptav2.structure_version_id = p_dst_str_ver_id
and ptav2.task_id = p_task_id
;
select count(*)
from pa_progress_rollup ppr
where ppr.project_id = p_project_id
and ppr.object_version_id = p_object_version_id
and ppr.object_type = 'PA_ASSIGNMENTS'
and ppr.structure_version_id is null
and ppr.structure_type = 'WORKPLAN'
and ppr.current_flag = 'Y';
CURSOR cur_select_all_assgns
IS
SELECT ptav.*
FROM pa_progress_rollup ppr2
--,pa_task_assignments_v ptav --bug 3967374
,pa_task_asgmts_v ptav
WHERE ppr2.project_id=p_project_id
AND ptav.project_id=p_project_id
AND ppr2.object_id = ptav.task_id
AND (ptav.resource_list_member_id ) not in (
SELECT object_id
FROM pa_progress_rollup ppr
where ppr.project_id=p_project_id
and ppr.structure_version_id is null
and ppr.current_flag = 'Y'
and ppr.object_type = 'PA_ASSIGNMENTS'
and ppr.structure_type = 'WORKPLAN'
and ppr.proj_element_id = ppr2.proj_element_id
)
AND ptav.structure_version_id = p_dst_str_ver_id
and ppr2.structure_version_id is null
and ppr2.current_flag = 'Y'
and ppr2.structure_type = 'WORKPLAN'
;*/
Select count(1)
FROM PA_Proj_Elem_Ver_Structure ppevs,
PA_Proj_Elements ppe,
PA_Proj_Structure_Types ppst,
PA_Structure_types pst
WHERE ppevs.Project_ID = P_Project_ID
AND ppevs.status_code = 'STRUCTURE_PUBLISHED'
AND ppevs.proj_element_id = ppe.Proj_Element_ID
AND ppe.Project_ID = ppevs.Project_ID
AND ppe.Proj_Element_ID = ppst.Proj_Element_ID
AND ppst.Structure_Type_ID = pst.Structure_Type_ID
AND pst.structure_type = 'WORKPLAN';
select org_id, project_currency_code, projfunc_currency_code
from pa_projects_all
where project_id = p_project_id;
DELETE from pa_progress_rollup
WHERE project_id = p_project_id
AND structure_version_id is null
AND structure_type = 'WORKPLAN'
AND object_type = 'PA_ASSIGNMENTS'
AND object_id = l_ppr_rec.object_id
AND proj_element_id = l_ppr_rec.proj_element_id;
DELETE from pa_progress_rollup
WHERE project_id = p_project_id
AND structure_version_id = p_src_str_ver_id
AND structure_type = 'WORKPLAN'
AND object_type = 'PA_ASSIGNMENTS'
AND object_id = l_ppr_rec.object_id
AND proj_element_id = l_ppr_rec.proj_element_id;
INSERT INTO PJI_FM_EXTR_PLAN_LINES(
PROJECT_ID
,PROJECT_ORG_ID
,PROJECT_ELEMENT_ID
,STRUCT_VER_ID
,PERIOD_NAME
,CALENDAR_TYPE
,END_DATE
,RBS_ELEMENT_ID
,PLAN_VERSION_ID
,PLAN_TYPE_ID
,WP_VERSION_FLAG
,ROLLUP_TYPE
,TXN_CURRENCY_CODE
,ETC_QUANTITY
,ETC_TXN_BURDENED_COST
,ETC_PRJ_BURDENED_COST
,ETC_PFC_BURDENED_COST
,ETC_TXN_RAW_COST
,ETC_PRJ_RAW_COST
,ETC_PFC_RAW_COST
,RESOURCE_CLASS_CODE
,RATE_BASED_FLAG
,PRJ_CURRENCY_CODE
,PFC_CURRENCY_CODE)
VALUES( ETC_PROJECT_ID(l_count)
,ETC_PROJECT_ORG_ID(l_count)
,ETC_PROJECT_ELEMENT_ID(l_count)
,ETC_STRUCT_VER_ID(l_count)
,ETC_PERIOD_NAME(l_count)
,ETC_CALENDAR_TYPE(l_count)
,ETC_END_DATE(l_count)
,ETC_RBS_ELEMENT_ID(l_count)
,ETC_PLAN_VERSION_ID(l_count)
,ETC_PLAN_TYPE_ID(l_count)
,ETC_WP_VERSION_FLAG(l_count)
,ETC_ROLLUP_TYPE(l_count)
,ETC_TXN_CURRENCY_CODE(l_count)
,ETC_QUANTITY(l_count)
,ETC_TXN_BURDENED_COST(l_count)
,ETC_PRJ_BURDENED_COST(l_count)
,ETC_PFC_BURDENED_COST(l_count)
,ETC_TXN_RAW_COST(l_count)
,ETC_PRJ_RAW_COST(l_count)
,ETC_PFC_RAW_COST(l_count)
,ETC_RESOURCE_CLASS_CODE(l_count)
,ETC_RATE_BASED_FLAG(l_count)
,ETC_PRJ_CURRENCY_CODE(l_count)
,ETC_PFC_CURRENCY_CODE(l_count));
FOR cur_select_all_assgns_rec IN cur_select_all_assgns LOOP
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'Calling Push Workplan Actuals : PUBLISH WP CASE with all assignments', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_proj_element_id='||cur_select_all_assgns_rec.task_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_object_id='||cur_select_all_assgns_rec.resource_list_member_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'planning start date='||cur_select_all_assgns_rec.planning_start_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_rbs_element_id='||cur_select_all_assgns_rec.rbs_element_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_rate_based_flag='||cur_select_all_assgns_rec.rate_based_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_resource_class_code='||cur_select_all_assgns_rec.resource_class_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_TXN_CURRENCY_CODE='||cur_select_all_assgns_rec.TXN_CURRENCY_CODE, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_TXN_COST_this_period='||cur_select_all_assgns_rec.PLANNED_BUR_COST_TXN_CUR, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_PRJ_COST_this_period='||cur_select_all_assgns_rec.PLANNED_BUR_COST_PROJ_CUR, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_POU_COST_this_period='||cur_select_all_assgns_rec.PLANNED_BUR_COST_PROJFUNC, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_effort_this_period='||cur_select_all_assgns_rec.PLANNED_QUANTITY, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_TXN_raw_COST_this_period='||cur_select_all_assgns_rec.PLANNED_RAW_COST_TXN_CUR, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_PRJ_raw_COST_this_period='||cur_select_all_assgns_rec.PLANNED_RAW_COST_PROJ_CUR, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'p_etc_POU_raw_COST_this_period='||cur_select_all_assgns_rec.PLANNED_RAW_COST_PROJFUNC, x_Log_Level=> 3);
,p_proj_element_id => cur_select_all_assgns_rec.task_id
,p_object_id => cur_select_all_assgns_rec.resource_list_member_id
,p_object_type => 'PA_ASSIGNMENTS'
,p_as_of_date => cur_select_all_assgns_rec.planning_start_date
,p_rbs_element_id => cur_select_all_assgns_rec.rbs_element_id
,p_rate_based_flag => cur_select_all_assgns_rec.rate_based_flag
,p_resource_class_code => cur_select_all_assgns_rec.resource_class_code
,p_TXN_CURRENCY_CODE => cur_select_all_assgns_rec.TXN_CURRENCY_CODE
,p_call_pji_apis_flag => 'N'
,p_etc_TXN_COST_this_period => cur_select_all_assgns_rec.PLANNED_BUR_COST_TXN_CUR
,p_etc_PRJ_COST_this_period => cur_select_all_assgns_rec.PLANNED_BUR_COST_PROJ_CUR
,p_etc_POU_COST_this_period => cur_select_all_assgns_rec.PLANNED_BUR_COST_PROJFUNC
,p_etc_effort_this_period => cur_select_all_assgns_rec.PLANNED_QUANTITY
,p_etc_TXN_raw_COST_this_period => cur_select_all_assgns_rec.PLANNED_RAW_COST_TXN_CUR
,p_etc_PRJ_raw_COST_this_period => cur_select_all_assgns_rec.PLANNED_RAW_COST_PROJ_CUR
,p_etc_POU_raw_COST_this_period => cur_select_all_assgns_rec.PLANNED_RAW_COST_PROJFUNC
,p_pa_period_name => null
,p_gl_period_name => null --pass null period name. let push workplan actual derive it based on planning start date
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'Calling PLAN_UPDATE_ACT_ETC', x_Log_Level=> 3);
PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE_ACT_ETC (p_plan_wbs_ver_id => p_dst_str_ver_id
, p_prev_pub_wbs_ver_id => p_last_pub_str_version_id
, x_msg_code => l_msg_code
, x_return_status => l_return_status);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC', x_Msg => 'After PLAN_UPDATE_ACT_ETC l_return_status='||l_return_status, x_Log_Level=> 3);
p_error_text => SUBSTRB('Call PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE:'||SQLERRM,1,120));
update pa_progress_rollup
set oth_etc_quantity = to_number(null)
,oth_etc_rawcost_tc = to_number(null)
,oth_etc_rawcost_pc = to_number(null)
,oth_etc_rawcost_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)
,estimated_remaining_effort = to_number(null)
,ppl_etc_rawcost_tc = to_number(null)
,ppl_etc_rawcost_pc = to_number(null)
,ppl_etc_rawcost_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_etc_effort = to_number(null)
,eqpmt_etc_rawcost_tc = to_number(null)
,eqpmt_etc_rawcost_pc = to_number(null)
,eqpmt_etc_rawcost_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)
,last_update_date = SYSDATE
where project_id = p_project_id
and object_type = 'PA_ASSIGNMENTS'
and structure_version_id is null
and structure_type = 'WORKPLAN'
and current_flag = 'Y';
PROCEDURE update_link_proj_rollup_dates(
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_project_id IN NUMBER
,p_task_id IN NUMBER
,p_task_version_id IN NUMBER
,p_as_of_date IN DATE
,p_structure_version_id IN NUMBER
,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 VARCHAR2(30) := 'UPDATE_LINK_PROJ_ROLLUP_DATES';
select min(ppr.actual_start_date), max(ppr.actual_finish_date), min(ppr.estimated_start_date), max(ppr.estimated_finish_date)
FROM
--- removed join with pa_structures_links_v for performance improvement
pa_proj_element_versions ppv1 --4871809
,pa_proj_element_versions ppv2
,pa_object_relationships por1
,pa_object_relationships por2
,pa_progress_rollup ppr
WHERE
ppv2.element_version_id = por1.object_id_to1
AND ppv2.object_type = 'PA_STRUCTURES'
AND por1.relationship_type in ( 'LW', 'LF' )
AND por1.object_id_from1 = por2.object_id_to1
AND por2.object_id_from1 = ppv1.element_version_id
ANd por2.relationship_type = 'S'
and por2.object_id_from2 = c_par_project_id
and por2.object_id_from1 = c_par_task_ver_id
and ppv1.parent_structure_version_id = c_par_str_ver_id
AND por1.object_id_to2 = ppr.project_id
and ppr.structure_type = 'WORKPLAN'
and ppr.structure_version_id is null
and ppr.object_type = 'PA_STRUCTURES'
and ppr.current_flag <> 'W' -- Bug 3879461
and trunc(ppr.as_of_date) <= trunc(c_as_of_date);
select pev_schedule_id, actual_start_date, actual_finish_date, estimated_start_date, estimated_finish_date
from pa_proj_elem_ver_schedule
where project_id = c_project_id
and proj_element_id = c_task_id
and element_version_id = c_task_ver_id
;
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES');
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES', x_Msg => 'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES Start : Passed Parameters :', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES', x_Msg => 'p_structure_version_id='||p_structure_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES', x_Msg => 'p_as_of_date='||p_as_of_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES', x_Msg => 'p_task_id='||p_task_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES', x_Msg => 'p_task_version_id='||p_task_version_id, x_Log_Level=> 3);
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_LINK_PROJ_ROLLUP_DATES');
savepoint UPDATE_LINK_PROJ_ROLLUP_DATES;
UPDATE pa_proj_elem_ver_schedule
SET actual_start_date_rollup= l_actual_start_date_rollup
, actual_finish_date_rollup = l_actual_finish_date_rollup
, estimated_start_date_rollup = l_estimated_start_date_rollup
, estimated_finish_date_rollup = l_estimated_finish_date_rollup
WHERE
project_id = p_project_id
and pev_schedule_id = l_pev_schedule_id
and element_version_id = p_task_version_id
and proj_element_id = p_task_id;
rollback to UPDATE_LINK_PROJ_ROLLUP_DATES;
rollback to UPDATE_LINK_PROJ_ROLLUP_DATES;
p_procedure_name => 'UPDATE_LINK_PROJ_ROLLUP_DATES',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to UPDATE_LINK_PROJ_ROLLUP_DATES;
p_procedure_name => 'UPDATE_LINK_PROJ_ROLLUP_DATES',
p_error_text => SUBSTRB(SQLERRM,1,120));
END update_link_proj_rollup_dates;
PROCEDURE UPDATE_PROGRESS_BULK(
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 := null
,p_debug_mode IN VARCHAR2 :='N'
,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
,p_action IN VARCHAR2 :='SAVE'
,p_rollup_entire_wbs_flag IN VARCHAR2 :='N'
,p_progress_mode IN VARCHAR2 :='FUTURE'
,p_pm_product_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_structure_type IN VARCHAR2 := 'WORKPLAN'
,p_project_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_object_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_object_version_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_object_type_tbl IN SYSTEM.pa_varchar2_30_tbl_type := SYSTEM.pa_varchar2_30_tbl_type()
,p_task_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_structure_version_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_as_of_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_rbs_element_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_resource_assignment_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_rate_based_flag_tbl IN SYSTEM.pa_varchar2_1_tbl_type := SYSTEM.pa_varchar2_1_tbl_type()
,p_resource_class_code_tbl IN SYSTEM.pa_varchar2_30_tbl_type := SYSTEM.pa_varchar2_30_tbl_type()
,p_txn_currency_code_tbl IN SYSTEM.pa_varchar2_30_tbl_type := SYSTEM.pa_varchar2_30_tbl_type()
,p_percent_complete_id_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_record_version_number_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_percent_complete_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_eff_rup_percent_complete_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_task_status_tbl IN SYSTEM.pa_varchar2_150_tbl_type := SYSTEM.pa_varchar2_150_tbl_type()
,p_progress_status_code_tbl IN SYSTEM.pa_varchar2_30_tbl_type := SYSTEM.pa_varchar2_30_tbl_type()
,p_progress_comment_tbl IN SYSTEM.pa_varchar2_2000_tbl_type := SYSTEM.pa_varchar2_2000_tbl_type()
,p_brief_overview_tbl IN SYSTEM.pa_varchar2_240_tbl_type := SYSTEM.pa_varchar2_240_tbl_type()
,p_actual_start_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_actual_finish_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_estimated_start_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_estimated_finish_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_scheduled_start_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_scheduled_finish_date_tbl IN SYSTEM.pa_date_tbl_type := SYSTEM.pa_date_tbl_type()
,p_est_remaining_effort_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_etc_cost_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_actual_work_quantity_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_actual_effort_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_actual_cost_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_act_eff_this_period_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_actual_cost_this_period_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_planned_cost_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,p_planned_effort_tbl IN SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type()
,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 VARCHAR2(30) := 'UPDATE_PROGRESSES_BULK' ;
SELECT element_version_id, parent_structure_version_id
FROM pa_proj_element_versions
WHERE proj_element_id = c_proj_element_id
AND object_type = 'PA_TASKS'
AND project_id = c_project_id
AND parent_structure_version_id = c_structure_version_id;
SELECT task_weight_basis_code
FROM pa_proj_progress_attr
WHERE project_id = c_project_id
AND structure_type = c_structure_type;
SELECT elemver.element_version_id, elemver.parent_structure_version_id
FROM pa_proj_element_versions elemver, pa_proj_elem_ver_structure str
WHERE elemver.proj_element_id = c_proj_element_id
AND elemver.object_type = 'PA_TASKS'
AND elemver.project_id = c_project_id
AND str.project_id = c_project_id
AND elemver.parent_structure_version_id = str.element_version_id
AND str.latest_eff_published_flag = 'Y';
SELECT TEMPLATE_FLAG
FROM PA_PROJECTS_ALL
WHERE PROJECT_ID = c_project_id;
select substr(fcrsv.argument_text,1,(instr(fcrsv.argument_text,','))-1) process
from fnd_conc_req_summary_v fcrsv
where fcrsv.request_id = l_request_id;
select org_id
from pa_projects_all
where project_id = c_project_id;
pa_debug.init_err_stack ('PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK');
savepoint UPDATE_PROGRESS_BULK;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK l_record_count '||l_record_count, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_percent_complete_id_tbl.COUNT '||p_percent_complete_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_object_id_tbl.COUNT '||p_object_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_object_version_id_tbl.COUNT '||p_object_version_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_object_type_tbl.COUNT '||p_object_type_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_as_of_date_tbl.COUNT '||p_as_of_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_percent_complete_tbl.COUNT '||p_percent_complete_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_progress_status_code_tbl.COUNT '||p_progress_status_code_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_progress_comment_tbl.COUNT '||p_progress_comment_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_brief_overview_tbl.COUNT '||p_brief_overview_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_actual_start_date_tbl.COUNT '||p_actual_start_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_actual_finish_date_tbl.COUNT '||p_actual_finish_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_estimated_start_date_tbl.COUNT '||p_estimated_start_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_estimated_finish_date_tbl.COUNT '||p_estimated_finish_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_scheduled_start_date_tbl.COUNT '||p_scheduled_start_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_scheduled_finish_date_tbl.COUNT '||p_scheduled_finish_date_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_record_version_number_tbl.COUNT '||p_record_version_number_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_task_status_tbl.COUNT '||p_task_status_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_est_remaining_effort_tbl.COUNT '||p_est_remaining_effort_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_ETC_cost_tbl.COUNT '||p_ETC_cost_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_actual_work_quantity_tbl.COUNT '||p_actual_work_quantity_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_actual_effort_tbl.COUNT '||p_actual_effort_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_actual_cost_tbl.COUNT '||p_actual_cost_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_act_eff_this_period_tbl.COUNT '||p_act_eff_this_period_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_actual_cost_this_period_tbl.COUNT '||p_actual_cost_this_period_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_task_id_tbl.COUNT '||p_task_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_structure_version_id_tbl.COUNT '||p_structure_version_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_planned_cost_tbl.COUNT '||p_planned_cost_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_planned_effort_tbl.COUNT '||p_planned_effort_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_rate_based_flag_tbl.COUNT '||p_rate_based_flag_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_resource_class_code_tbl.COUNT '||p_resource_class_code_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_txn_currency_code_tbl.COUNT '||p_txn_currency_code_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_rbs_element_id_tbl.COUNT '||p_rbs_element_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_resource_assignment_id_tbl.COUNT '||p_resource_assignment_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_rbs_element_id_tbl.COUNT '||p_rbs_element_id_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK p_eff_rup_percent_complete_tbl.COUNT '||p_eff_rup_percent_complete_tbl.COUNT, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_project_id_tbl('||i||')='||p_project_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_object_type_tbl('||i||')='||p_object_type_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_object_id_tbl('||i||')='||p_object_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_object_version_id_tbl('||i||')='||p_object_version_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_task_id_tbl('||i||')='||p_task_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_structure_version_id_tbl('||i||')='||p_structure_version_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_as_of_date_tbl('||i||')='||p_as_of_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_task_status_tbl('||i||')='||p_task_status_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_percent_complete_tbl('||i||')='||p_percent_complete_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_progress_status_code_tbl('||i||')='||p_progress_status_code_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_progress_comment_tbl('||i||')='||p_progress_comment_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_brief_overview_tbl('||i||')='||p_brief_overview_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_actual_start_date_tbl('||i||')='||p_actual_start_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_actual_finish_date_tbl('||i||')='||p_actual_finish_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_estimated_start_date_tbl('||i||')='||p_estimated_start_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_estimated_finish_date_tbl('||i||')='||p_estimated_finish_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_scheduled_start_date_tbl('||i||')='||p_scheduled_start_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_scheduled_finish_date_tbl('||i||')='||p_scheduled_finish_date_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_percent_complete_id_tbl('||i||')='||p_percent_complete_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_record_version_number_tbl('||i||')='||p_record_version_number_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_ETC_cost_tbl('||i||')='||p_ETC_cost_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_est_remaining_effort_tbl('||i||')='||p_est_remaining_effort_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_actual_work_quantity_tbl('||i||')='||p_actual_work_quantity_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_actual_effort_tbl('||i||')='||p_actual_effort_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_actual_cost_tbl('||i||')='||p_actual_cost_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_act_eff_this_period_tbl('||i||')='||p_act_eff_this_period_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_actual_cost_this_period_tbl('||i||')='||p_actual_cost_this_period_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_planned_cost_tbl('||i||')='||p_planned_cost_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_planned_effort_tbl('||i||')='||p_planned_effort_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_rate_based_flag_tbl('||i||')='||p_rate_based_flag_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_resource_class_code_tbl('||i||')='||p_resource_class_code_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_txn_currency_code_tbl('||i||')='||p_txn_currency_code_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_rbs_element_id_tbl('||i||')='||p_rbs_element_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_resource_assignment_id_tbl('||i||')='||p_resource_assignment_id_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'p_eff_rup_percent_complete_tbl('||i||')='||p_eff_rup_percent_complete_tbl(i), x_Log_Level=> 3);
elsif ((l_rec_publish.process = 'CONC_UPDATE')
and (l_process_code = 'WUP')
and (l_wp_ver_enabled_flag = 'N')) then
PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA'
,p_msg_name => 'PA_PS_UPDATE_NO_PROG');
x_msg_data := 'PA_PS_UPDATE_NO_PROG';
UPDATE pa_proj_progress_attr
SET next_progress_update_date = p_as_of_date_tbl(i)
WHERE project_id = p_project_id_tbl(i)
AND object_type = 'PA_STRUCTURES'
AND structure_type = 'WORKPLAN';
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Structure Type Financial ', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling UPDATE_FINANCIAL_TASK_PROGRESS', x_Log_Level=> 3);
PA_PROGRESS_PUB.UPDATE_FINANCIAL_TASK_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => l_action
,P_rollup_entire_wbs_flag => P_rollup_entire_wbs_flag
,p_percent_complete_id => p_percent_complete_id_tbl(i)
,p_project_id => p_project_id_tbl(i)
,p_object_id => p_object_id_tbl(i)
,p_object_version_id => p_object_version_id_tbl(i)
,p_object_type => p_object_type_tbl(i)
,p_as_of_date => p_as_of_date_tbl(i)
,p_percent_complete => p_percent_complete_tbl(i)
,p_structure_type => p_structure_type
,p_task_id => p_task_id_tbl(i)
,p_structure_version_id => p_structure_version_id_tbl(i)
,p_record_version_number => p_record_version_number_tbl(i)
,p_progress_comment => p_progress_comment_tbl(i)
,p_brief_overview => p_brief_overview_tbl(i)
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling UPDATE_FINANCIAL_TASK_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Structure Type Workplan ', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling UPDATE_TASK_PROGRESS', x_Log_Level=> 3);
PA_PROGRESS_PUB.UPDATE_TASK_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_calling_mode => p_calling_mode --bug 4287638
,p_debug_mode => p_debug_mode
,p_max_msg_count => p_max_msg_count
,p_action => l_action
,p_bulk_load_flag => p_rollup_entire_wbs_flag
,p_progress_mode => p_progress_mode
,p_percent_complete_id => p_percent_complete_id_tbl(i)
,p_project_id => p_project_id_tbl(i)
,p_object_id => p_object_id_tbl(i)
,p_object_version_id => p_object_version_id_tbl(i)
,p_object_type => p_object_type_tbl(i)
,p_as_of_date => p_as_of_date_tbl(i)
,p_percent_complete => p_percent_complete_tbl(i)
,p_progress_status_code => p_progress_status_code_tbl(i)
,p_progress_comment => p_progress_comment_tbl(i)
,p_brief_overview => p_brief_overview_tbl(i)
,p_actual_start_date => p_actual_start_date_tbl(i)
,p_actual_finish_date => p_actual_finish_date_tbl(i)
,p_estimated_start_date => p_estimated_start_date_tbl(i)
,p_estimated_finish_date => p_estimated_finish_date_tbl(i)
,p_record_version_number => p_record_version_number_tbl(i)
,p_task_status => p_task_status_tbl(i)
,p_actual_work_quantity => p_actual_work_quantity_tbl(i)
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,p_planned_cost => p_planned_cost_tbl(i)
,p_planned_effort => p_planned_effort_tbl(i)
,p_actual_effort => p_actual_effort_tbl(i)
,p_est_remaining_effort => p_est_remaining_effort_tbl(i)
,p_structure_version_id => p_structure_version_id_tbl(i)
,p_eff_rollup_percent_complete => p_eff_rup_percent_complete_tbl(i)
,x_resource_list_member_id => l_resource_list_member_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling UPDATE_TASK_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling UPDATE_ASSIGNMENT_PROGRESS', x_Log_Level=> 3);
PA_ASSIGNMENT_PROGRESS_PUB.UPDATE_ASSIGNMENT_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => l_action
,p_bulk_load_flag => p_rollup_entire_wbs_flag
,p_progress_mode => p_progress_mode
,p_percent_complete_id => p_percent_complete_id_tbl(i)
,p_project_id => p_project_id_tbl(i)
,p_object_id => p_object_id_tbl(i)
,p_object_version_id => p_object_version_id_tbl(i)
,p_task_id => p_task_id_tbl(i)
,p_as_of_date => p_as_of_date_tbl(i)
,p_progress_comment => p_progress_comment_tbl(i)
,p_brief_overview => p_brief_overview_tbl(i)
,p_actual_start_date => p_actual_start_date_tbl(i)
,p_actual_finish_date => p_actual_finish_date_tbl(i)
,p_estimated_start_date => p_estimated_start_date_tbl(i)
,p_estimated_finish_date => p_estimated_finish_date_tbl(i)
,p_record_version_number => p_record_version_number_tbl(i)
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,p_structure_version_id => p_structure_version_id_tbl(i)
,p_actual_cost_this_period => p_actual_cost_this_period_tbl(i)
,p_actual_effort_this_period => p_act_eff_this_period_tbl(i)
,p_rate_based_flag => p_rate_based_flag_tbl(i)
,p_resource_class_code => p_resource_class_code_tbl(i)
,p_actual_cost => p_actual_cost_tbl(i)
,p_actual_effort => p_actual_effort_tbl(i)
,p_etc_cost_this_period => p_etc_cost_tbl(i)
,p_etc_effort_this_period => p_est_remaining_effort_tbl(i)
,p_txn_currency_code => p_txn_currency_code_tbl(i)
,p_rbs_element_id => p_rbs_element_id_tbl(i)
,p_resource_assignment_id => p_resource_assignment_id_tbl(i)
,p_scheduled_start_date => p_scheduled_start_date_tbl(i)
,p_scheduled_finish_date => p_scheduled_finish_date_tbl(i)
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling UPDATE_ASSIGNMENT_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling UPDATE_DELIVERABLE_PROGRESS', x_Log_Level=> 3);
PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS(
p_api_version => l_api_version
,p_init_msg_list => p_init_msg_list
,p_commit => p_commit
,p_validate_only => p_validate_only
,p_validation_level => p_validation_level
,p_calling_module => p_calling_module
,p_action => l_action
,p_bulk_load_flag => P_rollup_entire_wbs_flag
,p_progress_mode => p_progress_mode
,p_percent_complete_id => p_percent_complete_id_tbl(i)
,p_project_id => p_project_id_tbl(i)
,p_object_id => p_object_id_tbl(i)
,p_object_type => p_object_type_tbl(i)
,p_object_version_id => p_object_version_id_tbl(i)
,p_del_status => p_task_status_tbl(i)
,p_task_id => p_task_id_tbl(i)
,p_as_of_date => p_as_of_date_tbl(i)
,p_percent_complete => p_percent_complete_tbl(i)
,p_progress_status_code => p_progress_status_code_tbl(i)
,p_progress_comment => p_progress_comment_tbl(i)
,p_brief_overview => p_brief_overview_tbl(i)
,p_actual_finish_date => p_actual_finish_date_tbl(i)
,p_record_version_number => p_record_version_number_tbl(i)
,p_pm_product_code => p_pm_product_code
,p_structure_type => p_structure_type
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling UPDATE_DELIVERABLE_PROGRESS l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After individual APIs are called l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After building plsql tables', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After First loop', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Second loop', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling ASGN_DLV_TO_TASK_ROLLUP_PVT', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling ASGN_DLV_TO_TASK_ROLLUP_PVT l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Check existnece of records in PA_PROG_ACT_BY_PERIOD_TEMP', x_Log_Level=> 3);
SELECT 'Y'
INTO l_check
FROM DUAL
WHERE EXISTS
(SELECT 'xyz'
from PA_PROG_ACT_BY_PERIOD_TEMP
where project_id = p_project_id_tbl(i)
AND structure_version_id = l_structure_version_id_tbl(i));
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'No Records in PA_PROG_ACT_BY_PERIOD_TEMP', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'l_check='||l_check, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling MAINTAIN_ACTUAL_AMT_WRP', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling MAINTAIN_ACTUAL_AMT_WRP l_return_status='||l_return_status, x_Log_Level=> 3);
delete from PA_PROG_ACT_BY_PERIOD_TEMP where project_id = p_project_id_tbl(i) AND structure_version_id = l_structure_version_id_tbl(i);
p_procedure_name => 'UPDATE_PROGRESS_BULK',
p_error_text => SUBSTRB('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP:'||SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling PLAN_UPDATE', x_Log_Level=> 3);
PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE ( p_plan_version_id => l_plan_version_id, -- 4587145 : Added l_plan_version_id
x_msg_code => l_msg_code,
x_return_status => x_return_status);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling PLAN_UPDATE x_return_status='||x_return_status, x_Log_Level=> 3);
p_procedure_name => 'UPDATE_PROGRESS_BULK',
p_error_text => SUBSTRB('Call PJI_FM_XBS_ACCUM_MAINT.PLAN_UPDATE:'||SQLERRM,1,120));
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'l_mass_rlp_call_required_tbl(i) '||l_mass_rlp_call_required_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'l_rollup_call_required_tbl(i) '||l_rollup_call_required_tbl(i), x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling Mass ROLLUP_PROGRESS_PVT', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling Mass ROLLUP_PROGRESS_PVT x_return_status='||x_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling Singular ROLLUP_PROGRESS_PVT', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling Singular ROLLUP_PROGRESS_PVT l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling ROLLUP_FUTURE_PROGRESS_PVT', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling ROLLUP_FUTURE_PROGRESS_PVT l_return_status='||l_return_status, x_Log_Level=> 3);
PA_TASK_PVT1.Update_Dates_To_All_Versions(
p_project_id => p_project_id_tbl(i)
,p_element_version_id => l_task_version_id_tbl(i)
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data );
Select ppev1.proj_element_id
into l_structure_id
from pa_proj_element_versions ppev1, pa_proj_element_versions ppev2
where ppev2.element_version_id = l_task_version_id
and ppev2.project_id = ppev1.project_id
and ppev2.parent_structure_version_id = ppev1.element_version_id;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling program_rollup_pvt', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling program_rollup_pvt l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'Calling update_link_proj_rollup_dates', x_Log_Level=> 3);
pa_progress_pub.update_link_proj_rollup_dates(
p_init_msg_list => 'F'
,p_commit => 'F'
,p_calling_module => p_calling_module
,p_project_id => p_project_id_tbl(i)
,p_task_id => l_task_id_tbl(i)
,p_task_version_id => l_task_version_id_tbl(i)
,p_as_of_date => p_as_of_date_tbl(i)
,p_structure_version_id => l_structure_version_id_tbl(i)
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.UPDATE_PROGRESS_BULK', x_Msg => 'After Calling update_link_proj_rollup_dates l_return_status='||l_return_status, x_Log_Level=> 3);
rollback to UPDATE_PROGRESS_BULK;
rollback to UPDATE_PROGRESS_BULK;
p_procedure_name => 'UPDATE_PROGRESS_BULK',
p_error_text => SUBSTRB(SQLERRM,1,120));
rollback to UPDATE_PROGRESS_BULK;
p_procedure_name => 'UPDATE_PROGRESS_BULK',
p_error_text => SUBSTRB(SQLERRM,1,120));
END update_progress_bulk;
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV_WRP', x_Msg => 'Before calling PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG', x_Log_Level=> 3);
PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG
(
p_calling_context => p_calling_module
,p_project_id => p_project_id
,p_structure_version_id => p_working_str_version_id
,p_update_wbs_flag => 'Y'
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV_WRP', x_Msg => 'Done with PA_PROJ_TASK_STRUC_PUB.SET_UPDATE_WBS_FLAG l_return_status='||l_return_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV_WRP', x_Msg => 'Before calling PA_PROJ_TASK_STRUC_PUB.PROCESS_WBS_UPDATES_WRP', x_Log_Level=> 3);
PA_PROJ_TASK_STRUC_PUB.PROCESS_WBS_UPDATES_WRP(
p_calling_context => 'APPLY_PROGRESS',
p_project_id => p_project_id,
p_structure_version_id => p_working_str_version_id,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
pa_debug.write(x_Module=>'PA_PROGRESS_PUB.APPLY_LP_PROG_ON_CWV_WRP', x_Msg => 'Done with PA_PROJ_TASK_STRUC_PUB.PROCESS_WBS_UPDATES_WRP l_return_status='||l_return_status, x_Log_Level=> 3);