The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure insert_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_bvid IN NUMBER,
p_dc_line_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_ci_id IN NUMBER,
p_project_id IN NUMBER,
p_task_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_expenditure_type_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_rlmi_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_unit_of_measure_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_currency_code_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_planning_resource_rate_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_quantity_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_raw_cost_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_burdened_cost_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_raw_cost_rate_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_burden_cost_rate_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_resource_assignment_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT SYSTEM.PA_NUM_TBL_TYPE(),
p_effective_from_tbl IN SYSTEM.PA_DATE_TBL_TYPE DEFAULT SYSTEM.PA_DATE_TBL_TYPE(),
p_effective_to_tbl IN SYSTEM.PA_DATE_TBL_TYPE DEFAULT SYSTEM.PA_DATE_TBL_TYPE(),
p_change_reason_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_30_TBL_TYPE(),
p_change_description IN SYSTEM.PA_VARCHAR2_2000_TBL_TYPE DEFAULT SYSTEM.PA_VARCHAR2_2000_TBL_TYPE()) IS
l_api_version number := 1;
l_api_name CONSTANT VARCHAR2(30) := 'PUB.insert_row';
select prac.resource_assignment_id,
planning_start_date,
planning_end_date,
prac.txn_average_raw_cost_rate planning_resource_rate,
prac.txn_average_burden_cost_rate burden_cost_rate
from pa_resource_assignments pra, pa_resource_asgn_curr prac
where pra.budget_version_id = c_bvId
and pra.task_id = c_task_id
and pra.resource_list_member_id = c_rlmi
and prac.resource_assignment_id = pra.resource_assignment_id;
savepoint pub_insert_row;
select pa_ci_dir_cost_details_s.nextval
into l_dc_line_id_tbl(i)
from dual;
p_resource_assignment_id_tbl are not available during insert
*/
l_PaCiDirCostDetTbl(i).burdened_cost := NULL;
l_PaCiDirCostDetTbl(i).last_update_date := sysdate;
l_PaCiDirCostDetTbl(i).last_update_by := FND_GLOBAL.USER_ID;
l_PaCiDirCostDetTbl(i).last_update_login := FND_GLOBAL.LOGIN_ID;
pa_ci_dir_cost_pvt.insert_row(
p_api_version => l_api_version,
p_init_msg_list => FND_API.G_FALSE,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
PPaCiDirectCostDetailsTbl => l_PaCiDirCostDetTbl,
XPaCiDirectCostDetailsTbl => x_PaCiDirCostDetTbl);
p_action_type => 'INSERT',
p_bvid => p_bvid,
p_ci_id => p_ci_id,
p_line_id_tbl => l_dc_line_id_tbl,
p_project_id => p_project_id,
p_task_id_tbl => p_task_id_tbl,
p_currency_code_tbl => p_currency_code_tbl,
p_rlmi_id_tbl => p_rlmi_id_tbl,
p_res_assgn_id_tbl => p_resource_assignment_id_tbl,
p_quantity_tbl => p_quantity_tbl,
p_raw_cost_tbl => p_raw_cost_tbl
);
update pa_ci_direct_cost_details pcdc
set (resource_assignment_id, effective_from, effective_to,
planning_resource_rate, burden_cost_rate,
raw_cost, burdened_cost) =
(select prac.resource_assignment_id,
decode(pcdc.effective_from,
null,pra.planning_start_date, pcdc.effective_from),
decode(pcdc.effective_to,
null, pra.planning_end_date, pcdc.effective_to),
prac.txn_average_raw_cost_rate,
prac.txn_average_burden_cost_rate,
decode(pcdc.quantity, null, pcdc.raw_cost,
pcdc.quantity * prac.txn_average_raw_cost_rate),
decode(pcdc.quantity, null,
pcdc.raw_cost * prac.txn_average_burden_cost_rate,
pcdc.quantity * prac.txn_average_burden_cost_rate)
from pa_resource_assignments pra, pa_resource_asgn_curr prac
where pra.budget_version_id = p_bvId
and pra.task_id = pcdc.task_id
and pra.resource_list_member_id = pcdc.resource_list_member_id
and prac.txn_currency_code = pcdc.currency_code
and prac.resource_assignment_id = pra.resource_assignment_id)
where ci_id = p_ci_id
and dc_line_id = l_dc_line_id_tbl(i);
ROLLBACK TO SAVEPOINT PUB_INSERT_ROW;
ROLLBACK TO SAVEPOINT PUB_INSERT_ROW;
ROLLBACK TO SAVEPOINT PUB_INSERT_ROW;
end insert_row;
PROCEDURE update_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_bvid IN NUMBER,
p_dc_line_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_ci_id IN NUMBER,
p_project_id IN NUMBER,
p_task_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_expenditure_type_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_rlmi_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_unit_of_measure_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_currency_code_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_quantity_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_planning_resource_rate_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_raw_cost_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_burdened_cost_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_raw_cost_rate_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_burden_cost_rate_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_resource_assignment_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_effective_from_tbl IN SYSTEM.PA_DATE_TBL_TYPE,
p_effective_to_tbl IN SYSTEM.PA_DATE_TBL_TYPE,
p_change_reason_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_change_description IN SYSTEM.PA_VARCHAR2_2000_TBL_TYPE) IS
l_api_version number := 1;
l_api_name CONSTANT VARCHAR2(30) := 'Pub.update_row';
select task_id, resource_list_member_id,
expenditure_type, nvl(quantity, -1) quantity,
nvl(raw_cost, -1) raw_cost,
effective_from, effective_to
from pa_ci_direct_cost_details
where ci_id = p_ci_id
and dc_line_id = c_dc_line_id;
budget_impact_tbl.delete;
SAVEPOINT PUB_UPDATE_ROW;
pa_ci_dir_cost_pvt.update_row(
p_api_version => l_api_version,
p_init_msg_list => FND_API.G_FALSE,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
PPaCiDirectCostDetailsTbl => l_PaCiDirCostDetTbl,
XPaCiDirectCostDetailsTbl => x_PaCiDirCostDetTbl);
p_action_type => 'UPDATE',
p_bvid => p_bvid,
p_ci_id => p_ci_id,
p_line_id_tbl => b_dc_line_id_tbl,
p_project_id => p_project_id,
p_task_id_tbl => b_task_id_tbl,
p_currency_code_tbl => b_currency_code_tbl,
p_rlmi_id_tbl => b_rlmi_id_tbl,
p_res_assgn_id_tbl => b_res_assgn_id_tbl,
p_quantity_tbl => b_quantity_tbl,
p_raw_cost_tbl => b_raw_cost_tbl
);
update pa_ci_direct_cost_details pcdc
set ( raw_cost, burdened_cost) =
(select decode(pcdc.quantity, null, pcdc.raw_cost,
pcdc.quantity * prac.txn_average_raw_cost_rate),
decode(pcdc.quantity, null,
pcdc.raw_cost * prac.txn_average_burden_cost_rate,
pcdc.quantity * prac.txn_average_burden_cost_rate)
from pa_resource_assignments pra, pa_resource_asgn_curr prac
where pra.budget_version_id = p_bvId
and pra.resource_assignment_id = pcdc.resource_assignment_id
and prac.resource_assignment_id = pra.resource_assignment_id
and prac.txn_currency_code = pcdc.currency_code)
where ci_id = p_ci_id
and dc_line_id = b_dc_line_id_tbl(i);
update pa_ci_direct_cost_details pcdc
set raw_cost = decode(pcdc.quantity, null, pcdc.raw_cost,
pcdc.quantity * pcdc.planning_resource_rate),
burdened_cost = decode(pcdc.quantity, null,
pcdc.raw_cost * pcdc.burden_cost_rate,
pcdc.quantity * pcdc.burden_cost_rate)
where ci_id = p_ci_id
and dc_line_id = b_dc_line_id_tbl(i);
ROLLBACK TO SAVEPOINT PUB_UPDATE_ROW;
ROLLBACK TO SAVEPOINT PUB_UPDATE_ROW;
ROLLBACK TO SAVEPOINT PUB_UPDATE_ROW;
end update_row;
PROCEDURE delete_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_dc_line_id_TBL IN SYSTEM.PA_NUM_TBL_TYPE,
p_ci_id IN NUMBER,
p_project_id IN NUMBER,
p_task_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_expenditure_type_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
p_rlmi_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE,
p_currency_code_tbl IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE) IS
l_api_version number := 1;
l_api_name CONSTANT VARCHAR2(30) := 'Pub.delete_row';
select budget_version_id
from pa_budget_versions
where ci_id = c_ci_id
and version_type in ('COST', 'ALL');
SAVEPOINT PUB_DELETE_ROW;
pa_ci_dir_cost_pvt.delete_row(
p_api_version => l_api_version,
p_init_msg_list => FND_API.G_FALSE,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
PPaCiDirectCostDetailsTbl => l_PaCiDirCostDetTbl);
p_action_type => 'DELETE',
p_bvid => l_bvid,
p_ci_id => p_ci_id,
p_line_id_tbl => p_dc_line_id_tbl,
p_project_id => p_project_id,
p_task_id_tbl => p_task_id_tbl,
p_currency_code_tbl => p_currency_code_tbl,
p_rlmi_id_tbl => p_rlmi_id_tbl,
p_res_assgn_id_tbl => l_resource_assignment_id_tbl
);
ROLLBACK TO SAVEPOINT PUB_DELETE_ROW;
ROLLBACK TO SAVEPOINT PUB_DELETE_ROW;
ROLLBACK TO SAVEPOINT PUB_DELETE_ROW;
end delete_row;