The following lines contain the word 'select', 'insert', 'update' or 'delete':
select '1'
into l_exists
from igw_budget_periods
where proposal_id = p_proposal_id
and version_id = p_version_id
and budget_period_id = p_budget_period_id;
select start_date, end_date
from igw_budgets
where proposal_id = p_proposal_id
and version_id = p_version_id;
select min(pbpd.start_date)
, max(pbpd.end_date)
from igw_budget_details pbd
, igw_budget_personnel_details pbpd
where pbd.proposal_id = p_proposal_id
and pbd.version_id = p_version_id
and pbd.budget_period_id = p_budget_period_id
and pbd.line_item_id = pbpd.line_item_id;
select '1'
into x_dummy
from igw_budget_periods
where proposal_id = p_proposal_id
and version_id = p_version_id
and p_date BETWEEN start_date and end_date
and budget_period_id <> p_budget_period_id
and rownum < 2;
igw_budget_periods_tbh.insert_row(
p_proposal_id => p_proposal_id
,p_version_id => p_version_id
,p_budget_period_id => p_budget_period_id
,p_start_date => p_start_date
,p_end_date => p_end_date
,p_total_cost => l_total_cost
,p_total_direct_cost => p_total_direct_cost
,p_total_indirect_cost => p_total_indirect_cost
,p_cost_sharing_amount => p_cost_sharing_amount
,p_underrecovery_amount => p_underrecovery_amount
,p_total_cost_limit => p_total_cost_limit
,p_program_income => p_program_income
,p_program_income_source => p_program_income_source
,x_rowid => x_rowid
,x_return_status => l_return_status);
procedure update_budget_period
(p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
,p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
,p_proposal_id NUMBER
,p_version_id NUMBER
,p_budget_period_id NUMBER
,p_start_date DATE
,p_end_date DATE
,p_total_cost NUMBER
,p_total_direct_cost NUMBER
,p_total_indirect_cost NUMBER
,p_cost_sharing_amount NUMBER
,p_underrecovery_amount NUMBER
,p_total_cost_limit NUMBER
,p_program_income VARCHAR2
,p_program_income_source VARCHAR2
,p_record_version_number IN NUMBER
,p_rowid IN ROWID
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2) IS
l_api_name VARCHAR2(30) := 'UPDATE_BUDGET_PERIOD';
SAVEPOINT update_budget_version;
select budget_period_id
into l_orig_budget_period_id
from igw_budget_periods
where rowid = p_rowid;
SELECT 'x' INTO l_dummy
FROM igw_budget_periods
WHERE ((proposal_id = p_proposal_id AND version_id = p_version_id
AND budget_period_id = p_budget_period_id)
OR rowid = p_rowid)
AND record_version_number = p_record_version_number;
igw_budget_periods_tbh.update_row(
p_rowid => p_rowid
,p_proposal_id => p_proposal_id
,p_version_id => p_version_id
,p_budget_period_id => p_budget_period_id
,p_start_date => p_start_date
,p_end_date => p_end_date
,p_total_cost => l_total_cost
,p_total_direct_cost => p_total_direct_cost
,p_total_indirect_cost => p_total_indirect_cost
,p_cost_sharing_amount => p_cost_sharing_amount
,p_underrecovery_amount => p_underrecovery_amount
,p_total_cost_limit => p_total_cost_limit
,p_program_income => p_program_income
,p_program_income_source => p_program_income_source
,p_record_version_number => p_record_version_number
,x_return_status => l_return_status);
update igw_budget_details
set budget_period_id = p_budget_period_id
where proposal_id = p_proposal_id
and version_id = p_version_id
and budget_period_id = l_orig_budget_period_id;
update igw_budget_details_cal_amts
set budget_period_id = p_budget_period_id
where proposal_id = p_proposal_id
and version_id = p_version_id
and budget_period_id = l_orig_budget_period_id;
update igw_budget_personnel_details
set budget_period_id = p_budget_period_id
where proposal_id = p_proposal_id
and version_id = p_version_id
and budget_period_id = l_orig_budget_period_id;
ROLLBACK TO update_budget_version;
ROLLBACK TO update_budget_version;
ROLLBACK TO update_budget_version;
END; --UPDATE BUDGET VERSIONS
procedure delete_budget_period
(p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
,p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
,p_proposal_id NUMBER
,p_version_id NUMBER
,p_budget_period_id NUMBER
,p_record_version_number IN NUMBER
,p_rowid IN ROWID
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2) is
l_api_name VARCHAR2(30) := 'DELETE_BUDGET_PERIOD';
SAVEPOINT delete_budget_version;
SELECT 'x' INTO l_dummy
FROM igw_budget_periods
WHERE ((proposal_id = p_proposal_id AND version_id = p_version_id
AND budget_period_id = p_budget_period_id)
OR rowid = p_rowid)
AND record_version_number = p_record_version_number;
igw_budget_periods_tbh.delete_row (
p_rowid => p_rowid,
p_proposal_id => p_proposal_id,
p_version_id => p_version_id,
p_budget_period_id => p_budget_period_id,
p_record_version_number => p_record_version_number,
x_return_status => l_return_status);
p_delete_level => 'BUDGET_PERIOD'
,p_proposal_id => p_proposal_id
,p_version_id => p_version_id
,p_budget_period_id => p_budget_period_id
,x_return_status => l_return_status);
ROLLBACK TO delete_budget_version;
ROLLBACK TO delete_budget_version;
ROLLBACK TO delete_budget_version;
END; --DELETE BUDGET VERSION