The following lines contain the word 'select', 'insert', 'update' or 'delete':
/* This API updates the budget version and proj fp options table
for plan processing code and process_update_wbs_flag columns based on the
p_return_status value. */
PROCEDURE update_process_status( p_fp_opt_tab IN PA_PLSQL_DATATYPES.IdTabTyp,
p_return_status IN VARCHAR2,
p_project_id IN NUMBER,
p_request_id IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
x_msg_data OUT NOCOPY VARCHAR2) IS --File.Sql.39 bug 4440895
BEGIN
NULL;
END update_process_status;
/* This API internally calls update_process_status to update the
status. Exception : This API is having a autonomous COMMIT.
This API should be called only in case of unexpected errors and the process
is running thru the concurrent program. */
PROCEDURE update_process_status_auto(
p_fp_opt_tab IN PA_PLSQL_DATATYPES.IdTabTyp,
p_return_status IN VARCHAR2,
p_project_id IN NUMBER,
p_request_id IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
x_msg_data OUT NOCOPY VARCHAR2) IS --File.Sql.39 bug 4440895
BEGIN
NULL;
END update_process_status_auto;
/* This procedure updates the concurrent request id, process code and
refresh required flag in budget versions or fp options table based on the
parameter passed. If the p_proj_fp_options_id and p_budget_version_id is passed
as NULL, then the API updates all the appropriate records ( only Task level planning
records ) in both budget versions and proj fp options table.
*/
PROCEDURE set_process_flag_opt(
p_project_id IN pa_projects_all.project_id%TYPE,
p_request_id IN pa_budget_versions.request_id%TYPE,
p_process_code IN pa_budget_versions.plan_processing_code%TYPE,
p_refresh_required_flag IN VARCHAR2,
p_proj_fp_options_id IN pa_proj_fp_options.proj_fp_options_id%TYPE
DEFAULT NULL,
p_budget_version_id IN pa_budget_versions.budget_version_id%TYPE
DEFAULT NULL,
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) IS --File.Sql.39 bug 4440895
BEGIN
NULL;
/* This procedure updates the concurrent request id, process code and
refresh required flag in all the appropriate records ( only Task level planning
records ) in both budget versions and proj fp options table. This API internally
calls the API set_process_flag_opt.
*/
PROCEDURE set_process_flag_proj(
p_project_id IN pa_projects_all.project_id%TYPE,
p_request_id IN pa_budget_versions.request_id%TYPE,
p_process_code IN pa_budget_versions.plan_processing_code%TYPE,
p_refresh_required_flag IN VARCHAR2,
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) IS --File.Sql.39 bug 4440895
BEGIN
NULL;
l_task_id_tab.DELETE;
l_top_task_id_tab.DELETE;
l_fp_opt_tbl.DELETE;
SELECT proj_fp_options_id,l_tname
BULK COLLECT INTO l_fp_opt_tbl,l_tname_tbl
FROM
(
SELECT proj_fp_options_id proj_fp_options_id,'OPT' l_tname
FROM pa_proj_fp_options
WHERE
project_id = p_project_id AND
fin_plan_option_level_code IN ( 'PROJECT',
'PLAN_TYPE' ) AND
( nvl(all_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(cost_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(revenue_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) ) AND
NVL(process_update_wbs_flag,'N') = 'Y' AND
p_request_id = request_id AND
plan_processing_code = 'WUP'
UNION ALL
SELECT proj_fp_options_id proj_fp_options_id, 'BV' l_tname FROM
pa_proj_fp_options opt,
pa_budget_versions bv
WHERE
opt.project_id = p_project_id AND
opt.fin_plan_option_level_code = 'PLAN_VERSION' AND
bv.budget_version_id = opt.fin_plan_version_id AND
( nvl(opt.all_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(opt.cost_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(opt.revenue_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) ) AND
NVL(bv.process_update_wbs_flag,'N') = 'Y' AND
p_request_id = bv.request_id AND
bv.plan_processing_code = 'WUP'
);
SELECT proj_fp_options_id,l_tname
BULK COLLECT INTO l_fp_opt_tbl,l_tname_tbl
FROM
(
SELECT proj_fp_options_id proj_fp_options_id,'OPT' l_tname
FROM pa_proj_fp_options
WHERE
project_id = p_project_id AND
fin_plan_option_level_code IN ( 'PROJECT',
'PLAN_TYPE' ) AND
( nvl(all_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(cost_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(revenue_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) ) AND
NVL(process_update_wbs_flag,'N') = 'Y'
UNION ALL
SELECT proj_fp_options_id proj_fp_options_id, 'BV' l_tname FROM
pa_proj_fp_options opt,
pa_budget_versions bv
WHERE
opt.project_id = p_project_id AND
opt.fin_plan_option_level_code = 'PLAN_VERSION' AND
bv.locked_by_person_id IS NULL AND /* Bug 3091568 */
bv.budget_version_id = opt.fin_plan_version_id AND
( nvl(opt.all_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(opt.cost_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) OR
nvl(opt.revenue_fin_plan_level_code,'x' ) IN ( 'L','T','M' ) ) AND
NVL(bv.process_update_wbs_flag,'N') = 'Y'
);
SELECT task_id,top_task_id,
parent_task_id,
decode(task_id,top_task_id,'T',
decode(pa_task_utils.check_child_exists(task_id),
1,'M','L' ))
BULK COLLECT INTO
l_task_id_tab,
l_top_task_id_tab,
l_parent_task_id_tab,
l_task_level_tab
FROM pa_tasks WHERE
project_id = p_project_id
ORDER BY PA_PROJ_ELEMENTS_UTILS.GET_DISPLAY_SEQUENCE(task_id);
l_msg := 'calling pa_fp_refresh_elements_pub.update_process_status';
pa_fp_refresh_elements_pub.update_process_status(
p_fp_opt_tab => l_fp_opt_tbl,
p_return_status => x_return_status_in,
p_project_id => p_project_id,
p_request_id => p_request_id,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data );
l_msg := 'calling pa_fp_refresh_elements_pub.update_process_status_auto';
pa_fp_refresh_elements_pub.update_process_status_auto(
p_fp_opt_tab => l_fp_opt_tbl,
p_return_status => x_return_status_in,
p_project_id => p_project_id,
p_request_id => p_request_id,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data );
pa_fp_refresh_elements_pub.update_process_status_auto(
p_fp_opt_tab => l_fp_opt_tbl,
p_return_status => x_return_status_in,
p_project_id => p_project_id,
p_request_id => p_request_id,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data );