The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 'N'
INTO l_locked
FROM igw_project_fundings
WHERE rowid = p_rowid;
SELECT p.project_id
INTO x_project_id
FROM pa_lookups lk,
pa_projects p,
gms_project_types gpt,
pa_project_types pt
WHERE p.segment1 = p_project_number
AND pt.project_type = p.project_type
AND gpt.project_type = pt.project_type
AND p.project_status_code not in ('CLOSED' , 'UNAPPROVED')
AND lk.lookup_type(+) = 'ALLOWABLE FUNDING LEVEL'
AND lk.lookup_code(+) = pt.allowable_funding_level_code
AND pt.project_type_class_code in ('INDIRECT','CAPITAL')
AND gpt.sponsored_flag = 'Y'
AND p.template_flag ='N';
SELECT count(distinct t.cost_budget_entry_method_code)
INTO l_count_budget_entry_method
FROM pa_projects p,
pa_project_types t
WHERE ((p.project_id = x_project_id) OR
(p.project_id IN
(SELECT project_id
FROM igw_project_fundings
WHERE proposal_installment_id = p_proposal_installment_id
AND (p_rowid IS NULL OR rowid <> p_rowid))))
AND t.project_type = p.project_type;
SELECT task_id
INTO x_task_id
FROM pa_tasks_top_v
WHERE project_id = x_project_id
AND task_number = p_task_number;
SELECT count(1)
INTO l_count
FROM igw_project_fundings
WHERE proposal_installment_id = p_proposal_installment_id
AND project_id = l_project_id
AND ((task_id IS NOT NULL AND l_task_id IS NULL) OR
(task_id IS NULL AND l_task_id IS NOT NULL));
** Invoke Table Handler to insert data
*/
Igw_Project_Fundings_Tbh.Insert_Row
(
x_rowid => x_rowid,
x_proposal_funding_id => x_proposal_funding_id,
p_proposal_installment_id => p_proposal_installment_id,
p_project_id => l_project_id,
p_task_id => l_task_id,
p_funding_amount => p_funding_amount,
p_date_allocated => p_date_allocated,
x_return_status => l_return_status
);
PROCEDURE Update_Project_Funding
(
p_init_msg_list IN VARCHAR2 := Fnd_Api.G_False,
p_validate_only IN VARCHAR2 := Fnd_Api.G_False,
p_commit IN VARCHAR2 := Fnd_Api.G_False,
p_rowid IN VARCHAR2,
p_proposal_funding_id IN NUMBER,
p_record_version_number IN NUMBER,
p_proposal_installment_id IN NUMBER,
p_project_number IN VARCHAR2,
p_project_id IN NUMBER,
p_task_number IN VARCHAR2,
p_task_id IN NUMBER,
p_funding_amount IN NUMBER,
p_date_allocated IN DATE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_api_name CONSTANT VARCHAR2(30) := 'Update_Project_Funding';
SAVEPOINT Update_Project_Funding_Pvt;
SELECT count(1)
INTO l_count
FROM igw_project_fundings
WHERE proposal_installment_id = p_proposal_installment_id
AND project_id = l_project_id
AND rowid <> p_rowid
AND ((task_id IS NOT NULL AND l_task_id IS NULL) OR
(task_id IS NULL AND l_task_id IS NOT NULL));
** Invoke Table Handler to Update data
*/
Igw_Project_Fundings_Tbh.Update_Row
(
p_rowid => p_rowid,
p_proposal_funding_id => p_proposal_funding_id,
p_proposal_installment_id => p_proposal_installment_id,
p_project_id => l_project_id,
p_task_id => l_task_id,
p_funding_amount => p_funding_amount,
p_date_allocated => p_date_allocated,
x_return_status => x_return_status
);
ROLLBACK TO Update_Project_Funding_Pvt;
ROLLBACK TO Update_Project_Funding_Pvt;
ROLLBACK TO Update_Project_Funding_Pvt;
END Update_Project_Funding;
PROCEDURE Delete_Project_Funding
(
p_init_msg_list IN VARCHAR2 := Fnd_Api.G_False,
p_validate_only IN VARCHAR2 := Fnd_Api.G_False,
p_commit IN VARCHAR2 := Fnd_Api.G_False,
p_rowid IN VARCHAR2,
p_record_version_number IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_api_name CONSTANT VARCHAR2(30) := 'Delete_Project_Funding';
SAVEPOINT Delete_Project_Funding_Pvt;
** Invoke Table Handler to Delete data
*/
Igw_Project_Fundings_Tbh.Delete_Row
(
p_rowid => p_rowid,
x_return_status => x_return_status
);
ROLLBACK TO Delete_Project_Funding_Pvt;
ROLLBACK TO Delete_Project_Funding_Pvt;
ROLLBACK TO Delete_Project_Funding_Pvt;
END Delete_Project_Funding;