The following lines contain the word 'select', 'insert', 'update' or 'delete':
| PROCEDURE Insert_Row |
+=======================================================================*/
PROCEDURE Insert_Row
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
p_commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_return_status OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
--
p_row_id IN OUT NOCOPY VARCHAR2,
p_gl_budget_set_id IN OUT NOCOPY NUMBER,
p_gl_budget_set_name IN VARCHAR2,
p_set_of_books_id IN NUMBER,
p_last_update_date IN DATE,
p_last_updated_by IN NUMBER,
p_last_update_login IN NUMBER,
p_created_by IN NUMBER,
p_creation_date IN DATE ,
p_context IN VARCHAR2,
p_attribute1 IN VARCHAR2,
p_attribute2 IN VARCHAR2,
p_attribute3 IN VARCHAR2,
p_attribute4 IN VARCHAR2,
p_attribute5 IN VARCHAR2,
p_attribute6 IN VARCHAR2,
p_attribute7 IN VARCHAR2,
p_attribute8 IN VARCHAR2,
p_attribute9 IN VARCHAR2,
p_attribute10 IN VARCHAR2
)
IS
--
l_api_name CONSTANT VARCHAR2(30) := 'Insert_Row';
SELECT rowid
FROM psb_gl_budget_sets
WHERE gl_budget_set_id = p_gl_budget_set_id ;
SELECT psb_gl_budget_sets_s.NEXTVAL
FROM dual ;
SAVEPOINT Insert_Row_Pvt ;
INSERT INTO psb_gl_budget_sets
(
gl_budget_set_id ,
gl_budget_set_name ,
set_of_books_id ,
last_update_date ,
last_updated_by ,
last_update_login ,
created_by ,
creation_date ,
context ,
attribute1 ,
attribute2 ,
attribute3 ,
attribute4 ,
attribute5 ,
attribute6 ,
attribute7 ,
attribute8 ,
attribute9 ,
attribute10 )
VALUES
(
p_gl_budget_set_id ,
p_gl_budget_set_name ,
p_set_of_books_id ,
p_last_update_date ,
p_last_updated_by ,
p_last_update_login ,
p_created_by ,
p_creation_date ,
p_context ,
p_attribute1 ,
p_attribute2 ,
p_attribute3 ,
p_attribute4 ,
p_attribute5 ,
p_attribute6 ,
p_attribute7 ,
p_attribute8 ,
p_attribute9 ,
p_attribute10
);
ROLLBACK TO Insert_Row_Pvt ;
ROLLBACK TO Insert_Row_Pvt ;
ROLLBACK TO Insert_Row_Pvt ;
END Insert_Row;
SELECT *
FROM psb_gl_budget_sets
WHERE rowid = p_row_id
FOR UPDATE of gl_budget_set_id NOWAIT;
FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
| PROCEDURE Update_Row |
+==========================================================================*/
PROCEDURE Update_Row
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
p_commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_return_status OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
--
p_row_id IN VARCHAR2,
p_gl_budget_set_name IN VARCHAR2,
p_set_of_books_id IN NUMBER,
p_last_update_date IN DATE,
p_last_updated_by IN NUMBER,
p_last_update_login IN NUMBER,
p_context IN VARCHAR2,
p_attribute1 IN VARCHAR2,
p_attribute2 IN VARCHAR2,
p_attribute3 IN VARCHAR2,
p_attribute4 IN VARCHAR2,
p_attribute5 IN VARCHAR2,
p_attribute6 IN VARCHAR2,
p_attribute7 IN VARCHAR2,
p_attribute8 IN VARCHAR2,
p_attribute9 IN VARCHAR2,
p_attribute10 IN VARCHAR2
)
IS
--
l_api_name CONSTANT VARCHAR2(30) := 'Update_Row';
SAVEPOINT Update_Row_Pvt ;
UPDATE psb_gl_budget_sets
SET gl_budget_set_name = p_gl_budget_set_name ,
set_of_books_id = p_set_of_books_id ,
last_update_date = p_last_update_date ,
last_updated_by = p_last_updated_by ,
last_update_login = p_last_update_login ,
context = p_Context ,
attribute1 = p_Attribute1 ,
attribute2 = p_Attribute2 ,
attribute3 = p_Attribute3 ,
attribute4 = p_Attribute4 ,
attribute5 = p_Attribute5 ,
attribute6 = p_Attribute6 ,
attribute7 = p_Attribute7 ,
attribute8 = p_Attribute8 ,
attribute9 = p_Attribute9 ,
attribute10 = p_Attribute10
WHERE rowid = p_row_id;
ROLLBACK TO Update_Row_Pvt ;
ROLLBACK TO Update_Row_Pvt ;
ROLLBACK TO Update_Row_Pvt ;
END Update_Row;
| PROCEDURE Delete_Row |
+==========================================================================*/
PROCEDURE Delete_Row
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
p_commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_return_status OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
--
p_row_id IN VARCHAR2
)
IS
--
l_api_name CONSTANT VARCHAR2(30) := 'Delete_Row';
SAVEPOINT Delete_Row_Pvt ;
SELECT gl_budget_set_id INTO l_gl_budget_set_id
FROM psb_gl_budget_sets
WHERE rowid = p_row_id ;
SELECT ROWID
FROM psb_gl_budgets
WHERE gl_budget_set_id = l_gl_budget_set_id
)
LOOP
--
PSB_GL_Budget_Pvt.Delete_Row
(
p_api_version => 1.0 ,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
p_validation_level => FND_API.G_VALID_LEVEL_FULL,
p_return_status => l_return_status,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
--
p_row_id => l_budget_rec.rowid
);
DELETE psb_gl_budget_sets
WHERE rowid = p_row_id;
ROLLBACK TO Delete_Row_Pvt ;
ROLLBACK TO Delete_Row_Pvt ;
ROLLBACK TO Delete_Row_Pvt ;
END Delete_Row;
SELECT '1'
FROM psb_gl_budget_sets
WHERE gl_budget_set_name = p_gl_budget_set_name
AND set_of_books_id = p_set_of_books_id
AND (
p_row_id IS NULL
OR
rowid <> p_row_id
);
l_api_name CONSTANT VARCHAR2(30) := 'Delete_Row';
SELECT gl_budget_id ,
gl_budget_name ,
start_date ,
end_date ,
dual_posting_type
FROM psb_gl_budgets_v
WHERE gl_budget_set_id = p_gl_budget_set_id
)
LOOP
l_start_date := l_gl_budget_rec.start_date ;
SELECT pba.account_position_set_id,
pba.code_combination_id
FROM psb_set_relations rel ,
psb_budget_accounts pba
WHERE rel.gl_budget_id = l_gl_budget_rec.gl_budget_id
AND pba.account_position_set_id = rel.account_position_set_id
)
LOOP
-- Check whether current CCID for the current gl_budget_id belongs to
-- any other gl_budget_id for the same period and same dual_posting_type
-- Note that if dual_posting_type is NULL, it is equivant to being
-- Permanent.
-- If yes, we have found an overlap. This is to be
FOR l_dup_gl_budget_id IN
(
SELECT gb.gl_budget_name
FROM psb_gl_budgets_v gb ,
psb_set_relations rel ,
psb_budget_accounts pba
WHERE gb.gl_budget_set_id = p_gl_budget_set_id
AND gb.gl_budget_id <> l_gl_budget_rec.gl_budget_id
AND rel.gl_budget_id = gb.gl_budget_id
AND pba.account_position_set_id = rel.account_position_set_id
AND pba.code_combination_id = l_ccid_rec.code_combination_id
AND (
( l_start_date BETWEEN gb.start_date AND gb.end_date )
OR
( l_end_date BETWEEN gb.start_date AND gb.end_date )
OR
(
l_start_date < gb.start_date
AND
l_end_date > gb.end_date
)
)
AND NVL( l_gl_budget_rec.dual_posting_type, 'P' ) =
NVL( gb.dual_posting_type, 'P' )
)
LOOP
p_validation_status := FND_API.G_RET_STS_ERROR;
SELECT 1
FROM dual where exists(
SELECT 1 FROM PSB_BUDGET_REVISIONS
WHERE gl_budget_set_id = p_gl_budget_set_id);
SELECT 1
FROM dual where exists(
SELECT 1 FROM PSB_WORKSHEETS
WHERE gl_budget_set_id = p_gl_budget_set_id);