The following lines contain the word 'select', 'insert', 'update' or 'delete':
l_delete_task_id_tbl g_num_tbl;
l_delete_task_ver_id_tbl g_num_tbl;
i_del_task_out_obj SYSTEM.delete_task_out_obj;
i_del_task_out_obj_tbl SYSTEM.delete_task_out_obj_tbl;
l_del_res_asgmt_tbl SYSTEM.delete_RES_ASGMT_OUT_OBJ_TBL;
select org_id from pa_projects_all where project_id = c_project_id;
l_del_res_asgmt_tbl := SYSTEM.delete_RES_ASGMT_OUT_OBJ_TBL();
i_del_task_out_obj_tbl := SYSTEM.delete_task_out_obj_tbl();
i_del_task_out_obj := SYSTEM.delete_task_out_obj(null,null,null);
l_tasks_in_rec_tbl.delete;
L_TASKS_OUT_REC_TBL.delete;
g_res_pm_project_reference.delete;
g_res_pa_project_id.delete;
g_res_pa_struct_version_id.delete;
g_res_pm_task_reference.delete;
g_res_pa_task_number.delete;
g_res_pa_task_id.delete;
g_res_pa_task_elem_ver_id.delete;
g_res_pm_task_asgmt_reference.delete;
g_res_pa_task_assignment_id.delete;
g_res_resource_alias.delete;
g_res_resource_list_member_id.delete;
g_res_start_date.delete;
g_res_end_date.delete;
g_res_planned_quantity.delete;
g_res_planned_total_raw_cost.delete;
g_res_planned_total_bur_cost.delete;
l_res_asgmt_obj_tbl.delete;
i_task_out_tbl.delete;
x_delete_task_id_tbl => l_delete_task_id_tbl,
x_delete_task_ver_id_tbl => l_delete_task_ver_id_tbl,
X_RETURN_STATUS => li_return_status ,
x_RETURN_MESSAGE => li_return_message );
log_pvt('MAIN','before update_project ');
DELETE_RES_ASSGN_PVT (
p_project_in_rec => L_PROJECT_IN_REC,
p_structure_in_rec => L_STRUCTURE_IN_REC,
p_res_pa_task_assignment_id => g_res_pa_task_assignment_id,
x_DEL_RES_ASGMT_OBJ_TBL => l_del_res_asgmt_tbl ,
x_DEL_RES_ASSGMT_STATUS => l_del_res_asgm_status,
x_del_res_msg_data => l_del_res_msg_data );
log_pvt('MAIN_DEL',' p_delete_RES_ASGMT_OUT_OBJ_TBL.count '||l_del_res_asgmt_tbl.count);
L_PROJECT_OUT_OBJ.p_delete_RES_ASGMT_OUT_OBJ_TBL := l_del_res_asgmt_tbl;
L_PROJECT_OUT_OBJ.p_delete_res_asgmt_status := l_del_res_asgm_status;
log_pvt('MAIN_DEL',' p_delete_RES_ASGMT_OUT_OBJ_TBL.count '||l_del_res_asgmt_tbl.count);
log_pvt('MAIN_DEL',' p_delete_res_asgmt_status '||l_del_res_asgm_status);
i_del_task_out_obj_tbl.delete;
i_del_task_out_obj_tbl.extend(l_delete_task_id_tbl.count);
DELETE_TASK_PVT(
p_project_in_rec => L_PROJECT_IN_REC,
p_structure_in_rec => L_STRUCTURE_IN_REC,
p_delete_task_id_tbl => l_delete_task_id_tbl,
p_delete_task_ver_id_tbl => l_delete_task_ver_id_tbl,
x_del_task_out_obj_tbl => i_del_task_out_obj_tbl ,
x_del_task_status => i_del_task_status,
x_del_task_msg_data => i_del_task_msg_data );
L_PROJECT_OUT_OBJ.P_DELETE_TASK_OUT_OBJ_TBL := i_del_task_out_obj_tbl;
L_PROJECT_OUT_OBJ.P_DELETE_TASK_STATUS := i_del_task_status;
log_pvt('SYNC_PROJECTS UPDATE_PROJECT', '############# org_context: L_PROJECT_IN_REC.PA_PROJECT_ID '|| L_PROJECT_IN_REC.PA_PROJECT_ID);
log_pvt('SYNC_PROJECTS UPDATE_PROJECT', '############# org_context: l_ou_id'|| l_ou_id);
PA_PROJECT_PUB.UPDATE_PROJECT( P_API_VERSION_NUMBER => 1.0,
P_COMMIT => fnd_api.g_false,
P_INIT_MSG_LIST => 'T',
P_MSG_COUNT => X_MSG_COUNT,
P_MSG_DATA => X_MSG_DATA,
P_RETURN_STATUS => l_RETURN_STATUS,
P_WORKFLOW_STARTED => L_WORKFLOW_STARTED,
P_PM_PRODUCT_CODE => 'PRIMAVERA',
P_PASS_ENTIRE_STRUCTURE => 'Y',
P_PROJECT_IN => L_PROJECT_IN_REC,
P_PROJECT_OUT => L_PROJECT_OUT_REC,
P_TASKS_IN => L_TASKS_IN_REC_TBL,
P_TASKS_OUT => L_TASKS_OUT_REC_TBL,
P_STRUCTURE_IN => L_STRUCTURE_IN_REC
);
log_pvt('MAIN','after update_project '||l_RETURN_STATUS);
i_task_out_tbl.delete;
c_res_currency_code.delete;
c_res_pm_project_reference.delete;
c_res_pa_project_id.delete;
c_res_pa_struct_version_id.delete;
c_res_pm_task_reference.delete;
c_res_pa_task_number.delete;
c_res_pa_task_id.delete;
c_res_pa_task_elem_ver_id.delete;
c_res_pm_task_asgmt_reference.delete;
c_res_pa_task_assignment_id.delete;
c_res_resource_alias.delete;
c_res_resource_list_member_id.delete;
c_res_start_date.delete;
c_res_end_date.delete;
c_res_planned_quantity.delete;
c_res_planned_total_raw_cost.delete;
c_res_planned_total_bur_cost.delete;
u_res_currency_code.delete;
u_res_pm_project_reference.delete;
u_res_pa_project_id.delete;
u_res_pa_struct_version_id.delete;
u_res_pm_task_reference.delete;
u_res_pa_task_number.delete;
u_res_pa_task_id.delete;
u_res_pa_task_elem_ver_id.delete;
u_res_pm_task_asgmt_reference.delete;
u_res_pa_task_assignment_id.delete;
u_res_resource_alias.delete;
u_res_resource_list_member_id.delete;
u_res_start_date.delete;
u_res_end_date.delete;
u_res_planned_quantity.delete;
u_res_planned_total_raw_cost.delete;
u_res_planned_total_bur_cost.delete;
o_task_asgmt_index.delete;
ou_task_asgmt_index.delete;
log_pvt('MAIN','before first select ');
select s.element_version_id
into L_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID
from pa_proj_elem_ver_structure s,
pa_proj_structure_types ppst,
pa_structure_types pst
where s.project_id = L_PROJECT_OUT_OBJ.pa_project_id
and ( ( s.status_code = 'STRUCTURE_WORKING' AND
exists ( select 'x' from pa_proj_workplan_attr w1
where w1.project_id = s.project_id
and w1.wp_enable_version_flag = 'Y' ) )
OR
( s.status_code = 'STRUCTURE_PUBLISHED' AND
exists ( select 'x' from pa_proj_workplan_attr w2
where w2.project_id = s.project_id
and w2.wp_enable_version_flag = 'N' ))
)
and s.current_working_flag = 'Y'
and s.proj_element_id = ppst.proj_element_id
and ppst.structure_type_id = pst.structure_type_id
and pst.structure_type_class_code = 'WORKPLAN';
select s.element_version_id, cost_resource_list_id
into L_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID, l_cost_resource_list_id
from pa_proj_elem_ver_structure s,
pa_proj_structure_types ppst,
pa_structure_types pst,
pa_budget_versions bud,
pa_proj_fp_options opt
where s.project_id = L_PROJECT_OUT_OBJ.pa_project_id
and ( ( s.status_code = 'STRUCTURE_WORKING' AND
exists ( select 'x' from pa_proj_workplan_attr w1
where w1.project_id = s.project_id
and w1.wp_enable_version_flag = 'Y' ) )
OR
( s.status_code = 'STRUCTURE_PUBLISHED' AND
exists ( select 'x' from pa_proj_workplan_attr w2
where w2.project_id = s.project_id
and w2.wp_enable_version_flag = 'N' ))
)
and s.current_working_flag = 'Y'
and s.proj_element_id = ppst.proj_element_id
and ppst.structure_type_id = pst.structure_type_id
and pst.structure_type_class_code = 'WORKPLAN'
and bud.project_structure_version_id = s.element_version_id
and bud.budget_version_id = opt.fin_plan_version_id
and opt.project_id = bud.project_id
and opt.fin_plan_type_id = 10
and opt.fin_plan_option_level_code = 'PLAN_VERSION';
log_pvt('MAIN','before second 0 select ');
l_task_id_tbl.delete;
l_task_num_tbl.delete;
l_task_num_id_tbl.delete;
l_elem_ver_id_tbl.delete;
l_task_elem_ver_id_tbl.delete;
log_pvt('MAIN','before second 1 select ');
select a.element_version_id , a.proj_element_id , c.element_number bulk collect
into l_elem_ver_id_tbl,l_task_id_tbl , l_task_num_tbl
from pa_proj_element_versions a , pa_proj_elem_ver_structure s, pa_proj_elements c, pa_proj_element_versions d,
pa_proj_structure_types PPST, pa_integration_settings pis
where s.project_id = L_PROJECT_OUT_OBJ.PA_PROJECT_ID
and s.project_id = a.project_id
and a.parent_structure_version_id = s.element_version_id
and a.object_type = 'PA_TASKS'
and ( ( s.status_code = 'STRUCTURE_WORKING' AND
exists ( select 'x' from pa_proj_workplan_attr w1
where w1.project_id = s.project_id
and w1.wp_enable_version_flag = 'Y' ) )
OR
( s.status_code = 'STRUCTURE_PUBLISHED' AND
exists ( select 'x' from pa_proj_workplan_attr w2
where w2.project_id = s.project_id
and w2.wp_enable_version_flag = 'N' )
)
)
and s.current_working_flag = 'Y'
and c.proj_element_id = a.proj_element_id
and c.parent_structure_id = d.PROJ_ELEMENT_ID
and d.ELEMENT_VERSION_ID = s.ELEMENT_VERSION_ID
and pis.project_id = s.project_id
and Decode(pis.structure_type, 'FINANCIAL', 6, 'WORKPLAN', 1, NULL, -1) = Decode(pis.structure_type, NULL, -1, PPST.STRUCTURE_TYPE_ID)
AND ppst.proj_element_id = d.proj_element_id;
log_pvt('MAIN','after second 1 select '||l_task_id_tbl.count);
Select plan_in_multi_curr_flag into l_plan_in_multi_curr_flag from pa_proj_fp_options WHERE project_id = L_PROJECT_OUT_OBJ.PA_PROJECT_ID
AND FIN_PLAN_TYPE_ID = 10 AND FIN_PLAN_OPTION_LEVEL_CODE = 'PLAN_TYPE';
Select 'x' INTO l_plan_in_multi_curr_flag from pa_projects_all where project_id = L_PROJECT_OUT_OBJ.PA_PROJECT_ID
and PROJECT_CURRENCY_CODE = gl_currency_code ;
select count(*) into t_crt_count
from pa_resource_assignments
where resource_assignment_id = g_res_pa_task_assignment_id(i);
o_pm_task_asgmt_reference.delete;
o_pa_task_assignment_id.delete;
o_pm_task_reference.delete;
o_pa_task_id.delete;
o_resource_alias.delete;
o_resource_list_member_id.delete;
c_res_currency_code.delete;
c_res_pm_project_reference.delete;
c_res_pa_project_id.delete;
c_res_pa_struct_version_id.delete;
c_res_pm_task_reference.delete;
c_res_pa_task_number.delete;
c_res_pa_task_id.delete;
c_res_pa_task_elem_ver_id.delete;
c_res_pm_task_asgmt_reference.delete;
c_res_pa_task_assignment_id.delete;
c_res_resource_alias.delete;
c_res_resource_list_member_id.delete;
c_res_start_date.delete;
c_res_end_date.delete;
c_res_planned_quantity.delete;
c_res_planned_total_raw_cost.delete;
c_res_planned_total_bur_cost.delete;
o_task_asgmt_index.delete;
o_task_asgmt_index.delete;
o_pm_task_asgmt_reference.delete;
o_pa_task_assignment_id.delete;
o_pm_task_reference.delete;
o_pa_task_id.delete;
o_resource_alias.delete;
o_resource_list_member_id.delete;
PA_TASK_ASSIGNMENTS_PUB.Execute_Update_Task_Asgmts
( p_api_version_number => 1.0
,p_commit => fnd_api.g_false
,p_init_msg_list => FND_API.G_TRUE
,p_pm_product_code => 'P6PROJECT'
,p_pm_project_reference => L_PROJECT_IN_REC.PM_PROJECT_REFERENCE
,p_pa_project_id => L_PROJECT_IN_REC.PA_PROJECT_ID
,p_pa_structure_version_id => L_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID
,x_msg_count => X_MSG_COUNT
,x_msg_data => X_MSG_DATA
,x_return_status => l_RETURN_STATUS
) ;
u_res_currency_code.delete;
u_res_pm_project_reference.delete;
u_res_pa_project_id.delete;
u_res_pa_struct_version_id.delete;
u_res_pm_task_reference.delete;
u_res_pa_task_number.delete;
u_res_pa_task_id.delete;
u_res_pa_task_elem_ver_id.delete;
u_res_pm_task_asgmt_reference.delete;
u_res_pa_task_assignment_id.delete;
u_res_resource_alias.delete;
u_res_resource_list_member_id.delete;
u_res_start_date.delete;
u_res_end_date.delete;
u_res_planned_quantity.delete;
u_res_planned_total_raw_cost.delete;
u_res_planned_total_bur_cost.delete;
ou_task_asgmt_index.delete;
ou_task_asgmt_index.delete;
ou_pm_task_asgmt_reference.delete;
ou_pa_task_assignment_id.delete;
ou_pm_task_reference.delete;
ou_pa_task_id.delete;
ou_resource_alias.delete;
ou_resource_list_member_id.delete;
end if; /* update resource assignments */
if ( ( nvl(L_PROJECT_OUT_OBJ.P_DELETE_TASK_STATUS,'S') <> 'S' ) or ( nvl(L_PROJECT_OUT_OBJ.p_delete_res_asgmt_status,'S') <> 'S' ) ) then
L_PROJECT_OUT_OBJ.RETURN_STATUS := 'E';
log_pvt('MAIN',' L_PROJECT_OUT_OBJ.P_DELETE_TASK_STATUS '||L_PROJECT_OUT_OBJ.P_DELETE_TASK_STATUS);
log_pvt('MAIN',' L_PROJECT_OUT_OBJ.L_PROJECT_OUT_OBJ.p_delete_res_asgmt_status'||L_PROJECT_OUT_OBJ.p_delete_res_asgmt_status);
x_delete_task_ver_id_tbl OUT NOCOPY g_num_tbl,
x_delete_task_id_tbl OUT NOCOPY g_num_tbl,
X_RETURN_STATUS OUT NOCOPY VARCHAR2,
x_RETURN_MESSAGE OUT NOCOPY VARCHAR2 ) IS
-- FUNCTION LOAD_PROJECT_IN_REC ( l_PROJECT_IN_OBJ IN PROJECT_IN_OBJ )
-- RETURN pa_project_pub.PROJECT_IN_REC_TYPE IS
-- Records
L_PROJECT_IN_REC pa_project_pub.PROJECT_IN_REC_TYPE ;
ll_delete_task_id_tbl g_num_tbl;
ll_delete_task_ver_id_tbl g_num_tbl;
select project_id into l_create_from_project_id
from pa_projects_all
where segment1 = l_PROJECT_IN_OBJ.created_from_project_number;
select decode(PA_PROJ_TASK_STRUC_PUB.IS_WP_SEPARATE_FROM_FN(l_PROJECT_IN_OBJ.PA_PROJECT_ID ), 'N',
'FINANCIAL', structure_type), receive_task , structure_type
into l_struct_type , l_receive_task , l_setup_struct_type
from pa_integration_settings
where project_id = l_PROJECT_IN_OBJ.PA_PROJECT_ID
and enable_integration = 'Y';
select decode(PA_PROJ_TASK_STRUC_PUB.IS_WP_SEPARATE_FROM_FN( l_create_from_project_id ), 'N',
'FINANCIAL', structure_type) , receive_task, structure_type
into l_struct_type , l_receive_task , l_setup_struct_type
from pa_integration_settings
where project_id = l_create_from_project_id
and enable_integration = 'Y';
select ppevs.element_version_id
into L_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID
from pa_proj_elem_ver_structure ppevs,
pa_proj_structure_types ppst,
pa_structure_types pst
where ppevs.proj_element_id = ppst.proj_element_id
and ppevs.project_id = l_PROJECT_IN_OBJ.PA_PROJECT_ID
and ( ( ppevs.status_code = 'STRUCTURE_WORKING' AND
exists ( select 'x' from pa_proj_workplan_attr w1
where w1.project_id = ppevs.project_id
and w1.wp_enable_version_flag = 'Y' ) )
OR
( ppevs.status_code = 'STRUCTURE_PUBLISHED' AND
exists ( select 'x' from pa_proj_workplan_attr w2
where w2.project_id = ppevs.project_id
and w2.wp_enable_version_flag = 'N' ))
)
and ppevs.current_working_flag = 'Y'
and ppst.structure_type_id = pst.structure_type_id
and pst.structure_type_class_code = 'WORKPLAN';
X_DELETE_TASK_ID_TBL => LL_DELETE_TASK_ID_TBL,
X_DELETE_TASK_ver_ID_TBL => LL_DELETE_TASK_VER_ID_TBL
);
x_delete_task_id_tbl := ll_delete_task_id_tbl;
x_delete_task_ver_id_tbl := ll_delete_task_ver_id_tbl;
X_DELETE_TASK_VER_ID_TBL OUT NOCOPY G_NUM_TBL,
X_DELETE_TASK_ID_TBL OUT NOCOPY G_NUM_TBL
) IS
i number;
delete from pa_wbs_seq_tmp ;
INSERT INTO pa_wbs_seq_tmp ( task_id , task_ref , parent_task_ref , list_id )
VALUES ( l_task_id_tbl(i),l_task_ref_tbl(i), l_parent_ref_tbl(i), l_list_tbl(i));
l_task_ref_tbl.delete;
l_parent_ref_tbl.delete;
l_list_tbl.delete;
select count(*) into i from pa_wbs_seq_tmp ;
select parent_task_ref , task_ref , list_id bulk collect
into l_parent_ref_tbl, l_task_ref_tbl , l_list_tbl
from pa_wbs_seq_tmp
start with parent_task_Ref is null
connect by prior task_ref = parent_task_ref;
update pa_projects_all a
set pm_project_reference = P_PROJECT_IN_REC.pm_project_reference ,
pm_product_code = 'PRIMAVERA'
where project_id = P_PROJECT_IN_REC.pa_project_id;
update pa_proj_elements a
set ( pm_source_reference ) =
( select b.task_ref
from pa_wbs_seq_tmp b
where b.task_id = a.proj_element_id )
where exists
( select 'x' from pa_wbs_seq_tmp c where c.task_id = a.proj_element_id ) ;
update pa_tasks a
set ( pm_task_reference, pm_product_code ) =
( select b.task_ref, 'PRIMAVERA'
from pa_wbs_seq_tmp b
where b.task_id = a.task_id )
where exists
( select 'x' from pa_wbs_seq_tmp c where c.task_id = a.task_id ) ;
select a.proj_element_id , a.element_version_id
bulk collect into X_DELETE_TASK_ID_TBL, X_DELETE_TASK_VER_ID_TBL
from PA_PROJ_ELEMENT_VERSIONS a , pa_proj_elements c
where a.project_id = P_PROJECT_IN_REC.pa_project_id
and a.parent_structure_version_id = P_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID
and a.object_type = 'PA_TASKS'
and a.proj_element_id = c.proj_element_id
and
( not exists
( select 'x'
from pa_wbs_seq_tmp b
where ( c.pm_source_reference is not null and c.pm_source_reference = b.task_ref ) or ( c.pm_source_reference is null and b.task_id = c.proj_element_id )
)
)
order by a.wbs_level desc ;
log_pvt('WBS_ORDER',' X_DELETE_TASK_ID_TBL.count '||X_DELETE_TASK_ID_TBL.count);
procedure DELETE_RES_ASSGN_PVT (
p_project_in_rec IN pa_project_pub.project_in_rec_type,
p_structure_in_rec IN pa_project_pub.structure_in_rec_type,
p_res_pa_task_assignment_id IN g_num,
x_DEL_RES_ASGMT_OBJ_TBL OUT NOCOPY SYSTEM.delete_RES_ASGMT_OUT_OBJ_TBL,
x_DEL_RES_ASSGMT_STATUS OUT NOCOPY varchar2,
x_del_res_msg_data OUT NOCOPY varchar2
) IS
l_del_res_id_tbl g_num_tbl;
l_del_res_asgmt_obj SYSTEM.delete_RES_ASGMT_OUT_OBJ;
l_del_res_asgmt_obj_tbl SYSTEM.delete_res_asgmt_out_obj_tbl;
l_del_res_asgmt_obj_tbl := SYSTEM.delete_res_asgmt_out_obj_tbl();
l_del_res_asgmt_obj := SYSTEM.delete_RES_ASGMT_OUT_OBJ(null,null,null);
l_del_res_asgmt_obj_tbl.delete;
DELETE FROM pa_wbs_seq_tmp ;
INSERT INTO pa_wbs_seq_tmp ( task_id , task_ref , parent_task_ref , list_id )
VALUES ( l_res_id_tbl(i),null,null,null);
log_pvt('DEL_RES','Before select '|| l_res_id_tbl.count);
Select res1.resource_assignment_id , res1.task_id , a.element_version_id bulk collect
into l_del_res_id_tbl, l_del_task_id_tbl, l_del_task_ver_id_tbl
from pa_resource_assignments res1 , pa_budget_versions bud1 , PA_PROJ_ELEMENT_VERSIONS a
where bud1.project_structure_version_id = P_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID
and bud1.budget_version_id = res1.budget_version_id
and a.proj_element_id = res1.task_id
and a.parent_structure_version_id = bud1.project_structure_version_id
AND res1.unplanned_flag IS NULL -- Bug 12970445
and not exists
( select 'x' from pa_wbs_seq_tmp seq1
where seq1.task_id = res1. resource_assignment_id ) ;
l_del_res_asgmt_obj.deleted_status := 'S';
l_del_res_asgmt_obj.deleted_status := 'E' ;
PA_TASK_ASSIGNMENTS_PUB.Delete_Task_Assignments
( p_api_version_number => 1.0
,p_commit => fnd_api.g_false
,p_init_msg_list => FND_API.G_TRUE
,p_pa_project_id => p_project_in_rec.pa_project_id
,p_pa_structure_version_id => P_STRUCTURE_IN_REC.STRUCTURE_VERSION_ID
,p_task_assignments_in => l_del_res_asgmt_rec_tbl
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
,x_return_status => l_return_status
);
log_pvt('DEL_RES','ERORRS : delete res assgm : '||l_data);
l_del_res_asgmt_obj.deleted_status := 'E' ;
log_pvt('DEL_RES',' End of delete_res_assgn_pvt ');
End DELETE_RES_ASSGN_PVT ;
procedure DELETE_TASK_PVT(
p_project_in_rec IN pa_project_pub.project_in_rec_type,
p_structure_in_rec IN pa_project_pub.structure_in_rec_type,
p_delete_task_ver_id_tbl IN G_NUM_TBL,
p_delete_task_id_tbl IN G_NUM_TBL,
x_del_task_out_obj_tbl OUT NOCOPY SYSTEM.delete_TASK_OUT_obj_TBL,
x_del_task_status OUT NOCOPY varchar2,
x_del_task_msg_data OUT NOCOPY varchar2
) IS
l_del_task_out_obj SYSTEM.delete_task_out_obj;
l_del_task_out_obj_tbl SYSTEM.delete_task_out_obj_tbl;
l_del_task_out_obj_tbl := SYSTEM.delete_task_out_obj_tbl();
l_del_task_out_obj := SYSTEM.delete_task_out_obj(null,null,null);
l_del_task_out_obj_tbl.delete;
if ( p_delete_task_id_tbl.count > 0 ) then
l_del_task_out_obj_tbl.extend( p_delete_task_id_tbl.count);
for i in p_delete_task_id_tbl.first .. p_delete_task_id_tbl.last loop
log_pvt('DELETE',' p_delete_task_id_tbl(i) '|| p_delete_task_id_tbl(i));
l_del_task_out_obj.pa_task_id := p_delete_task_id_tbl(i);
pa_project_pub.delete_task ( p_api_version_number => 1.0 -- for bug# 3802319
,p_commit => fnd_api.g_false
,p_init_msg_list => 'T'
,p_msg_count => x_msg_count
,p_msg_data => x_msg_data
,p_return_status => l_return_status
,p_pm_product_code => 'PRIMAVERA'
-- ,p_pm_project_reference IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_pa_project_id => p_project_in_rec.pa_project_id
-- ,p_pm_task_reference IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
,p_pa_task_id => p_delete_task_id_tbl(i)
,p_cascaded_delete_flag => 'N'
,p_project_id => l_project_id
,p_task_id => l_task_id
,p_task_version_id => p_delete_task_ver_id_tbl(i)
,p_structure_type => p_structure_in_rec.STRUCTURE_TYPE
-- ,p_process_mode IN VARCHAR2 := 'ONLINE'
-- ,p_structure_updates_flag IN VARCHAR2 := 'Y'
);
log_pvt('DELETE','pub.delete_task : after execute '||l_RETURN_STATUS);
log_pvt('DELETE','ERORRS : '||l_data);
l_del_task_out_obj.deleted_status := l_return_status;
l_del_task_out_obj.deleted_status := 'E';
end DELETE_TASK_PVT;
insert into PJI_SYSTEM_DEBUG_MSG
(
MESSAGE_ID,
MESSAGE_LEVEL,
MESSAGE_CONTEXT,
MESSAGE_TEXT,
MESSAGE_TYPE,
MODULE,
CREATED_BY,
CREATION_DATE
)
values
(
PJI_SYSTEM_DEBUG_MSG_S.NEXTVAL,
1,
'AIA',
substr(p_msg,1,3999),
'OUT',
substr(p_module,1,239),
-1,
sysdate
);
insert into
fnd_log_messages
(module,
log_level,
message_text,
user_id,
timestamp,
log_sequence)
values
('AIA-PA_PROJECT_INTEGRATION_PUB' || substr(p_module,1,225),
1,
substr(p_msg,1,3999),
fnd_global.user_id,
sysdate,
fnd_log_messages_s.nextval);
SELECT PaProjectIntegrationSettingsEO.PROJECT_ID,
PaProjectIntegrationSettingsEO.ENABLE_INTEGRATION,
PaProjectIntegrationSettingsEO.STRUCTURE_TYPE,
PaProjectIntegrationSettingsEO.SEND_ACTUAL_COST_TYPE,
PaProjectIntegrationSettingsEO.SEND_TASK,
PaProjectIntegrationSettingsEO.SEND_TASK_REF,
PaProjectIntegrationSettingsEO.RECEIVE_TASK,
PaProjectIntegrationSettingsEO.SEND_BUDGET,
PaProjectIntegrationSettingsEO.SEND_BUDGET_REF,
PaProjectIntegrationSettingsEO.RECEIVE_BUDGET,
PaProjectIntegrationSettingsEO.FIN_PLAN_TYPE_ID,
PaProjectIntegrationSettingsEO.FIN_STRUCT_MAX_LEVEL,
PaProjectIntegrationSettingsEO.BUDGET_TYPE,
PaProjectIntegrationSettingsEO.SYNCHRONIZE_MARK,
PaProjectIntegrationSettingsEO.LAST_SYNCHRONIZATION_DATE,
PaProjectIntegrationSettingsEO.SYNCHRONIZATION_STAGE,
PaProjectIntegrationSettingsEO.CREATE_PLANNING_RESOURCE
FROM PA_INTEGRATION_SETTINGS PaProjectIntegrationSettingsEO
WHERE PaProjectIntegrationSettingsEO.PROJECT_ID = CP_PROJECT_ID;
INSERT INTO PA_INTEGRATION_SETTINGS (
PROJECT_ID,
ENABLE_INTEGRATION,
STRUCTURE_TYPE,
SEND_ACTUAL_COST_TYPE,
SEND_TASK,
SEND_TASK_REF,
RECEIVE_TASK,
SEND_BUDGET,
SEND_BUDGET_REF,
RECEIVE_BUDGET,
FIN_PLAN_TYPE_ID,
FIN_STRUCT_MAX_LEVEL,
BUDGET_TYPE,
SYNCHRONIZE_MARK,
CREATE_PLANNING_RESOURCE,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN )
VALUES (
P_PROJECT_ID,
C_SOURCE_RECORD.ENABLE_INTEGRATION,
C_SOURCE_RECORD.STRUCTURE_TYPE,
C_SOURCE_RECORD.SEND_ACTUAL_COST_TYPE,
C_SOURCE_RECORD.SEND_TASK,
C_SOURCE_RECORD.SEND_TASK_REF,
C_SOURCE_RECORD.RECEIVE_TASK,
C_SOURCE_RECORD.SEND_BUDGET,
C_SOURCE_RECORD.SEND_BUDGET_REF,
C_SOURCE_RECORD.RECEIVE_BUDGET,
C_SOURCE_RECORD.FIN_PLAN_TYPE_ID,
C_SOURCE_RECORD.FIN_STRUCT_MAX_LEVEL,
C_SOURCE_RECORD.BUDGET_TYPE,
C_SOURCE_RECORD.SYNCHRONIZE_MARK,
C_SOURCE_RECORD.CREATE_PLANNING_RESOURCE,
SYSDATE,
FND_GLOBAL.USER_ID,
SYSDATE,
FND_GLOBAL.USER_ID,
FND_GLOBAL.USER_ID );
select a.name
into X_org_name
from hr_operating_units a , pa_projects_all b
where (
( ( l_project_id is not null ) and ( l_project_id = b.project_id ) )
or
( ( l_project_id is null ) and (l_from_project_number = b.segment1 ) )
)
and a.organization_id = b.org_id ;
SELECT period_start_date , period_end_date
FROM pa_budget_periods_v
WHERE period_type_code = p_period_type_code
AND p_date between period_start_date AND period_end_date;
l_budget_line_in_tbl.delete;
l_budget_line_out_tbl.delete;
if ( nvl(l_budget_in_obj.Update_Reason,PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR) = FND_API.G_MISS_CHAR ) then
l_budget_in_obj.Update_Reason := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR ;
log_pvt('BUDGET','before selecting intg options l_budget_in_obj.project_id '||l_budget_in_obj.project_id );
select i1.fin_plan_type_id , i1.budget_type, p1.start_date , p1.completion_date
into l_fin_plan_type_id , l_budget_type, l_start_date , l_end_date
from pa_integration_settings i1, pa_projects_all p1
where i1.project_id = l_budget_in_obj.project_id
and i1.project_id = p1.project_id
and i1.enable_integration = 'Y';
select b.cost_fin_plan_level_code , b.cost_resource_list_id , a.budget_version_id , b.cost_time_phased_code --a.* -- <> 1000
into l_level_code , l_res_list_id , l_budget_ver_id , l_cost_time_phased_code
from pa_budget_versions a , pa_proj_fp_options b
where a.project_id = l_budget_in_obj.project_id
and a.budget_status_code = 'W'
and a.current_working_flag = 'Y'
and a.fin_plan_type_id = b.fin_plan_type_id
and a.budget_version_id = b.fin_plan_version_id --Kmaddi
and b.fin_plan_option_level_code = 'PLAN_VERSION'
and a.project_id = b.project_id
and b.fin_plan_preference_code like '%COST%'
and a.fin_plan_type_id = l_fin_plan_type_id
and a.fin_plan_type_id <> 10 ;
select b.cost_fin_plan_level_code , b.cost_resource_list_id , to_number(null) , b.cost_time_phased_code --a.* -- <> 1000
into l_level_code , l_res_list_id , l_budget_ver_id , l_cost_time_phased_code
from pa_proj_fp_options b
where b.project_id = l_budget_in_obj.project_id
and b.fin_plan_option_level_code = 'PLAN_TYPE'
and b.fin_plan_preference_code like '%COST%'
and b.fin_plan_type_id = l_fin_plan_type_id;
select a.resource_list_id , b.entry_level_code , a.budget_version_id, version_name, version_number,
b.time_phased_type_code --Bug 8821532
into l_res_list_id, l_level_code, l_budget_ver_id, l_ver_name , l_ver_number,l_cost_time_phased_code --Bug 8821532
FROM PA_BUDGET_VERSIONS a , pa_budget_entry_methods b
where a.fin_plan_type_id is null
and a.project_id = l_budget_in_obj.project_id
and a.budget_status_code = 'W'
--and a.current_working_flag = 'Y' --Bug 8821532
and a.budget_type_code = l_budget_type
and b.budget_entry_method_code = a.budget_entry_method_code ;
if ( nvl(l_budget_in_obj.Update_Reason,PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR) = FND_API.G_MISS_CHAR ) then
l_budget_in_obj.Update_Reason := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR ;
if ( nvl(l_task_line_obj.Update_Reason,PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR) = FND_API.G_MISS_CHAR ) then
l_task_line_obj.Update_Reason := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR ;
log_pvt('BUDGET_CALL','Before update_draft_budget ');
pa_budget_pub.update_budget
( p_api_version_number => 1.1
,p_init_msg_list => FND_API.G_TRUE
,p_msg_count => x_msg_count
,p_msg_data => x_msg_data
,p_return_status => l_return_status
,p_pm_product_code => 'PRIMAVERA'
,p_pa_project_id => l_budget_in_obj.PROJECT_ID
,p_budget_type_code => l_budget_type
,p_budget_lines_in => l_budget_line_in_tbl
,p_budget_lines_out => l_budget_line_out_tbl
,p_budget_version_number => l_ver_number
,p_budget_version_name => l_ver_name
);
log_pvt('BUDGET_CALL','After update_draft_budget l_return_status '||l_return_status);