The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE Insert_Row(
p_grant_record IN Grant_Type,
x_rowid OUT NOCOPY VARCHAR2,
x_grant_id OUT NOCOPY NUMBER,
x_return_status OUT NOCOPY VARCHAR2) IS
WSH_GRANT_OVERLAP EXCEPTION;
SELECT grant_id
FROM wsh_grants
WHERE user_id = p_grant_record.user_id
AND NVL(organization_id, NVL(p_grant_record.organization_id, -1))
= NVL(p_grant_record.organization_id, NVL(organization_id, -1))
AND (
( p_grant_record.end_date IS NULL
AND p_grant_record.start_date < start_date)
OR ( end_date IS NULL
AND p_grant_record.end_date > start_date)
OR ( p_grant_record.end_date IS NULL
AND end_date IS NULL)
OR (p_grant_record.start_date BETWEEN start_date AND end_date)
OR (p_grant_record.end_date BETWEEN start_date AND end_date)
OR (start_date BETWEEN p_grant_record.start_date AND p_grant_record.end_date)
OR (end_date BETWEEN p_grant_record.start_date AND p_grant_record.end_date)
)
AND rownum = 1;
SELECT wsh_grants_s.nextval FROM DUAL;
SELECT rowid FROM WSH_GRANTS WHERE grant_id = x_grant_id;
l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'INSERT_ROW';
INSERT INTO WSH_GRANTS (
GRANT_ID,
USER_ID,
ROLE_ID,
ORGANIZATION_ID,
START_DATE,
END_DATE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN
) VALUES (
l_grant_id,
p_grant_record.USER_ID,
p_grant_record.ROLE_ID,
p_grant_record.ORGANIZATION_ID,
p_grant_record.START_DATE,
p_grant_record.END_DATE,
p_grant_record.CREATED_BY,
p_grant_record.CREATION_DATE,
p_grant_record.LAST_UPDATED_BY,
p_grant_record.LAST_UPDATE_DATE,
p_grant_record.LAST_UPDATE_LOGIN
);
wsh_util_core.default_handler('WSH_RU_GRANTS_PVT.INSERT_ROW');
END Insert_Row;
SELECT * FROM WSH_GRANTS
WHERE rowid = p_rowid
FOR UPDATE OF GRANT_ID NOWAIT;
FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
AND (l_db_rec.LAST_UPDATED_BY = p_grant_record.LAST_UPDATED_BY)
AND (l_db_rec.LAST_UPDATE_DATE = p_grant_record.LAST_UPDATE_DATE)
AND ((l_db_rec.LAST_UPDATE_LOGIN = p_grant_record.LAST_UPDATE_LOGIN)
OR ( l_db_rec.LAST_UPDATE_LOGIN IS NULL
AND p_grant_record.LAST_UPDATE_LOGIN IS NULL))
THEN
--
-- Debug Statements
--
IF l_debug_on THEN
WSH_DEBUG_SV.pop(l_module_name);
PROCEDURE Update_Row(
p_rowid IN VARCHAR2,
p_grant_record IN Grant_Type,
x_return_status OUT NOCOPY VARCHAR2) IS
WSH_GRANT_OVERLAP EXCEPTION;
SELECT grant_id
FROM wsh_grants
WHERE user_id = p_grant_record.user_id
AND NVL(organization_id, NVL(p_grant_record.organization_id, -1))
= NVL(p_grant_record.organization_id, NVL(organization_id, -1))
AND (
( p_grant_record.end_date IS NULL
AND p_grant_record.start_date < start_date)
OR ( end_date IS NULL
AND p_grant_record.end_date > start_date)
OR ( p_grant_record.end_date IS NULL
AND end_date IS NULL)
OR (p_grant_record.start_date BETWEEN start_date AND end_date)
OR (p_grant_record.end_date BETWEEN start_date AND end_date)
OR (start_date BETWEEN p_grant_record.start_date AND p_grant_record.end_date)
OR (end_date BETWEEN p_grant_record.start_date AND p_grant_record.end_date)
)
AND grant_id <> p_grant_record.grant_id
AND rownum = 1;
l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'UPDATE_ROW';
UPDATE WSH_GRANTS
SET
USER_ID = p_grant_record.USER_ID,
ROLE_ID = p_grant_record.ROLE_ID,
ORGANIZATION_ID = p_grant_record.ORGANIZATION_ID,
START_DATE = p_grant_record.START_DATE,
END_DATE = p_grant_record.END_DATE,
CREATED_BY = p_grant_record.CREATED_BY,
CREATION_DATE = p_grant_record.CREATION_DATE,
LAST_UPDATED_BY = p_grant_record.LAST_UPDATED_BY,
LAST_UPDATE_DATE = p_grant_record.LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN = p_grant_record.LAST_UPDATE_LOGIN
WHERE GRANT_ID = p_grant_record.GRANT_ID;
FND_MESSAGE.Set_Name('WSH', 'WSH_RU_GRANTS_OVERLAP_UPDATE');
wsh_util_core.default_handler('WSH_RU_GRANTS_PVT.UPDATE_ROW');
END Update_Row;
PROCEDURE Delete_Row(
p_rowid IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2) IS
--
l_debug_on BOOLEAN;
l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'DELETE_ROW';
DELETE FROM WSH_GRANTS
WHERE rowid = p_rowid;
wsh_util_core.default_handler('WSH_RU_GRANTS_PVT.DELETE_ROW');
END Delete_Row;