The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 'X'
INTO l_temp from dual
WHERE exists(
SELECT ci_impact_id
FROM pa_ci_impacts
WHERE ci_id = p_ci_id
AND (implementation_date IS NOT NULL
OR implemented_by IS NOT NULL));
SELECT 'X'
INTO l_temp from dual
WHERE exists(
SELECT ci_impact_id
FROM pa_ci_impacts
WHERE ci_id = p_ci_id
AND (implementation_date IS NOT NULL
OR implemented_by IS NOT NULL)
AND impact_type_code = p_impact_type_code);
SELECT 'X'
INTO l_temp from dual
WHERE exists(
SELECT ci_impact_id
FROM pa_ci_impacts
WHERE ci_id = p_ci_id
AND impact_type_code = p_impact_type_code);
SELECT 'X'
INTO l_temp from dual
WHERE exists(
SELECT ci_impact_id
FROM pa_ci_impacts
WHERE ci_id = p_ci_id
AND (implementation_date IS NULL
OR implemented_by IS NULL)
AND impact_type_code <> 'FINPLAN' /* Bug 4153868 */
);
procedure delete_all_impacts
(
p_api_version IN NUMBER := 1.0,
p_init_msg_list IN VARCHAR2 := 'T',
p_commit IN VARCHAR2 := 'F',
p_validate_only IN VARCHAR2 := 'T',
p_max_msg_count IN NUMBER := null,
p_ci_id IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
)
IS
BEGIN
-- Initialize the Error Stack
PA_DEBUG.init_err_stack('Pa_ci_impacts_util.delete_all_impacts');
DELETE FROM pa_ci_impacts
WHERE ci_id = p_ci_id;
END delete_all_impacts;
SELECT sourceImpacts.*
FROM pa_ci_impacts sourceImpacts,
pa_control_items targetCi,
pa_ci_impact_type_usage targetUsage
WHERE sourceImpacts.ci_id = p_source_ci_id
AND sourceImpacts.impact_type_code NOT IN ('FINPLAN_COST','FINPLAN_REVENUE','FINPLAN')
AND targetCi.ci_id = p_dest_ci_id
AND targetCi.ci_type_id = targetUsage.ci_type_id
AND targetUsage.impact_type_code = sourceImpacts.impact_type_code;
SELECT sourceImpacts.*
FROM pa_ci_impacts sourceImpacts,
pa_control_items sourceCi,
pa_control_items targetCi
WHERE sourceImpacts.ci_id = p_source_ci_id
and sourceImpacts.impact_type_code in ('FINPLAN', 'FINPLAN_REVENUE')
and sourceImpacts.ci_id = sourceCi.ci_id
and targetCi.ci_id = p_dest_ci_id
and sourceCi.ci_type_id = targetCi.ci_type_id;
SELECT ci_impact_id, description, implementation_comment,
implementation_date, implemented_by, record_version_number, impacted_task_id
FROM pa_ci_impacts
WHERE ci_id = p_dest_ci_id
AND impact_type_code = l_impact_type_code;
select 'N' from dual
where exists
(
select ci_impact_id from pa_ci_impacts pci
where pci.ci_id = p_source_ci_id
and pci.impact_type_code <> 'FINPLAN' /* Bug 3724520 */
and pci.impact_type_code <> 'SUPPLIER'
and not exists
(
select * from
pa_control_items pci2,
pa_ci_impact_type_usage pcit
where pci2.ci_type_id = pcit.ci_type_id
AND pci2.ci_id = p_dest_ci_id
and pcit.impact_type_code = pci.impact_type_code
)
);
select project_id from pa_control_items pci
where
pci.ci_id = p_dest_ci_id;
select project_id from pa_control_items pci
where
pci.ci_id = p_source_ci_id;
l_source.DELETE;
-- insert a new record to the new impact
pa_ci_impacts_pkg.insert_row(
l_rowid,
l_new_ci_impact_id,
p_dest_ci_id,
rec.impact_type_code,
'CI_IMPACT_PENDING',
rec.description,
NULL,
NULL,
NULL,
rec.impacted_task_id,
sysdate,
fnd_global.user_id,
Sysdate,
fnd_global.user_id,
fnd_global.login_id
);
-- update the existing one
pa_ci_impacts_pkg.update_row(
l_ci_impact_id,
p_dest_ci_id,
l_impact_type_code,
NULL,
l_temp2,
l_implementation_date,
l_implemented_by,
l_comment,
Nvl(l_task_id, rec.impacted_task_id),
sysdate,
fnd_global.user_id,
fnd_global.login_id,
l_record_ver_number
);
-- insert a new record to the new impact
pa_ci_impacts_pkg.insert_row(
l_rowid,
l_new_ci_impact_id,
p_dest_ci_id,
rec.impact_type_code,
'CI_IMPACT_PENDING',
rec.description,
NULL,
NULL,
NULL,
rec.impacted_task_id,
sysdate,
fnd_global.user_id,
Sysdate,
fnd_global.user_id,
fnd_global.login_id
);
-- update the existing one
pa_ci_impacts_pkg.update_row(
l_ci_impact_id,
p_dest_ci_id,
l_impact_type_code,
NULL,
l_temp2,
l_implementation_date,
l_implemented_by,
l_comment,
Nvl(l_task_id, rec.impacted_task_id),
sysdate,
fnd_global.user_id,
fnd_global.login_id,
l_record_ver_number
);
procedure is_delete_impact_ok
(
p_ci_impact_id IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
)
IS
CURSOR get_type_code
IS
select impact_type_code,ci_id
From pa_ci_impacts
WHERE ci_impact_id = p_ci_impact_id;
PA_CI_SUPPLIER_UTILS.IS_SI_DELETE_OK
(p_ci_id => l_ciid
,x_return_status => x_return_status
,x_msg_data => x_msg_data
,x_msg_count => x_msg_count
);
END is_delete_impact_ok;
select pci.status_code,
pctb.ci_type_class_code from pa_control_items pci,
pa_ci_types_b pctb
where pci.ci_type_id = pctb.ci_type_id
AND pci.ci_id = p_ci_id;
SELECT
pa_control_items_utils.CheckCIActionAllowed('CONTROL_ITEM',l_status_code,'CI_ALLOW_IMPACT_IMPLEMENT') from dual;
CURSOR is_update_ok
IS
SELECT
pa_control_items_utils.CheckCIActionAllowed('CONTROL_ITEM',l_status_code,'CONTROL_ITEM_ALLOW_UPDATE') from dual;
OPEN is_update_ok;
FETCH is_update_ok INTO l_ret;
CLOSE is_update_ok;
l_ret := pa_control_items_utils.CheckCIActionAllowed('CONTROL_ITEM',l_status_code,'CONTROL_ITEM_ALLOW_UPDATE');
l_ret := pa_ci_security_pkg.check_update_access(p_ci_id);
function get_update_impact_mode (
p_ci_id IN NUMBER := null
) RETURN varchar2
IS
l_temp VARCHAR2(10) := 'NONE';
select pci.status_code,
pctb.ci_type_class_code from pa_control_items pci,
pa_ci_types_b pctb
where pci.ci_type_id = pctb.ci_type_id
AND pci.ci_id = p_ci_id;
l_ret := pa_control_items_utils.CheckCIActionAllowed('CONTROL_ITEM',l_status_code,'CONTROL_ITEM_ALLOW_UPDATE');
l_ret2 := pa_ci_security_pkg.check_update_access(p_ci_id);
END get_update_impact_mode;
select pci.status_code,
pctb.ci_type_class_code from pa_control_items pci,
pa_ci_types_b pctb
where pci.ci_type_id = pctb.ci_type_id
AND pci.ci_id = p_ci_id;
function get_update_impact_mode (
p_ci_id IN NUMBER := null,
p_status_code IN VARCHAR2
) RETURN varchar2
IS
l_temp VARCHAR2(10) := 'NONE';
l_ret := pa_control_items_utils.CheckCIActionAllowed('CONTROL_ITEM',l_status_code,'CONTROL_ITEM_ALLOW_UPDATE');
l_ret2 := pa_ci_security_pkg.check_update_access(p_ci_id);
END get_update_impact_mode;