The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1 FROM pa_cost_plus_structures
WHERE cost_plus_structure = cp_structure);
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1 FROM pa_cost_base_cost_codes cbicc,
pa_cost_base_exp_types cbet
WHERE cbicc.cost_plus_structure = cp_structure
OR cbet.cost_plus_structure = cp_structure);
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1 FROM pa_ind_rate_sch_revisions irsr
WHERE irsr.cost_plus_structure = cp_structure);
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1
FROM pa_ind_rate_schedules
WHERE cost_plus_structure = cp_structure);
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1
FROM pa_cost_base_cost_codes
WHERE cost_plus_structure = cp_structure);
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1
FROM pa_cost_plus_structures
WHERE default_for_override_sch_flag = 'Y');
SELECT 1 INTO dummy FROM sys.dual WHERE NOT EXISTS
(SELECT 1 FROM pa_cost_plus_structures cps
WHERE cps.default_for_override_sch_flag = 'Y'
AND ( -- case A
( (TRUNC(cps.start_date_active)
BETWEEN
TRUNC(start_date) AND
TRUNC(NVL(end_date, cps.start_date_active)))
and ( end_date IS NULL
or (TRUNC(NVL(cps.end_date_active, end_date))
BETWEEN
TRUNC(start_date) AND
TRUNC(end_date)))
)
-- case C
or ( (TRUNC(cps.start_date_active)
BETWEEN
TRUNC(start_date) AND
TRUNC(NVL(end_date, cps.start_date_active)))
and (TRUNC(end_date)
BETWEEN
TRUNC(cps.start_date_active) AND
TRUNC(NVL(cps.end_date_active, end_date)))
)
-- case D
or ( (TRUNC(start_date)
BETWEEN
TRUNC(cps.start_date_active) AND
TRUNC(NVL(cps.end_date_active, end_date)))
and (TRUNC(end_date)
BETWEEN
TRUNC(cps.start_date_active) AND
TRUNC(NVL(cps.end_date_active, end_date)))
)
-- case E
or ( (TRUNC(start_date)
BETWEEN
TRUNC(cps.start_date_active) AND
TRUNC(NVL(cps.end_date_active, start_date)))
and ( cps.end_date_active IS NULL
or TRUNC(cps.end_date_active)
BETWEEN
TRUNC(start_date) AND
TRUNC(NVL(end_date, cps.end_date_active)))
)
)
);
UPDATE pa_cost_plus_structures SET default_for_override_sch_flag = 'N'
WHERE cost_plus_structure = cp_structure;
procedure update_precedence(cp_structure IN varchar2,
status IN OUT NOCOPY number) is
begin
status := 0;
UPDATE pa_cost_base_cost_codes
SET precedence = 1
WHERE cost_plus_structure = cp_structure;
end update_precedence;
procedure cascade_delete(cp_structure IN varchar2)
is
begin
DELETE pa_cost_base_cost_codes
WHERE cost_plus_structure = cp_structure;
DELETE pa_cost_base_exp_types
WHERE cost_plus_structure = cp_structure;
end cascade_delete;
procedure cascade_update(old_cp_structure IN varchar2,
new_cp_structure IN varchar2)
is
begin
UPDATE pa_cost_base_cost_codes
SET cost_plus_structure = new_cp_structure
WHERE cost_plus_structure = old_cp_structure;
UPDATE pa_cost_base_exp_types
SET cost_plus_structure = new_cp_structure
WHERE cost_plus_structure = old_cp_structure;
end cascade_update;