The following lines contain the word 'select', 'insert', 'update' or 'delete':
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
l_api_version_number CONSTANT number := 1.0;
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => null,
p_last_update_date => l_last_update_date,
p_db_last_update_date => null,
p_last_update_login => l_last_update_login,
p_create_or_update => 'CREATE') then
null;
select userenv('LANG') into l_lang
from dual;
insert into AK_FOREIGN_KEYS (
FOREIGN_KEY_NAME,
DATABASE_OBJECT_NAME,
UNIQUE_KEY_NAME,
APPLICATION_ID,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
p_foreign_key_name,
p_database_object_name,
p_unique_key_name,
p_application_id,
l_attribute_category,
l_attribute1,
l_attribute2,
l_attribute3,
l_attribute4,
l_attribute5,
l_attribute6,
l_attribute7,
l_attribute8,
l_attribute9,
l_attribute10,
l_attribute11,
l_attribute12,
l_attribute13,
l_attribute14,
l_attribute15,
l_creation_date,
l_created_by,
l_last_update_date,
l_last_updated_by,
l_last_update_login
);
FND_MESSAGE.SET_NAME('AK','AK_INSERT_FK_FAILED');
insert into AK_FOREIGN_KEYS_TL (
FOREIGN_KEY_NAME,
LANGUAGE,
FROM_TO_NAME,
FROM_TO_DESCRIPTION,
TO_FROM_NAME,
TO_FROM_DESCRIPTION,
SOURCE_LANG,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) select
p_foreign_key_name,
L.LANGUAGE_CODE,
l_from_to_name,
l_from_to_description,
l_to_from_name,
l_to_from_description,
decode(L.LANGUAGE_CODE, l_lang, L.LANGUAGE_CODE, l_lang),
l_creation_date,
l_created_by,
l_last_update_date,
l_last_updated_by,
l_last_update_login
from FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and not exists
(select NULL
from AK_FOREIGN_KEYS_TL T
where T.FOREIGN_KEY_NAME = p_foreign_key_name
and T.LANGUAGE = L.LANGUAGE_CODE);
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
l_api_version_number CONSTANT number := 1.0;
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => null,
p_last_update_date => l_last_update_date,
p_db_last_update_date => null,
p_last_update_login => l_last_update_login,
p_create_or_update => 'CREATE') then
null;
insert into AK_FOREIGN_KEY_COLUMNS (
FOREIGN_KEY_NAME,
ATTRIBUTE_APPLICATION_ID,
ATTRIBUTE_CODE,
FOREIGN_KEY_SEQUENCE,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
p_foreign_key_name,
p_attribute_application_id,
p_attribute_code,
p_foreign_key_sequence,
l_attribute_category,
l_attribute1,
l_attribute2,
l_attribute3,
l_attribute4,
l_attribute5,
l_attribute6,
l_attribute7,
l_attribute8,
l_attribute9,
l_attribute10,
l_attribute11,
l_attribute12,
l_attribute13,
l_attribute14,
l_attribute15,
l_creation_date,
l_created_by,
l_last_update_date,
l_last_updated_by,
l_last_update_login
);
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
l_attribute_category VARCHAR2(30);
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => null,
p_last_update_date => l_last_update_date,
p_db_last_update_date => null,
p_last_update_login => l_last_update_login,
p_create_or_update => 'CREATE') then
null;
insert into AK_UNIQUE_KEYS (
UNIQUE_KEY_NAME,
DATABASE_OBJECT_NAME,
APPLICATION_ID,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
p_unique_key_name,
p_database_object_name,
p_application_id,
l_attribute_category,
l_attribute1,
l_attribute2,
l_attribute3,
l_attribute4,
l_attribute5,
l_attribute6,
l_attribute7,
l_attribute8,
l_attribute9,
l_attribute10,
l_attribute11,
l_attribute12,
l_attribute13,
l_attribute14,
l_attribute15,
l_creation_date,
l_created_by,
l_last_update_date,
l_last_updated_by,
l_last_update_login
);
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
l_attribute_category VARCHAR2(30);
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => null,
p_last_update_date => l_last_update_date,
p_db_last_update_date => null,
p_last_update_login => l_last_update_login,
p_create_or_update => 'CREATE') then
null;
insert into AK_UNIQUE_KEY_COLUMNS (
UNIQUE_KEY_NAME,
ATTRIBUTE_APPLICATION_ID,
ATTRIBUTE_CODE,
UNIQUE_KEY_SEQUENCE,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
p_unique_key_name,
p_attribute_application_id,
p_attribute_code,
p_unique_key_sequence,
l_attribute_category,
l_attribute1,
l_attribute2,
l_attribute3,
l_attribute4,
l_attribute5,
l_attribute6,
l_attribute7,
l_attribute8,
l_attribute9,
l_attribute10,
l_attribute11,
l_attribute12,
l_attribute13,
l_attribute14,
l_attribute15,
l_creation_date,
l_created_by,
l_last_update_date,
l_last_updated_by,
l_last_update_login
);
procedure DELETE_FOREIGN_KEY (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_foreign_key_name IN VARCHAR2,
p_delete_cascade IN VARCHAR2
) is
cursor l_get_columns_csr is
select ATTRIBUTE_APPLICATION_ID, ATTRIBUTE_CODE
from AK_FOREIGN_KEY_COLUMNS
where FOREIGN_KEY_NAME = p_foreign_key_name;
select FLOW_APPLICATION_ID, FLOW_CODE, FROM_PAGE_APPL_ID, FROM_PAGE_CODE,
FROM_REGION_APPL_ID, FROM_REGION_CODE, TO_PAGE_APPL_ID,
TO_PAGE_CODE, TO_REGION_APPL_ID, TO_REGION_CODE
from AK_FLOW_REGION_RELATIONS
where FOREIGN_KEY_NAME = p_foreign_key_name;
l_api_name CONSTANT varchar2(30):= 'Delete_Foreign_Key';
savepoint start_delete_foreign_key;
if (p_delete_cascade = 'N') then
--
-- If we are not deleting any referencing records, we cannot
-- delete the foreign key if it is being referenced in any of
-- following tables.
--
-- AK_FOREIGN_KEY_COLUMNS
--
open l_get_columns_csr;
AK_KEY_PVT.DELETE_FOREIGN_KEY_COLUMN (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_foreign_key_name => p_foreign_key_name,
p_attribute_application_id => l_attribute_appl_id,
p_attribute_code => l_attribute_code,
p_delete_cascade => p_delete_cascade
);
AK_FLOW_PVT.DELETE_REGION_RELATION (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_return_status => l_return_status,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_flow_application_id => l_flow_application_id,
p_flow_code => l_flow_code,
p_foreign_key_name => p_foreign_key_name,
p_from_page_appl_id => l_from_page_appl_id,
p_from_page_code => l_from_page_code,
p_from_region_appl_id => l_from_region_appl_id,
p_from_region_code => l_from_region_code,
p_to_page_appl_id => l_to_page_appl_id,
p_to_page_code => l_to_page_code,
p_to_region_appl_id => l_to_region_appl_id,
p_to_region_code => l_to_region_code,
p_delete_cascade => p_delete_cascade
);
delete from ak_foreign_keys
where foreign_key_name = p_foreign_key_name;
delete from ak_foreign_keys_tl
where foreign_key_name = p_foreign_key_name;
FND_MESSAGE.SET_NAME('AK','AK_FOREIGN_KEY_DELETED');
FND_MESSAGE.SET_NAME('AK','AK_FOREIGN_KEY_NOT_DELETED');
rollback to start_delete_foreign_key;
rollback to start_delete_foreign_key;
end DELETE_FOREIGN_KEY;
procedure DELETE_FOREIGN_KEY_COLUMN (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_foreign_key_name IN VARCHAR2,
p_attribute_application_id IN NUMBER,
p_attribute_code IN VARCHAR2,
p_delete_cascade IN VARCHAR2
) is
l_api_version_number CONSTANT number := 1.0;
l_api_name CONSTANT varchar2(30):= 'Delete_Foreign_Key_Column';
savepoint start_delete_key_column;
if (p_delete_cascade = 'N') then
--
-- If we are not deleting any referencing records, we cannot
-- delete the foreign key column if it is being referenced in any of
-- following tables.
--
-- (currently none - add logic here in the future)
--
null;
delete from ak_foreign_key_columns
where foreign_key_name = p_foreign_key_name
and attribute_application_id = p_attribute_application_id
and attribute_code = p_attribute_code;
FND_MESSAGE.SET_NAME('AK','AK_FK_COLUMN_DELETED');
FND_MESSAGE.SET_NAME('AK','AK_FK_COLUMN_NOT_DELETED');
rollback to start_delete_key_column;
rollback to start_delete_key_column;
end DELETE_FOREIGN_KEY_COLUMN;
procedure DELETE_UNIQUE_KEY (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_unique_key_name IN VARCHAR2,
p_delete_cascade IN VARCHAR2
) is
cursor l_get_columns_csr is
select ATTRIBUTE_APPLICATION_ID, ATTRIBUTE_CODE
from AK_UNIQUE_KEY_COLUMNS
where UNIQUE_KEY_NAME = p_unique_key_name;
select FOREIGN_KEY_NAME
from AK_FOREIGN_KEYS
where UNIQUE_KEY_NAME = p_unique_key_name;
l_api_name CONSTANT varchar2(30):= 'Delete_Unique_Key';
savepoint start_delete_unique_key;
if (p_delete_cascade = 'N') then
--
-- If we are not deleting any referencing records, we cannot
-- delete the primary key if it is being referenced in any of
-- following tables.
--
-- AK_UNIQUE_KEY_COLUMNS
--
open l_get_columns_csr;
AK_KEY_PVT.DELETE_UNIQUE_KEY_COLUMN (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_unique_key_name => p_unique_key_name,
p_attribute_application_id => l_attribute_appl_id,
p_attribute_code => l_attribute_code,
p_delete_cascade => p_delete_cascade
);
AK_KEY_PVT.DELETE_FOREIGN_KEY (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_foreign_key_name => l_foreign_key_name,
p_delete_cascade => p_delete_cascade
);
delete from ak_unique_keys
where unique_key_name = p_unique_key_name;
FND_MESSAGE.SET_NAME('AK','AK_UNIQUE_KEY_DELETED');
FND_MESSAGE.SET_NAME('AK','AK_UNIQUE_KEY_NOT_DELETED');
rollback to start_delete_unique_key;
rollback to start_delete_unique_key;
end DELETE_UNIQUE_KEY;
procedure DELETE_UNIQUE_KEY_COLUMN (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_unique_key_name IN VARCHAR2,
p_attribute_application_id IN NUMBER,
p_attribute_code IN VARCHAR2,
p_delete_cascade IN VARCHAR2,
p_override IN VARCHAR2 := 'N'
) is
cursor l_get_fkc_csr is
select fkc.FOREIGN_KEY_NAME, fkc.ATTRIBUTE_APPLICATION_ID,
fkc.ATTRIBUTE_CODE
from AK_FOREIGN_KEY_COLUMNS fkc,
AK_FOREIGN_KEYS fk,
AK_UNIQUE_KEY_COLUMNS pkc
where fk.unique_key_name = pkc.unique_key_name
and fk.foreign_key_name = fkc.foreign_key_name
and fkc.foreign_key_sequence = pkc.unique_key_sequence
and pkc.unique_key_name = p_unique_key_name
and pkc.attribute_application_id = p_attribute_application_id
and pkc.attribute_code = p_attribute_code;
l_api_name CONSTANT varchar2(30):= 'Delete_Unique_Key_Column';
savepoint start_delete_key_column;
if (p_delete_cascade = 'N') then
--
-- If we are not deleting any referencing records, we cannot
-- delete the unique key column if it is being referenced in any of
-- following tables.
--
-- AK_FOREIGN_KEY_COLUMNS
--
open l_get_fkc_csr;
AK_KEY_PVT.DELETE_FOREIGN_KEY_COLUMN(
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_foreign_key_name => l_foreign_key_name,
p_attribute_application_id => l_attribute_appl_id,
p_attribute_code => l_attribute_code,
p_delete_cascade => p_delete_cascade
);
end if; -- /* if p_delete_cascade */
delete from ak_unique_key_columns
where unique_key_name = p_unique_key_name
and attribute_application_id = p_attribute_application_id
and attribute_code = p_attribute_code;
FND_MESSAGE.SET_NAME('AK','AK_UK_COLUMN_DELETED');
FND_MESSAGE.SET_NAME('AK','AK_UK_COLUMN_NOT_DELETED');
rollback to start_delete_key_column;
rollback to start_delete_key_column;
end DELETE_UNIQUE_KEY_COLUMN;
select 1
from AK_FOREIGN_KEYS
where FOREIGN_KEY_NAME = p_foreign_key_name;
select 1
from AK_FOREIGN_KEY_COLUMNS
where FOREIGN_KEY_NAME = p_foreign_key_name
and ATTRIBUTE_APPLICATION_ID = p_attribute_application_id
and ATTRIBUTE_CODE = p_attribute_code;
select 1
from AK_UNIQUE_KEYS
where UNIQUE_KEY_NAME = p_unique_key_name;
select 1
from AK_UNIQUE_KEY_COLUMNS
where UNIQUE_KEY_NAME = p_unique_key_name
and ATTRIBUTE_APPLICATION_ID = p_attribute_application_id
and ATTRIBUTE_CODE = p_attribute_code;
procedure UPDATE_FOREIGN_KEY (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_foreign_key_name IN VARCHAR2,
p_database_object_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_unique_key_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_application_id IN NUMBER := FND_API.G_MISS_NUM,
p_attribute_category IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute4 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute8 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute9 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute10 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute11 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute12 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute13 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute14 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute15 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_from_to_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_from_to_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_to_from_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_to_from_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_created_by IN NUMBER := FND_API.G_MISS_NUM,
p_creation_date IN DATE := FND_API.G_MISS_DATE,
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
cursor l_get_row_csr is
select *
from AK_FOREIGN_KEYS
where FOREIGN_KEY_NAME = p_foreign_key_name
for update of DATABASE_OBJECT_NAME;
select *
from AK_FOREIGN_KEYS_TL
where FOREIGN_KEY_NAME = p_foreign_key_name
and LANGUAGE = lang_parm
for update of FROM_TO_NAME;
l_api_name CONSTANT varchar2(30):= 'Update_Foreign_Key';
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
savepoint start_update_foreign_key;
select userenv('LANG') into l_lang
from dual;
p_caller => AK_ON_OBJECTS_PVT.G_UPDATE,
p_pass => p_pass
) then
--dbms_output.put_line(l_api_name || ' validation failed');
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => l_foreign_key_rec.last_updated_by,
p_last_update_date => l_last_update_date,
p_db_last_update_date => l_foreign_key_rec.last_update_date,
p_last_update_login => l_last_update_login,
p_create_or_update => 'UPDATE') then
update AK_FOREIGN_KEYS set
DATABASE_OBJECT_NAME = l_foreign_key_rec.database_object_name,
UNIQUE_KEY_NAME = l_foreign_key_rec.unique_key_name,
APPLICATION_ID = l_foreign_key_rec.application_id,
ATTRIBUTE_CATEGORY = l_foreign_key_rec.attribute_category,
ATTRIBUTE1 = l_foreign_key_rec.attribute1,
ATTRIBUTE2 = l_foreign_key_rec.attribute2,
ATTRIBUTE3 = l_foreign_key_rec.attribute3,
ATTRIBUTE4 = l_foreign_key_rec.attribute4,
ATTRIBUTE5 = l_foreign_key_rec.attribute5,
ATTRIBUTE6 = l_foreign_key_rec.attribute6,
ATTRIBUTE7 = l_foreign_key_rec.attribute7,
ATTRIBUTE8 = l_foreign_key_rec.attribute8,
ATTRIBUTE9 = l_foreign_key_rec.attribute9,
ATTRIBUTE10 = l_foreign_key_rec.attribute10,
ATTRIBUTE11 = l_foreign_key_rec.attribute11,
ATTRIBUTE12 = l_foreign_key_rec.attribute12,
ATTRIBUTE13 = l_foreign_key_rec.attribute13,
ATTRIBUTE14 = l_foreign_key_rec.attribute14,
ATTRIBUTE15 = l_foreign_key_rec.attribute15,
LAST_UPDATE_DATE = l_last_update_date,
LAST_UPDATED_BY = l_last_updated_by,
LAST_UPDATE_LOGIN = l_last_update_login
where foreign_key_name = p_foreign_key_name;
FND_MESSAGE.SET_NAME('AK','AK_FOREIGN_KEY_UPDATE_FAILED');
update AK_FOREIGN_KEYS_TL set
FROM_TO_NAME = l_foreign_key_tl_rec.from_to_name,
FROM_TO_DESCRIPTION = l_foreign_key_tl_rec.from_to_description,
TO_FROM_NAME = l_foreign_key_tl_rec.to_from_name,
TO_FROM_DESCRIPTION = l_foreign_key_tl_rec.to_from_description,
LAST_UPDATE_DATE = l_last_update_date,
LAST_UPDATED_BY = l_last_updated_by,
LAST_UPDATE_LOGIN = l_last_update_login,
SOURCE_LANG = l_lang
where foreign_key_name = p_foreign_key_name
and l_lang in (LANGUAGE, SOURCE_LANG);
FND_MESSAGE.SET_NAME('AK','AK_FOREIGN_KEY_UPDATE_FAILED');
FND_MESSAGE.SET_NAME('AK','AK_FOREIGN_KEY_UPDATED');
rollback to start_update_foreign_key;
FND_MESSAGE.SET_NAME('AK','AK_FOREIGN_KEY_NOT_UPDATED');
rollback to start_update_foreign_key;
rollback to start_update_foreign_key;
end UPDATE_FOREIGN_KEY;
procedure UPDATE_FOREIGN_KEY_COLUMN (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_foreign_key_name IN VARCHAR2,
p_attribute_application_id IN NUMBER,
p_attribute_code IN VARCHAR2,
p_foreign_key_sequence IN NUMBER := FND_API.G_MISS_NUM,
p_attribute_category IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute4 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute8 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute9 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute10 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute11 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute12 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute13 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute14 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute15 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_created_by IN NUMBER := FND_API.G_MISS_NUM,
p_creation_date IN DATE := FND_API.G_MISS_DATE,
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
cursor l_get_row_csr is
select *
from AK_FOREIGN_KEY_COLUMNS
where FOREIGN_KEY_NAME = p_foreign_key_name
and ATTRIBUTE_APPLICATION_ID = p_attribute_application_id
and ATTRIBUTE_CODE = p_attribute_code
for update of FOREIGN_KEY_SEQUENCE;
l_api_name CONSTANT varchar2(30):= 'Update_Foreign_Key_Column';
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
savepoint start_update_key_column;
p_caller => AK_ON_OBJECTS_PVT.G_UPDATE,
p_pass => p_pass
) then
raise FND_API.G_EXC_ERROR;
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => l_key_column_rec.last_updated_by,
p_last_update_date => l_last_update_date,
p_db_last_update_date => l_key_column_rec.last_update_date,
p_last_update_login => l_last_update_login,
p_create_or_update => 'UPDATE') then
update AK_FOREIGN_KEY_COLUMNS set
FOREIGN_KEY_SEQUENCE = l_key_column_rec.foreign_key_sequence,
ATTRIBUTE_CATEGORY = l_key_column_rec.attribute_category,
ATTRIBUTE1 = l_key_column_rec.attribute1,
ATTRIBUTE2 = l_key_column_rec.attribute2,
ATTRIBUTE3 = l_key_column_rec.attribute3,
ATTRIBUTE4 = l_key_column_rec.attribute4,
ATTRIBUTE5 = l_key_column_rec.attribute5,
ATTRIBUTE6 = l_key_column_rec.attribute6,
ATTRIBUTE7 = l_key_column_rec.attribute7,
ATTRIBUTE8 = l_key_column_rec.attribute8,
ATTRIBUTE9 = l_key_column_rec.attribute9,
ATTRIBUTE10 = l_key_column_rec.attribute10,
ATTRIBUTE11 = l_key_column_rec.attribute11,
ATTRIBUTE12 = l_key_column_rec.attribute12,
ATTRIBUTE13 = l_key_column_rec.attribute13,
ATTRIBUTE14 = l_key_column_rec.attribute14,
ATTRIBUTE15 = l_key_column_rec.attribute15,
LAST_UPDATE_DATE = l_last_update_date,
LAST_UPDATED_BY = l_last_updated_by,
LAST_UPDATE_LOGIN = l_last_update_login
where foreign_key_name = p_foreign_key_name
and attribute_application_id = p_attribute_application_id
and attribute_code = p_attribute_code;
FND_MESSAGE.SET_NAME('AK','AK_FK_COLUMN_UPDATE_FAILED');
FND_MESSAGE.SET_NAME('AK','AK_FK_COLUMN_UPDATED');
rollback to start_update_key_column;
FND_MESSAGE.SET_NAME('AK','AK_FK_COLUMN_NOT_UPDATED');
rollback to start_update_key_column;
rollback to start_update_key_column;
end UPDATE_FOREIGN_KEY_COLUMN;
procedure UPDATE_UNIQUE_KEY (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_unique_key_name IN VARCHAR2,
p_database_object_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_application_id IN NUMBER := FND_API.G_MISS_NUM,
p_attribute_category IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute4 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute8 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute9 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute10 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute11 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute12 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute13 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute14 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute15 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_created_by IN NUMBER := FND_API.G_MISS_NUM,
p_creation_date IN DATE := FND_API.G_MISS_DATE,
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
cursor l_get_row_csr is
select *
from AK_UNIQUE_KEYS
where UNIQUE_KEY_NAME = p_unique_key_name
for update of DATABASE_OBJECT_NAME;
l_api_name CONSTANT varchar2(30):= 'Update_Unique_Key';
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
savepoint start_update_unique_key;
p_caller => AK_ON_OBJECTS_PVT.G_UPDATE,
p_pass => p_pass
) then
--dbms_output.put_line(l_api_name || ' validation failed');
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => l_unique_key_rec.last_updated_by,
p_last_update_date => l_last_update_date,
p_db_last_update_date => l_unique_key_rec.last_update_date,
p_last_update_login => l_last_update_login,
p_create_or_update => 'UPDATE') then
update AK_UNIQUE_KEYS set
DATABASE_OBJECT_NAME = l_unique_key_rec.database_object_name,
APPLICATION_ID = l_unique_key_rec.application_id,
ATTRIBUTE_CATEGORY = l_unique_key_rec.attribute_category,
ATTRIBUTE1 = l_unique_key_rec.attribute1,
ATTRIBUTE2 = l_unique_key_rec.attribute2,
ATTRIBUTE3 = l_unique_key_rec.attribute3,
ATTRIBUTE4 = l_unique_key_rec.attribute4,
ATTRIBUTE5 = l_unique_key_rec.attribute5,
ATTRIBUTE6 = l_unique_key_rec.attribute6,
ATTRIBUTE7 = l_unique_key_rec.attribute7,
ATTRIBUTE8 = l_unique_key_rec.attribute8,
ATTRIBUTE9 = l_unique_key_rec.attribute9,
ATTRIBUTE10 = l_unique_key_rec.attribute10,
ATTRIBUTE11 = l_unique_key_rec.attribute11,
ATTRIBUTE12 = l_unique_key_rec.attribute12,
ATTRIBUTE13 = l_unique_key_rec.attribute13,
ATTRIBUTE14 = l_unique_key_rec.attribute14,
ATTRIBUTE15 = l_unique_key_rec.attribute15,
LAST_UPDATE_DATE = l_last_update_date,
LAST_UPDATED_BY = l_last_updated_by,
LAST_UPDATE_LOGIN = l_last_update_login
where unique_key_name = p_unique_key_name;
FND_MESSAGE.SET_NAME('AK','AK_UNIQUE_KEY_UPDATE_FAILED');
FND_MESSAGE.SET_NAME('AK','AK_UNIQUE_KEY_UPDATED');
rollback to start_update_unique_key;
FND_MESSAGE.SET_NAME('AK','AK_UNIQUE_KEY_NOT_UPDATED');
rollback to start_update_unique_key;
rollback to start_update_unique_key;
end UPDATE_UNIQUE_KEY;
procedure UPDATE_UNIQUE_KEY_COLUMN (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_init_msg_tbl IN BOOLEAN := FALSE,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_unique_key_name IN VARCHAR2,
p_attribute_application_id IN NUMBER,
p_attribute_code IN VARCHAR2,
p_unique_key_sequence IN NUMBER := FND_API.G_MISS_NUM,
p_attribute_category IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute4 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute8 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute9 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute10 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute11 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute12 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute13 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute14 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_attribute15 IN VARCHAR2 := FND_API.G_MISS_CHAR,
p_created_by IN NUMBER := FND_API.G_MISS_NUM,
p_creation_date IN DATE := FND_API.G_MISS_DATE,
p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
p_last_update_date IN DATE := FND_API.G_MISS_DATE,
p_last_update_login IN NUMBER := FND_API.G_MISS_NUM,
p_loader_timestamp IN DATE := FND_API.G_MISS_DATE,
p_pass IN NUMBER,
p_copy_redo_flag IN OUT NOCOPY BOOLEAN
) is
cursor l_get_row_csr is
select *
from AK_UNIQUE_KEY_COLUMNS
where UNIQUE_KEY_NAME = p_unique_key_name
and ATTRIBUTE_APPLICATION_ID = p_attribute_application_id
and ATTRIBUTE_CODE = p_attribute_code
for update of UNIQUE_KEY_SEQUENCE;
l_api_name CONSTANT varchar2(30):= 'Update_Unique_Key_Column';
l_last_update_date date;
l_last_update_login number;
l_last_updated_by number;
savepoint start_update_key_column;
p_caller => AK_ON_OBJECTS_PVT.G_UPDATE,
p_pass => p_pass
) then
--dbms_output.put_line(l_api_name || ' validation failed');
if (p_last_updated_by <> FND_API.G_MISS_NUM) then
l_last_updated_by := p_last_updated_by;
if (p_last_update_date <> FND_API.G_MISS_DATE) then
l_last_update_date := p_last_update_date;
if (p_last_update_login <> FND_API.G_MISS_NUM) then
l_last_update_login := p_last_update_login;
if AK_ON_OBJECTS_PVT.IS_UPDATEABLE(
p_loader_timestamp => p_loader_timestamp,
p_created_by => l_created_by,
p_creation_date => l_creation_date,
p_last_updated_by => l_last_updated_by,
p_db_last_updated_by => l_key_column_rec.last_updated_by,
p_last_update_date => l_last_update_date,
p_db_last_update_date => l_key_column_rec.last_update_date,
p_last_update_login => l_last_update_login,
p_create_or_update => 'UPDATE') then
update AK_UNIQUE_KEY_COLUMNS set
UNIQUE_KEY_SEQUENCE = l_key_column_rec.unique_key_sequence,
ATTRIBUTE_CATEGORY = l_key_column_rec.attribute_category,
ATTRIBUTE1 = l_key_column_rec.attribute1,
ATTRIBUTE2 = l_key_column_rec.attribute2,
ATTRIBUTE3 = l_key_column_rec.attribute3,
ATTRIBUTE4 = l_key_column_rec.attribute4,
ATTRIBUTE5 = l_key_column_rec.attribute5,
ATTRIBUTE6 = l_key_column_rec.attribute6,
ATTRIBUTE7 = l_key_column_rec.attribute7,
ATTRIBUTE8 = l_key_column_rec.attribute8,
ATTRIBUTE9 = l_key_column_rec.attribute9,
ATTRIBUTE10 = l_key_column_rec.attribute10,
ATTRIBUTE11 = l_key_column_rec.attribute11,
ATTRIBUTE12 = l_key_column_rec.attribute12,
ATTRIBUTE13 = l_key_column_rec.attribute13,
ATTRIBUTE14 = l_key_column_rec.attribute14,
ATTRIBUTE15 = l_key_column_rec.attribute15,
LAST_UPDATE_DATE = l_last_update_date,
LAST_UPDATED_BY = l_last_updated_by,
LAST_UPDATE_LOGIN = l_last_update_login
where unique_key_name = p_unique_key_name
and attribute_application_id = p_attribute_application_id
and attribute_code = p_attribute_code;
FND_MESSAGE.SET_NAME('AK','AK_UK_COLUMN_UPDATE_FAILED');
FND_MESSAGE.SET_NAME('AK','AK_UK_COLUMN_UPDATED');
rollback to start_update_key_column;
FND_MESSAGE.SET_NAME('AK','AK_UK_COLUMN_NOT_UPDATED');
rollback to start_update_key_column;
rollback to start_update_key_column;
end UPDATE_UNIQUE_KEY_COLUMN;
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE))
then
l_error := TRUE;
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE)) then
l_error := TRUE;
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE)) then
l_error := TRUE;
select database_object_name
from AK_FOREIGN_KEYS
where FOREIGN_KEY_NAME = p_foreign_key_name;
select 1
from AK_UNIQUE_KEY_COLUMNS pkc, AK_FOREIGN_KEYS fk
where fk.FOREIGN_KEY_NAME = p_foreign_key_name
and fk.UNIQUE_KEY_NAME = pkc.UNIQUE_KEY_NAME
and pkc.UNIQUE_KEY_SEQUENCE = p_foreign_key_sequence;
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE))
then
l_error := TRUE;
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE)) then
l_error := TRUE;
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE)) then
l_error := TRUE;
select database_object_name
from AK_UNIQUE_KEYS
where UNIQUE_KEY_NAME = p_unique_key_name;
select 1
from AK_UNIQUE_KEY_COLUMNS
where UNIQUE_KEY_NAME = p_unique_key_name
and UNIQUE_KEY_SEQUENCE = p_unique_key_sequence
and ( (ATTRIBUTE_APPLICATION_ID <> p_attribute_application_id)
or (ATTRIBUTE_CODE <> p_attribute_code) );
p_caller <> AK_ON_OBJECTS_PVT.G_UPDATE))
then
l_error := TRUE;
select ATTRIBUTE_CODE, ATTRIBUTE_APPLICATION_ID
from AK_FOREIGN_KEY_COLUMNS
where FOREIGN_KEY_NAME = p_foreign_key_name
and FOREIGN_KEY_SEQUENCE = p_foreign_key_sequence;
AK_KEY_PVT.DELETE_FOREIGN_KEY_COLUMN (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_foreign_key_name => p_foreign_key_name,
p_attribute_application_id => l_attribute_application_id,
p_attribute_code => l_attribute_code,
p_delete_cascade => 'Y'
);
procedure DELETE_RELATED_FOREIGN_KEY_COL (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_foreign_key_name IN VARCHAR2
) is
cursor l_get_columns_csr is
select ATTRIBUTE_APPLICATION_ID, ATTRIBUTE_CODE
from AK_FOREIGN_KEY_COLUMNS
where FOREIGN_KEY_NAME = p_foreign_key_name;
l_api_name CONSTANT varchar2(30):= 'Delete_Related_Foreign_Key_Col';
savepoint start_delete_rel_foreign_col;
AK_KEY_PVT.DELETE_FOREIGN_KEY_COLUMN (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_foreign_key_name => p_foreign_key_name,
p_attribute_application_id => csr_rec.attribute_application_id,
p_attribute_code => csr_rec.attribute_code,
p_delete_cascade => 'Y'
);
FND_MESSAGE.SET_NAME('AK','AK_FK_COLUMN_NOT_DELETED');
rollback to start_delete_rel_foreign_col;
rollback to start_delete_rel_foreign_col;
end DELETE_RELATED_FOREIGN_KEY_COL;
procedure DELETE_RELATED_UNIQUE_KEY_COL (
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_api_version_number IN NUMBER,
p_msg_count OUT NOCOPY NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_return_status OUT NOCOPY VARCHAR2,
p_unique_key_name IN VARCHAR2
) is
cursor l_get_columns_csr is
select ATTRIBUTE_APPLICATION_ID, ATTRIBUTE_CODE
from AK_UNIQUE_KEY_COLUMNS
where UNIQUE_KEY_NAME = p_unique_key_name;
l_api_name CONSTANT varchar2(30):= 'Delete_Related_Unique_Key_Col';
savepoint start_delete_rel_unique_col;
AK_KEY_PVT.DELETE_UNIQUE_KEY_COLUMN (
p_validation_level => p_validation_level,
p_api_version_number => 1.0,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_unique_key_name => p_unique_key_name,
p_attribute_application_id => csr_rec.attribute_application_id,
p_attribute_code => csr_rec.attribute_code,
p_delete_cascade => 'N',
p_override => 'Y'
);
FND_MESSAGE.SET_NAME('AK','AK_UK_COLUMN_NOT_DELETED');
rollback to start_delete_rel_unique_col;
rollback to start_delete_rel_unique_col;
end DELETE_RELATED_UNIQUE_KEY_COL;