The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT project_subteam_id,
primary_subteam_flag
FROM pa_project_subteam_parties
WHERE object_type = 'PA_PROJECT_ASSIGNMENTS'
AND object_id = l_assignment_rec.source_assignment_id;
SELECT ppa.work_type_id
,pl.location_id
,pl.city
,pl.region
,pl.country_code
INTO l_assignment_rec.work_type_id
,l_assignment_rec.location_id
,l_location_city
,l_location_region
,l_location_country_code
FROM pa_projects_all ppa,pa_locations pl
WHERE project_id = l_assignment_rec.project_id
AND PPA.LOCATION_ID = PL.LOCATION_ID(+) ;
SELECT ppr.default_min_job_level
,ppr.default_max_job_level
INTO l_assignment_rec.min_resource_job_level
,l_assignment_rec.max_resource_job_level
FROM pa_project_roles_lov_v ppr
,fnd_lookups pl
WHERE pl.lookup_type = 'YES_NO'
AND ppr.schedulable_flag = pl.lookup_code
AND ppr.project_role_id = l_assignment_rec.project_role_id;
SELECT record_version_number INTO l_rec_version_number
FROM pa_project_assignments
WHERE assignment_id = PA_ASSIGNMENTS_PUB.g_assignment_id_tbl(1).assignment_id;
PA_PROJECT_ASSIGNMENTS_PKG.Update_Row
( p_assignment_id => NULL
,p_record_version_number => l_rec_version_number
,p_assignment_effort => l_assignment_effort
,x_return_status => l_return_status
);
PROCEDURE Update_Assignment
( p_assignment_rec IN PA_ASSIGNMENTS_PUB.Assignment_Rec_Type
,p_project_subteam_id IN pa_project_subteams.project_subteam_id%TYPE := FND_API.G_MISS_NUM
,p_project_subteam_party_id IN pa_project_subteam_parties.project_subteam_party_id%TYPE := FND_API.G_MISS_NUM
,p_location_city IN pa_locations.city%TYPE := FND_API.G_MISS_CHAR
,p_location_region IN pa_locations.region%TYPE := FND_API.G_MISS_CHAR
,p_location_country_code IN pa_locations.country_code%TYPE := FND_API.G_MISS_CHAR
,p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
l_project_subteam_party_id pa_project_subteam_parties.project_subteam_party_id%TYPE;
SELECT work_type_id
FROM pa_project_assignments
WHERE assignment_id = p_assignment_rec.assignment_id;
PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Update_Assignment');
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.begin'
,x_msg => 'Beginning of PVT Update_Assignment'
,x_log_level => 5);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.update_subteam_party'
,x_msg => 'Calling Update_SPT_Assgn for subteam party.'
,x_log_level => 5);
PA_PROJECT_SUBTEAM_PARTIES_PVT.Update_SPT_Assgn
( p_validate_only => p_validate_only
,p_project_subteam_party_id => p_project_subteam_party_id
,p_project_subteam_id => p_project_subteam_id
,p_object_type => 'PA_PROJECT_ASSIGNMENTS'
,p_object_id => p_assignment_rec.assignment_id
,x_project_subteam_party_id => l_project_subteam_party_id
,x_return_status => l_return_status
,x_record_version_number => l_record_version_number
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.update_open'
,x_msg => 'Calling update requirement.'
,x_log_level => 5);
PA_OPEN_ASSIGNMENT_PVT.Update_Open_Assignment
( p_assignment_rec => l_assignment_rec
,p_location_city => p_location_city
,p_location_region => p_location_region
,p_location_country_code => p_location_country_code
,p_validate_only => p_validate_only
,p_commit => p_commit
,x_return_status => x_return_status
);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.update_staff'
,x_msg => 'Calling update assignment.'
,x_log_level => 5);
PA_STAFFED_ASSIGNMENT_PVT.Update_Staffed_Assignment
( p_assignment_rec => l_assignment_rec
,p_location_city => p_location_city
,p_location_region => p_location_region
,p_location_country_code => p_location_country_code
,p_validate_only => p_validate_only
,p_commit => p_commit
,x_return_status => x_return_status
);
FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Update_Assignment'
,p_procedure_name => PA_DEBUG.G_Err_Stack );
END Update_Assignment;
PROCEDURE Delete_Assignment
( p_assignment_row_id IN ROWID := NULL
,p_assignment_id IN pa_project_assignments.assignment_id%TYPE := FND_API.G_MISS_NUM
,p_assignment_type IN pa_project_assignments.assignment_type%TYPE := FND_API.G_MISS_CHAR
,p_record_version_number IN NUMBER := FND_API.G_MISS_NUM
,p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
,p_calling_module IN VARCHAR2 := FND_API.G_MISS_CHAR
,p_project_party_id IN pa_project_parties.project_party_id%TYPE := FND_API.G_MISS_NUM
,p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
l_return_status VARCHAR2(10);
SELECT resource_assignment_id, wbs_element_version_id, budget_version_id, project_structure_version_id
FROM
(
(SELECT ra.resource_assignment_id, ra.wbs_element_version_id, bv.budget_version_id, bv.project_structure_version_id
FROM PA_RESOURCE_ASSIGNMENTS ra
,PA_BUDGET_VERSIONS bv
,PA_PROJ_ELEM_VER_STRUCTURE evs
-- ,PA_PROJECT_ASSIGNMENTS pa -- 5110598 Removed PA_PROJECT_ASSIGNMENTS table usage
WHERE ra.project_id = bv.project_id
AND bv.project_id = evs.project_id
AND ra.budget_version_id = bv.budget_version_id
AND bv.project_structure_version_id = evs.element_version_id
-- AND ra.project_id = l_assignment_rec.project_id
-- AND pa.assignment_id = p_assignment_id -- 5110598 Removed table usage
-- AND ra.project_id = pa.project_id -- 5110598 Removed table usage
AND ra.project_assignment_id = p_assignment_id
AND evs.status_code = 'STRUCTURE_WORKING')
UNION ALL
(SELECT ra.resource_assignment_id, ra.wbs_element_version_id, bv.budget_version_id, bv.project_structure_version_id
FROM PA_RESOURCE_ASSIGNMENTS ra
,PA_BUDGET_VERSIONS bv
,PA_PROJ_ELEM_VER_STRUCTURE evs
,PA_PROJ_WORKPLAN_ATTR pwa
-- ,PA_PROJECT_ASSIGNMENTS pa -- 5110598 Removed PA_PROJECT_ASSIGNMENTS table usage
WHERE pwa.wp_enable_Version_flag = 'N'
AND pwa.project_id = ra.project_id
AND pwa.proj_element_id = evs.proj_element_id
AND ra.project_id = bv.project_id
AND bv.project_id = evs.project_id
AND ra.budget_version_id = bv.budget_version_id
AND bv.project_structure_version_id = evs.element_version_id
-- AND ra.project_id = l_assignment_rec.project_id
-- AND pa.assignment_id = p_assignment_id -- 5110598 Removed table usage
-- AND ra.project_id = pa.project_id -- 5110598 Removed table usage
AND ra.project_assignment_id = p_assignment_id)
)
ORDER BY budget_version_id, project_structure_version_id;
SELECT rf.ROLE_ENABLED_FLAG
FROM pa_res_formats_b rf,
pa_resource_list_members rlm,
pa_project_assignments pa
WHERE pa.assignment_id = p_assignment_id
AND pa.resource_list_member_id IS NOT NULL
AND rlm.resource_list_member_id = pa.resource_list_member_id
AND rlm.res_format_id = rf.res_format_id;
PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Delete_Assignment');
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.begin'
,x_msg => 'Beginning of Delete_Assignment.'
,x_log_level => 5);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_subteam_party'
,x_msg => 'Deleting subteam party'
,x_log_level => 5);
PA_PROJECT_SUBTEAM_PARTIES_PVT.Delete_SubteamParty_By_Obj
( p_validate_only => p_validate_only
,p_object_type => 'PA_PROJECT_ASSIGNMENTS'
,p_object_id => p_assignment_id
,p_init_msg_list => FND_API.G_FALSE -- Added for bug 5130421
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_rows'
,x_msg => 'Deleting Conflict History Information'
,x_log_level => 5);
PA_ASGN_CONFLICT_HIST_PKG.Delete_rows
( p_assignment_id => p_assignment_id
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_open'
,x_msg => 'Deleting Requirement'
,x_log_level => 5);
PA_OPEN_ASSIGNMENT_PVT.Delete_Open_Assignment
( p_assignment_row_id => p_assignment_row_id
,p_assignment_id => p_assignment_id
,p_record_version_number => p_record_version_number
,p_calling_module => p_calling_module
,p_commit => p_commit
,p_validate_only => p_validate_only
,x_return_status => x_return_status
);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_staff'
,x_msg => 'Deleting Assignment'
,x_log_level => 5);
PA_STAFFED_ASSIGNMENT_PVT.Delete_Staffed_Assignment
( p_assignment_row_id => p_assignment_row_id
,p_assignment_id => p_assignment_id
,p_record_version_number => p_record_version_number
,p_project_party_id => p_project_party_id
,p_calling_module => p_calling_module
,p_commit => p_commit
,p_validate_only => p_validate_only
,x_return_status => x_return_status
);
PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_staff'
,x_msg => 'Call Update_Task_Assignments'
,x_log_level => 5);
Update_Task_Assignments(
p_task_assignment_id_tbl => l_task_assignment_id_tbl
,p_task_version_id_tbl => l_task_version_id_tbl
,p_budget_version_id_tbl => l_budget_version_id_tbl
,p_struct_version_id_tbl => l_struct_version_id_tbl
,p_project_assignment_id => -1
,x_return_status => l_return_status
);
Update_Task_Assignments(
p_task_assignment_id_tbl => l_task_assignment_id_tbl
,p_task_version_id_tbl => l_task_version_id_tbl
,p_budget_version_id_tbl => l_budget_version_id_tbl
,p_struct_version_id_tbl => l_struct_version_id_tbl
,p_project_assignment_id => -1
,p_named_role => FND_API.G_MISS_CHAR
,x_return_status => l_return_status
);
pa_fp_planning_transaction_pub.update_planning_transactions
(
p_context => 'TASK_ASSIGNMENT'
,p_resource_assignment_id_tbl => l_task_assignment_id_tbl
,p_project_assignment_id_tbl => l_project_assignment_id_tbl
,X_Return_Status => l_return_status
,X_Msg_Data => l_msg_data
,X_Msg_Count => l_msg_count);
FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Delete_Assignment'
,p_procedure_name => PA_DEBUG.G_Err_Stack );
END Delete_Assignment;
FUNCTION: Update_Revenue_Bill_Rate
PURPOSE: This API updates the revenue_bill_rate for assignments passed
in. It should be only called by the Project Forecast Process.
-------------------------------------------------------------------- */
/* PROCEDURE Update_Revenue_Bill_Rate (p_assignment_id_tbl IN SYSTEM.pa_num_tbl_type,
p_revenue_bill_rate_tbl IN SYSTEM.pa_num_tbl_type,
x_return_status OUT VARCHAR2) */
PROCEDURE Update_Revenue_Bill_Rate
( p_assignment_id_tbl IN PA_PLSQL_DATATYPES.IdTabTyp
,p_revenue_bill_rate_tbl IN PA_PLSQL_DATATYPES.NumTabTyp
,x_return_status OUT NOCOPY VARCHAR2 ) --File.Sql.39 bug 4440895
IS
BEGIN
PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Update_Revenue_Bill_Rate');
pa_project_assignments_pkg.Update_row (
p_assignment_id => p_assignment_id_tbl(i),
p_revenue_bill_rate => p_revenue_bill_rate_tbl(i),
x_return_status => x_return_status);
p_procedure_name => 'Update_Revenue_Bill_Rate');
END Update_Revenue_Bill_Rate;
/* Added procedure Update_Transfer_Price for bug 3051110
This Procedure calls update_row which will update the record in pa_project_assignments table
with the transfer price rate and transfer price rate curr passed.
*/
PROCEDURE Update_Transfer_Price
( p_assignment_id IN pa_project_assignments.assignment_id%TYPE
,p_transfer_price_rate IN pa_project_assignments.transfer_price_rate%TYPE
,p_transfer_pr_rate_curr IN pa_project_assignments.transfer_pr_rate_curr%TYPE
,p_debug_mode IN VARCHAR2 default 'N'
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
BEGIN
x_return_status := FND_API.G_RET_STS_SUCCESS;
pa_project_assignments_pkg.update_row(
p_assignment_id => p_assignment_id,
p_transfer_price_rate => p_transfer_price_rate,
p_transfer_pr_rate_curr => p_transfer_pr_rate_curr,
x_return_status => x_return_status);
p_procedure_name => 'Update_Transfer_Price');
END Update_Transfer_Price;
This select is done for getting the min item_date from pa_forecast_items table.
There can be case that the assignment start date is a holiday (Exception in the calendar)
and hence no fi will be created for the assignment start date. So we need to get the first
working date which is done in the select below. If the min(item_date) is null, we dont call the
pa_cc_transfer_price.get_initial_transfer_price api
*/
select min(item_date) into l_start_date
from pa_forecast_items
WHERE Assignment_id = p_assignment_id
AND Error_Flag = 'N'
AND Delete_Flag = 'N';
/* Call to update_Transfer_Price to udpate the transfer_price_Rate and transfer_pr_rate_curr only if no error */
IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
IF p_debug_mode = 'Y' THEN
pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Calling update_transfer_price with proper Values', 3);
PA_ASSIGNMENTS_PVT.Update_Transfer_Price
(
p_assignment_id => p_assignment_id
,p_transfer_price_rate => lx_transfer_price_rate
,p_transfer_pr_rate_curr => lx_transfer_pr_rate_curr
,x_return_status => x_return_status
);
pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of update_transfer_price', 3);
PROCEDURE Update_Task_Assignments
( p_mode IN VARCHAR2 := 'UPDATE'
,p_task_assignment_id_tbl IN system.pa_num_tbl_type
,p_task_version_id_tbl IN system.pa_num_tbl_type
,p_budget_version_id_tbl IN system.pa_num_tbl_type
,p_struct_version_id_tbl IN system.pa_num_tbl_type
,p_project_assignment_id IN NUMBER := NULL
,p_resource_list_member_id IN NUMBER := NULL
-- pass in all resource attributes
,p_resource_class_flag IN VARCHAR2 := NULL
,p_resource_class_code IN VARCHAR2 := NULL
,p_resource_class_id IN NUMBER := NULL
,p_res_type_code IN VARCHAR2 := NULL
,p_incur_by_res_type IN VARCHAR2 := NULL
,p_person_id IN NUMBER := NULL
,p_job_id IN NUMBER := NULL
,p_person_type_code IN VARCHAR2 := NULL
,p_named_role IN VARCHAR2 := NULL -- named_role
,p_bom_resource_id IN NUMBER := NULL
,p_non_labor_resource IN VARCHAR2 := NULL
,p_inventory_item_id IN NUMBER := NULL
,p_item_category_id IN NUMBER := NULL
,p_project_role_id IN NUMBER := NULL
,p_organization_id IN NUMBER := NULL
,p_fc_res_type_code IN VARCHAR2 := NULL
,p_expenditure_type IN VARCHAR2 := NULL
,p_expenditure_category IN VARCHAR2 := NULL
,p_event_type IN VARCHAR2 := NULL
,p_revenue_category_code IN VARCHAR2 := NULL
,p_supplier_id IN NUMBER := NULL
,p_spread_curve_id IN NUMBER := NULL
,p_etc_method_code IN VARCHAR2 := NULL
,p_mfc_cost_type_id IN NUMBER := NULL
,p_incurred_by_res_flag IN VARCHAR2 := NULL
,p_incur_by_res_class_code IN VARCHAR2 := NULL
,p_incur_by_role_id IN NUMBER := NULL
,p_unit_of_measure IN VARCHAR2 := NULL
,p_org_id IN NUMBER := NULL
,p_rate_based_flag IN VARCHAR2 := NULL
,p_rate_expenditure_type IN VARCHAR2 := NULL
,p_rate_func_curr_code IN VARCHAR2 := NULL
,p_rate_incurred_by_org_id IN NUMBER := NULL
,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
) IS
l_task_assignment_id_tbl system.pa_num_tbl_type;
l_update_task_asgmt_id_tbl system.pa_num_tbl_type := system.pa_num_tbl_type();
l_update_task_version_id_tbl system.pa_num_tbl_type := system.pa_num_tbl_type();
l_update_count NUMBER;
l_update_task_asgmt_id_tbl.delete();
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'l_task_assignment_id_tbl.COUNT='||l_task_assignment_id_tbl.COUNT
,x_log_level => li_message_level);
l_update_count := 0;
SELECT project_id
INTO l_project_id
FROM pa_resource_assignments
WHERE resource_assignment_id = l_task_assignment_id_tbl(1);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'inside loop'
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'prepare to call'
,x_log_level => li_message_level);
l_project_assignment_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_resource_list_member_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_resource_class_flag_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_resource_class_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_resource_class_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_res_type_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_incur_by_res_type_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_person_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_job_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_person_type_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_named_role_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_bom_resource_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_non_labor_resource_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_inventory_item_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_item_category_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_project_role_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_organization_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_fc_res_type_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_expenditure_type_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_expenditure_category_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_event_type_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_revenue_category_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_supplier_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_spread_curve_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_etc_method_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_mfc_cost_type_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_incurred_by_res_flag_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_incur_by_res_class_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_incur_by_role_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_unit_of_measure_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_org_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_rate_based_flag_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_rate_expenditure_type_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_rate_func_curr_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
l_rate_incurred_by_org_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'struct_version_id='||l_last_struct_version_id||
' bvid='||l_last_bvid
,x_log_level => li_message_level);
FOR i IN l_update_task_asgmt_id_tbl.FIRST .. l_update_task_asgmt_id_tbl.LAST LOOP
l_project_assignment_id_tbl(i) := p_project_assignment_id;
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'i='||i||'version id='||l_update_task_version_id_tbl(i)||
' task_id='||l_update_task_asgmt_id_tbl(i)||
' asgmt_id='||l_project_assignment_id_tbl(i)||
' rlm='||l_resource_list_member_id_tbl(i)
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'i='||i||'res_class_flag='||l_resource_class_flag_tbl(i)||
' res_class_code='||l_resource_class_code_tbl(i)||
' res_class_id='||l_resource_class_id_tbl(i)||
' res_type_code='||l_res_type_code_tbl(i)||
' person_id='||l_person_id_tbl(i)
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'i='||i||'job_id='||l_job_id_tbl(i)||
' person_type_code='||l_person_type_code_tbl(i)||
' named_role='||l_named_role_tbl(i)||
' bom_res_id='||l_bom_resource_id_tbl(i)||
' non_labor_res='||l_non_labor_resource_tbl(i)
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'i='||i||'inven_item='||l_inventory_item_id_tbl(i)||
' item_cat_id='||l_item_category_id_tbl(i)||
' proj_role_id='||l_project_role_id_tbl(i)||
' org_id='||l_organization_id_tbl(i)||
' fc_res_type='||l_fc_res_type_code_tbl(i)||
' exp_type='||l_expenditure_type_tbl(i)
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'i='||i||'exp_cat='||l_expenditure_category_tbl(i)||
' event_type='||l_event_type_tbl(i)||
' rev_cat_code='||l_revenue_category_code_tbl(i)||
' supplier_id='||l_supplier_id_tbl(i)||
' spread_curve='||l_spread_curve_id_tbl(i)
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'i='||i||'etc_method_code='||l_etc_method_code_tbl(i)||
' mfc_cost_type='||l_mfc_cost_type_id_tbl(i)||
' inc_by_res_flag='||l_incurred_by_res_flag_tbl(i)||
' inc_by_res_class='||l_incur_by_res_class_code_tbl(i)||
' inc_by_role_id='||l_incur_by_role_id_tbl(i)||
' unit_of_measure'||l_unit_of_measure_tbl(i)
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'l_edit_task_ok='||l_edit_task_ok
,x_log_level => li_message_level);
pa_fp_planning_transaction_pub.update_planning_transactions (
p_context => 'TASK_ASSIGNMENT'
,p_calling_context => 'PA_PROJECT_ASSIGNMENT' -- Added for Bug 6856934
,p_struct_elem_version_id => l_last_struct_version_id
,p_budget_version_id => l_last_bvid
,p_task_elem_version_id_tbl => l_update_task_version_id_tbl
,p_resource_assignment_id_tbl => l_update_task_asgmt_id_tbl
,p_project_assignment_id_tbl => l_project_assignment_id_tbl
-- resource_list_member_id
,p_resource_list_member_id_tbl => l_resource_list_member_id_tbl
-- pass in all resource attributes
,p_resource_class_flag_tbl => l_resource_class_flag_tbl
,p_resource_class_code_tbl => l_resource_class_code_tbl
,p_resource_class_id_tbl => l_resource_class_id_tbl
,p_res_type_code_tbl => l_res_type_code_tbl
-- ,p_incur_by_res_type_tbl => l_incur_by_res_type_tbl
,p_person_id_tbl => l_person_id_tbl
,p_job_id_tbl => l_job_id_tbl
,p_person_type_code => l_person_type_code_tbl
,p_named_role_tbl => l_named_role_tbl -- named_role
,p_bom_resource_id_tbl => l_bom_resource_id_tbl
,p_non_labor_resource_tbl => l_non_labor_resource_tbl
,p_inventory_item_id_tbl => l_inventory_item_id_tbl
,p_item_category_id_tbl => l_item_category_id_tbl
--Bug 4170933 ,p_project_role_id_tbl => l_project_role_id_tbl
,p_organization_id_tbl => l_organization_id_tbl
,p_fc_res_type_code_tbl => l_fc_res_type_code_tbl
,p_expenditure_type_tbl => l_expenditure_type_tbl
,p_expenditure_category_tbl => l_expenditure_category_tbl
,p_event_type_tbl => l_event_type_tbl
,p_revenue_category_code_tbl => l_revenue_category_code_tbl
,p_supplier_id_tbl => l_supplier_id_tbl
,p_spread_curve_id_tbl => l_spread_curve_id_tbl
,p_etc_method_code_tbl => l_etc_method_code_tbl
,p_mfc_cost_type_id_tbl => l_mfc_cost_type_id_tbl
,p_incurred_by_res_flag_tbl => l_incurred_by_res_flag_tbl
,p_incur_by_res_class_code_tbl => l_incur_by_res_class_code_tbl
,p_incur_by_role_id_tbl => l_incur_by_role_id_tbl
,p_unit_of_measure_tbl => l_unit_of_measure_tbl
-- ,p_org_id_tbl => l_org_id_tbl
-- ,p_rate_based_flag_tbl => l_rate_based_flag_tbl
-- ,p_rate_expenditure_type_tbl => l_rate_expenditure_type_tbl
-- ,p_rate_func_curr_code_tbl => l_rate_func_curr_code_tbl
-- ,p_rate_incurred_by_org_id_tbl => l_rate_incurred_by_org_id_tbl
,x_return_status => l_return_status
,x_msg_data => l_msg_data
,x_msg_count => l_msg_count);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'return status'||l_return_status
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => ' count1='||l_msg_count1||
' count2='||l_msg_count2
,x_log_level => li_message_level);
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,x_msg => 'Deleting message at index: ' || FND_MSG_PUB.Count_Msg
,x_log_level => li_message_level);
FND_MSG_PUB.delete_msg(p_msg_index => FND_MSG_PUB.Count_Msg);
,p_msg_name => 'PA_NO_UPDATE_ASGN_WITH_ACTUALS' );
select ppevs.name into l_structure_ver_name
from pa_proj_elem_ver_structure ppevs
where ppevs.project_id = l_project_id
and ppevs.element_version_id = l_last_struct_version_id;
l_update_count := 0;
l_update_task_version_id_tbl.delete();
l_update_task_asgmt_id_tbl.delete();
l_project_assignment_id_tbl.delete();
l_resource_list_member_id_tbl.delete();
l_resource_class_flag_tbl.delete();
l_resource_class_code_tbl.delete();
l_resource_class_id_tbl.delete();
l_res_type_code_tbl.delete();
l_incur_by_res_type_tbl.delete();
l_person_id_tbl.delete();
l_job_id_tbl.delete();
l_person_type_code_tbl.delete();
l_named_role_tbl.delete();
l_bom_resource_id_tbl.delete();
l_non_labor_resource_tbl.delete();
l_inventory_item_id_tbl.delete();
l_item_category_id_tbl.delete();
l_project_role_id_tbl.delete();
l_organization_id_tbl.delete();
l_fc_res_type_code_tbl.delete();
l_expenditure_type_tbl.delete();
l_expenditure_category_tbl.delete();
l_event_type_tbl.delete();
l_revenue_category_code_tbl.delete();
l_supplier_id_tbl.delete();
l_spread_curve_id_tbl.delete();
l_etc_method_code_tbl.delete();
l_mfc_cost_type_id_tbl.delete();
l_incurred_by_res_flag_tbl.delete();
l_incur_by_res_class_code_tbl.delete();
l_incur_by_role_id_tbl.delete();
l_unit_of_measure_tbl.delete();
l_org_id_tbl.delete();
l_rate_based_flag_tbl.delete();
l_rate_expenditure_type_tbl.delete();
l_rate_func_curr_code_tbl.delete();
l_rate_incurred_by_org_id_tbl.delete();
pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task__Assignments'
,x_msg => 'j <> l_task_assignment_id_tbl.LAST + 1'
,x_log_level => li_message_level);
l_update_count := l_update_count + 1;
l_update_task_asgmt_id_tbl.extend(1);
l_update_task_version_id_tbl.extend(1);
l_update_task_asgmt_id_tbl(l_update_count) := l_task_assignment_id_tbl(j);
l_update_task_version_id_tbl(l_update_count) := l_task_version_id_tbl(j);
FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
,p_procedure_name => PA_DEBUG.G_Err_Stack );
END Update_Task_Assignments;