The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE UPDATE_DELIVERABLE_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_action IN VARCHAR2 := 'SAVE' ,
p_bulk_load_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_type IN VARCHAR2 := 'PA_DELIVERABLES' ,
p_object_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM ,
p_del_status IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
p_task_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_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_finish_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_deliverable_due_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE,
p_record_version_number IN NUMBER ,
p_pm_product_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR,
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) := 'UPDATE_DELIVERABLE_PROGRESS' ;
SELECT pev_schedule_id, record_version_number, actual_start_date, estimated_start_date, estimated_finish_date
FROM pa_proj_elem_ver_schedule
WHERE project_id = p_project_id
AND element_version_id = c_object_version_id;
SELECT nvl(ptt.PROG_ENTRY_ENABLE_FLAG, 'N'), elem.type_id, elem.status_code
FROM pa_proj_elements elem, pa_task_types ptt
WHERE project_id = p_project_id
AND proj_element_id = p_object_id
AND elem.object_type ='PA_DELIVERABLES'
AND elem.type_id = ptt.task_type_id(+)
AND ptt.object_type = 'PA_DLVR_TYPES' ;
SELECT nvl(ptt.PROG_ENTRY_ENABLE_FLAG, 'N')
FROM pa_proj_elements elem, pa_task_types ptt
WHERE project_id = p_project_id
AND proj_element_id = p_task_id
AND elem.object_type ='PA_TASKS'
AND elem.type_id = ptt.task_type_id(+)
AND ptt.object_type = 'PA_TASKS' ;
pa_debug.init_err_stack ('PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS');
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS Passed Parameters Are..', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_api_version='||p_api_version, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_init_msg_list='||p_init_msg_list, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_commit='||p_commit, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_validate_only='||p_validate_only, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_validation_level='||p_validation_level, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_calling_module='||p_calling_module, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_action='||p_action, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_bulk_load_flag='||p_bulk_load_flag, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_progress_mode='||p_progress_mode, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_percent_complete_id='||p_percent_complete_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_project_id='||p_project_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_object_id='||p_object_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_object_type='||p_object_type, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_object_version_id='||p_object_version_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_del_status='||p_del_status, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_task_id='||p_task_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_as_of_date='||p_as_of_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_percent_complete='||p_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_progress_status_code='||p_progress_status_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_progress_comment='||p_progress_comment, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_brief_overview='||p_brief_overview, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_actual_finish_date='||p_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_deliverable_due_date='||p_deliverable_due_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_record_version_number='||p_record_version_number, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_pm_product_code='||p_pm_product_code, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'p_structure_type='||p_structure_type, x_Log_Level=> 3);
savepoint UPDATE_DELIVERABLE_PROGRESS;
delete from pa_percent_completes
where project_id= p_project_id
and object_id = p_object_id
and published_flag = 'N'
and task_id = p_task_id
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 proj_element_id = p_task_id
and structure_type = p_structure_type
and structure_version_id is null
;
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 4247839, modified so that two records are not created for same as of date
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
;
SELECT ppe.proj_element_id
into temp_task_id
FROM pa_proj_elements ppe,
pa_object_relationships por,
pa_task_types ttype
WHERE
ppe.object_type = 'PA_TASKS'
and por.object_id_to2 = p_object_id
and ppe.proj_element_id = por.object_id_from2
and por.object_type_to = 'PA_DELIVERABLES'
and por.relationship_type = 'A'
and por.relationship_subtype = 'TASK_TO_DELIVERABLE'
and decode(ppe.base_percent_comp_deriv_code,null, ttype.base_percent_comp_deriv_code, '^', ttype.base_percent_comp_deriv_code, ppe.base_percent_comp_deriv_code)='DELIVERABLE'
AND ppe.object_type ='PA_TASKS'
AND ppe.type_id = ttype.task_type_id;
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_task_id='||l_task_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After Checking Deliverable Cancelled/On Hold Status', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After getting the progress defaults from project level', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_del_type_prog_enabled='||l_del_type_prog_enabled, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_task_type_prog_enabled='||l_task_type_prog_enabled, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After mode, status, as of date check', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After Checking Deliverable Status Change allowed', x_Log_Level=> 3);
SELECT 'x' INTO l_dummy
FROM pa_project_statuses
WHERE status_type = 'DELIVERABLE'
AND project_status_code = l_del_status;
SELECT 'xyz' INTO l_dummy
FROM pa_project_statuses
WHERE status_type = 'PROGRESS'
AND project_status_code = l_progress_status_code;
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Status and Date Combination check', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_del_status2='||l_del_status2, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_percent_complete='||l_percent_complete, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_actual_finish_date='||l_actual_finish_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After Checking Deliverable Status Change allowed', x_Log_Level=> 3);
SELECT 'x' INTO l_dummy
FROM pa_project_statuses
WHERE status_type = 'DELIVERABLE'
AND project_status_code = l_del_status;
SELECT 'xyz' INTO l_dummy
FROM pa_project_statuses
WHERE status_type = 'PROGRESS'
AND project_status_code = l_progress_status_code;
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating progress outdated flag', x_Log_Level=> 3);
UPDATE pa_proj_elements
SET progress_outdated_flag = 'N'
WHERE proj_element_id = p_object_id
AND project_id = p_project_id
AND object_type = p_object_type;
); -- update future working records
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_last_progress_date='||l_last_progress_date, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_working_aod='||l_working_aod, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_progress_exists_on_aod='||l_progress_exists_on_aod, x_Log_Level=> 3);
l_db_action := 'UPDATE';
--update the existing working progress record ( publish and roll it only when p_action = 'PUBLISH' )
l_db_action := 'UPDATE';
--bug 4185364, if correcting published record then action shud be update as we dont want to maintain history
-- of corrected records , if save then we will create new record.
IF p_action = 'PUBLISH' THEN
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_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_db_action='||l_db_action, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Action is Publish', x_Log_Level=> 3);
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;
UPDATE pa_progress_rollup
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
AND structure_version_id is NULL;
DELETE FROM pa_progress_rollup
where project_id = p_project_id
and object_id = p_object_id
and object_type = p_object_type
and structure_version_id is null
and structure_type = 'WORKPLAN'
and current_flag = 'Y'
and trunc(as_of_date) = trunc(p_as_of_date)
and exists(select 1
from pa_progress_rollup
where project_id = p_project_id
and object_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)
);
Update pa_progress_rollup
set current_flag = 'Y'
where project_id = p_project_id
and object_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);
Delete from pa_progress_rollup
where project_id = p_project_id
and object_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); -- Fix for Bug # 3958892.
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After updating percent complete and progress rollup current flag to N', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Action is Save', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'DB Action is Create', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Going to Insert in percent complete table', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Going to Insert in percent complete tables l_percent_complete_id='||l_percent_complete_id, 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 => 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 => p_object_type
,p_OBJECT_ID => p_object_id
,p_OBJECT_VERSION_ID => p_object_version_id
,p_PROGRESS_STATUS_CODE => l_progress_status_code
,p_ACTUAL_START_DATE => null
,p_ACTUAL_FINISH_DATE => l_actual_finish_date
,p_ESTIMATED_START_DATE => null
,p_ESTIMATED_FINISH_DATE => null
,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_del_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_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Going to Insert in percent complete tablessaasasas', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'After perrcent complete', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Getting rollup id', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_PROGRESS_ROLLUP_ID='||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'INserting in progress rollup table', 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 => l_progress_status_code
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => null
,X_CUMULATIVE_WORK_QTY => null
,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 => null
,X_ESTIMATED_FINISH_DATE => null
,X_ACTUAL_START_DATE => null
,X_ACTUAL_FINISH_DATE => l_actual_finish_date
,X_EST_REMAINING_EFFORT => null
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,x_percent_complete_id => l_percent_complete_id
,X_STRUCTURE_TYPE => p_structure_type
--,X_PROJ_ELEMENT_ID => null --bug# 3799060 For deliverables proj_element_id should be populated. It is a must.
,X_PROJ_ELEMENT_ID => l_task_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 => l_rollup_current_flag -- Bug 3879461 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
--Added by rtarway BUG 3608801
,X_OTH_QUANTITY_TO_DATE => null
,X_OTH_ETC_QUANTITY => null
--End Added by rtarway BUG 3608801
,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_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating in progress rollup table', 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_progress_status_code
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => null
,X_CUMULATIVE_WORK_QTY => null
,X_BASE_PERCENT_COMPLETE => l_BASE_PERCENT_COMPLETE
,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 => null
,X_ACTUAL_FINISH_DATE => l_ACTUAL_FINISH_DATE
,X_EST_REMAINING_EFFORT => null
,X_RECORD_VERSION_NUMBER => l_rollup_rec_ver_number
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,X_PERCENT_COMPLETE_ID => l_percent_complete_id
,X_STRUCTURE_TYPE => p_structure_type
--,X_PROJ_ELEMENT_ID => null --bug# 3799060 For deliverables proj_element_id should be populated. It is a must.
,X_PROJ_ELEMENT_ID => l_task_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 => l_rollup_current_flag -- Bug 3879461 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
--Added by rtarway BUG 3608801
,X_OTH_QUANTITY_TO_DATE => null
,X_OTH_ETC_QUANTITY => null
--End Added by rtarway BUG 3608801
,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
);
ELSIF l_db_action = 'UPDATE'
THEN
IF g1_debug_mode = 'Y' THEN
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'DB Action is Update', 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_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating Percent Complete l_percent_complete_id='||l_percent_complete_id, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating Percent Completel_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 => 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 => p_object_type
,p_OBJECT_ID => p_object_id
,p_OBJECT_VERSION_ID => p_object_version_id
,p_PROGRESS_STATUS_CODE => l_progress_status_code
,p_ACTUAL_START_DATE => null
,p_ACTUAL_FINISH_DATE => l_actual_finish_date
,p_ESTIMATED_START_DATE => null
,p_ESTIMATED_FINISH_DATE => null
,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_del_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
);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'l_PROGRESS_ROLLUP_ID='||l_PROGRESS_ROLLUP_ID, x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating progress rollup table', 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_progress_status_code
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => null
,X_CUMULATIVE_WORK_QTY => null
,X_BASE_PERCENT_COMPLETE => l_BASE_PERCENT_COMPLETE
,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 => null
,X_ACTUAL_FINISH_DATE => l_ACTUAL_FINISH_DATE
,X_EST_REMAINING_EFFORT => null
,X_RECORD_VERSION_NUMBER => l_rollup_rec_ver_number
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,X_PERCENT_COMPLETE_ID => l_percent_complete_id
,X_STRUCTURE_TYPE => p_structure_type
--,X_PROJ_ELEMENT_ID => null --bug# 3799060 For deliverables proj_element_id should be populated. It is a must.
,X_PROJ_ELEMENT_ID => l_task_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 => l_rollup_current_flag -- Bug 3879461 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
--Added by rtarway BUG 3608801
,X_OTH_QUANTITY_TO_DATE => null
,X_OTH_ETC_QUANTITY => null
--End Added by rtarway BUG 3608801
,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_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Inserting progress rollup table', 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 => l_progress_status_code
,X_LAST_UPDATE_LOGIN => l_login_id
,X_INCREMENTAL_WORK_QTY => null
,X_CUMULATIVE_WORK_QTY => null
,X_BASE_PERCENT_COMPLETE => l_BASE_PERCENT_COMPLETE
,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 => null
,X_ACTUAL_FINISH_DATE => l_ACTUAL_FINISH_DATE
,X_EST_REMAINING_EFFORT => null
,X_BASE_PERCENT_COMP_DERIV_CODE => null
,X_BASE_PROGRESS_STATUS_CODE => l_BASE_PROGRESS_STATUS_CODE
,X_EFF_ROLLUP_PROG_STAT_CODE => null
,x_percent_complete_id => l_percent_complete_id ---bug.3927389
,X_STRUCTURE_TYPE => p_structure_type
--,X_PROJ_ELEMENT_ID => null --bug# 3799060 For deliverables proj_element_id should be populated. It is a must.
,X_PROJ_ELEMENT_ID => l_task_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 => l_rollup_current_flag -- Bug 3879461 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
--Added by rtarway BUG 3608801
,X_OTH_QUANTITY_TO_DATE => null
,X_OTH_ETC_QUANTITY => null
--End Added by rtarway BUG 3608801
,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_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Inserting progress rollup table', x_Log_Level=> 3);
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating Deliverable status', x_Log_Level=> 3);
UPDATE pa_proj_elements
SET status_code = l_del_status
WHERE proj_element_id = p_object_id
AND project_id = p_project_id
AND object_type = p_object_type;
UPDATE pa_proj_elem_ver_schedule
SET actual_finish_date = l_actual_finish_date
WHERE project_id = p_project_id
AND proj_element_id = p_object_id
AND element_version_id = p_object_version_id ;
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'Updating Schedule version', x_Log_Level=> 3);
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 );
pa_debug.write(x_Module=>'PA_DELIVERABLE_PROGRESS_PUB.UPDATE_DELIVERABLE_PROGRESS', x_Msg => 'End', x_Log_Level=> 3);
rollback to UPDATE_DELIVERABLE_PROGRESS;
rollback to UPDATE_DELIVERABLE_PROGRESS;
p_procedure_name => 'UPDATE_DELIVERABLE_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,240));
rollback to UPDATE_DELIVERABLE_PROGRESS;
p_procedure_name => 'UPDATE_DELIVERABLE_PROGRESS',
p_error_text => SUBSTRB(SQLERRM,1,240));
END UPDATE_DELIVERABLE_PROGRESS;