The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_APPLICATION_ID in NUMBER,
X_CONCURRENT_QUEUE_ID in NUMBER,
X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
X_CONCURRENT_QUEUE_NAME in VARCHAR2,
X_PROCESSOR_APPLICATION_ID in NUMBER,
X_CONCURRENT_PROCESSOR_ID in NUMBER,
X_MAX_PROCESSES in NUMBER,
X_RUNNING_PROCESSES in NUMBER,
X_CACHE_SIZE in NUMBER,
X_MIN_PROCESSES in NUMBER,
X_TARGET_PROCESSES in NUMBER,
X_TARGET_NODE in VARCHAR2,
X_TARGET_QUEUE in VARCHAR2,
X_SLEEP_SECONDS in NUMBER,
X_CONTROL_CODE in VARCHAR2,
X_DIAGNOSTIC_LEVEL in VARCHAR2,
X_MANAGER_TYPE in VARCHAR2,
X_NODE_NAME in VARCHAR2,
X_NODE_NAME2 in VARCHAR2,
X_OS_QUEUE in VARCHAR2,
X_OS_QUEUE2 in VARCHAR2,
X_DATA_GROUP_ID in NUMBER,
X_RESTART_TYPE in VARCHAR2,
X_RESTART_INTERVAL in NUMBER,
X_ATTRIBUTE_CATEGORY in VARCHAR2,
X_ATTRIBUTE in VARCHAR2,
X_ATTRIBUTE1 in VARCHAR2,
X_ATTRIBUTE2 in VARCHAR2,
X_ATTRIBUTE3 in VARCHAR2,
X_ATTRIBUTE4 in VARCHAR2,
X_ATTRIBUTE5 in VARCHAR2,
X_ATTRIBUTE6 in VARCHAR2,
X_ATTRIBUTE7 in VARCHAR2,
X_ATTRIBUTE8 in VARCHAR2,
X_ATTRIBUTE9 in VARCHAR2,
X_ATTRIBUTE10 in VARCHAR2,
X_ATTRIBUTE11 in VARCHAR2,
X_ATTRIBUTE12 in VARCHAR2,
X_ENABLED_FLAG in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_USER_CONCURRENT_QUEUE_NAME in VARCHAR2,
X_CREATION_DATE in DATE,
X_CREATED_BY in NUMBER,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER
) is
cursor C is select ROWID from FND_CONCURRENT_QUEUES
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
;
insert into FND_CONCURRENT_QUEUES (
RESOURCE_CONSUMER_GROUP,
APPLICATION_ID,
CONCURRENT_QUEUE_ID,
CONCURRENT_QUEUE_NAME,
PROCESSOR_APPLICATION_ID,
CONCURRENT_PROCESSOR_ID,
MAX_PROCESSES,
RUNNING_PROCESSES,
CACHE_SIZE,
MIN_PROCESSES,
TARGET_PROCESSES,
TARGET_NODE,
TARGET_QUEUE,
SLEEP_SECONDS,
CONTROL_CODE,
DIAGNOSTIC_LEVEL,
MANAGER_TYPE,
NODE_NAME,
NODE_NAME2,
OS_QUEUE,
OS_QUEUE2,
DATA_GROUP_ID,
RESTART_TYPE,
RESTART_INTERVAL,
ATTRIBUTE_CATEGORY,
ATTRIBUTE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ENABLED_FLAG,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
X_RESOURCE_CONSUMER_GROUP,
X_APPLICATION_ID,
X_CONCURRENT_QUEUE_ID,
X_CONCURRENT_QUEUE_NAME,
X_PROCESSOR_APPLICATION_ID,
X_CONCURRENT_PROCESSOR_ID,
X_MAX_PROCESSES,
X_RUNNING_PROCESSES,
X_CACHE_SIZE,
X_MIN_PROCESSES,
X_TARGET_PROCESSES,
X_TARGET_NODE,
X_TARGET_QUEUE,
X_SLEEP_SECONDS,
X_CONTROL_CODE,
X_DIAGNOSTIC_LEVEL,
X_MANAGER_TYPE,
X_NODE_NAME,
X_NODE_NAME2,
X_OS_QUEUE,
X_OS_QUEUE2,
X_DATA_GROUP_ID,
X_RESTART_TYPE,
X_RESTART_INTERVAL,
X_ATTRIBUTE_CATEGORY,
X_ATTRIBUTE,
X_ATTRIBUTE1,
X_ATTRIBUTE2,
X_ATTRIBUTE3,
X_ATTRIBUTE4,
X_ATTRIBUTE5,
X_ATTRIBUTE6,
X_ATTRIBUTE7,
X_ATTRIBUTE8,
X_ATTRIBUTE9,
X_ATTRIBUTE10,
X_ATTRIBUTE11,
X_ATTRIBUTE12,
X_ENABLED_FLAG,
X_CREATION_DATE,
X_CREATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN
);
insert into FND_CONCURRENT_QUEUES_TL (
USER_CONCURRENT_QUEUE_NAME,
APPLICATION_ID,
CONCURRENT_QUEUE_ID,
CONCURRENT_QUEUE_NAME,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
DESCRIPTION,
LANGUAGE,
SOURCE_LANG
) select
X_USER_CONCURRENT_QUEUE_NAME,
X_APPLICATION_ID,
X_CONCURRENT_QUEUE_ID,
X_CONCURRENT_QUEUE_NAME,
X_CREATION_DATE,
X_CREATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
X_DESCRIPTION,
L.LANGUAGE_CODE,
userenv('LANG')
from FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and not exists
(select NULL
from FND_CONCURRENT_QUEUES_TL T
where T.APPLICATION_ID = X_APPLICATION_ID
and T.CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
and T.LANGUAGE = L.LANGUAGE_CODE);
end INSERT_ROW;
cursor c is select
RESOURCE_CONSUMER_GROUP,
CONCURRENT_QUEUE_NAME,
PROCESSOR_APPLICATION_ID,
CONCURRENT_PROCESSOR_ID,
MAX_PROCESSES,
RUNNING_PROCESSES,
CACHE_SIZE,
MIN_PROCESSES,
TARGET_PROCESSES,
TARGET_NODE,
TARGET_QUEUE,
SLEEP_SECONDS,
CONTROL_CODE,
DIAGNOSTIC_LEVEL,
MANAGER_TYPE,
NODE_NAME,
NODE_NAME2,
OS_QUEUE,
OS_QUEUE2,
DATA_GROUP_ID,
RESTART_TYPE,
RESTART_INTERVAL,
ATTRIBUTE_CATEGORY,
ATTRIBUTE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ENABLED_FLAG
from FND_CONCURRENT_QUEUES
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
for update of APPLICATION_ID nowait;
cursor c1 is select
DESCRIPTION,
USER_CONCURRENT_QUEUE_NAME,
decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
from FND_CONCURRENT_QUEUES_TL
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
for update of APPLICATION_ID nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_APPLICATION_ID in NUMBER,
X_CONCURRENT_QUEUE_ID in NUMBER,
X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
X_CONCURRENT_QUEUE_NAME in VARCHAR2,
X_PROCESSOR_APPLICATION_ID in NUMBER,
X_CONCURRENT_PROCESSOR_ID in NUMBER,
X_MAX_PROCESSES in NUMBER,
X_RUNNING_PROCESSES in NUMBER,
X_CACHE_SIZE in NUMBER,
X_MIN_PROCESSES in NUMBER,
X_TARGET_PROCESSES in NUMBER,
X_TARGET_NODE in VARCHAR2,
X_TARGET_QUEUE in VARCHAR2,
X_SLEEP_SECONDS in NUMBER,
X_CONTROL_CODE in VARCHAR2,
X_DIAGNOSTIC_LEVEL in VARCHAR2,
X_MANAGER_TYPE in VARCHAR2,
X_NODE_NAME in VARCHAR2,
X_NODE_NAME2 in VARCHAR2,
X_OS_QUEUE in VARCHAR2,
X_OS_QUEUE2 in VARCHAR2,
X_DATA_GROUP_ID in NUMBER,
X_RESTART_TYPE in VARCHAR2,
X_RESTART_INTERVAL in NUMBER,
X_ATTRIBUTE_CATEGORY in VARCHAR2,
X_ATTRIBUTE in VARCHAR2,
X_ATTRIBUTE1 in VARCHAR2,
X_ATTRIBUTE2 in VARCHAR2,
X_ATTRIBUTE3 in VARCHAR2,
X_ATTRIBUTE4 in VARCHAR2,
X_ATTRIBUTE5 in VARCHAR2,
X_ATTRIBUTE6 in VARCHAR2,
X_ATTRIBUTE7 in VARCHAR2,
X_ATTRIBUTE8 in VARCHAR2,
X_ATTRIBUTE9 in VARCHAR2,
X_ATTRIBUTE10 in VARCHAR2,
X_ATTRIBUTE11 in VARCHAR2,
X_ATTRIBUTE12 in VARCHAR2,
X_ENABLED_FLAG in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_USER_CONCURRENT_QUEUE_NAME in VARCHAR2,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER
) is
begin
update FND_CONCURRENT_QUEUES set
RESOURCE_CONSUMER_GROUP = X_RESOURCE_CONSUMER_GROUP,
CONCURRENT_QUEUE_NAME = X_CONCURRENT_QUEUE_NAME,
PROCESSOR_APPLICATION_ID = X_PROCESSOR_APPLICATION_ID,
CONCURRENT_PROCESSOR_ID = X_CONCURRENT_PROCESSOR_ID,
MAX_PROCESSES = X_MAX_PROCESSES,
RUNNING_PROCESSES = X_RUNNING_PROCESSES,
CACHE_SIZE = X_CACHE_SIZE,
MIN_PROCESSES = X_MIN_PROCESSES,
TARGET_PROCESSES = X_TARGET_PROCESSES,
TARGET_NODE = X_TARGET_NODE,
TARGET_QUEUE = X_TARGET_QUEUE,
SLEEP_SECONDS = X_SLEEP_SECONDS,
CONTROL_CODE = X_CONTROL_CODE,
DIAGNOSTIC_LEVEL = X_DIAGNOSTIC_LEVEL,
MANAGER_TYPE = X_MANAGER_TYPE,
NODE_NAME = X_NODE_NAME,
NODE_NAME2 = X_NODE_NAME2,
OS_QUEUE = X_OS_QUEUE,
OS_QUEUE2 = X_OS_QUEUE2,
DATA_GROUP_ID = X_DATA_GROUP_ID,
RESTART_TYPE = X_RESTART_TYPE,
RESTART_INTERVAL = X_RESTART_INTERVAL,
ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
ATTRIBUTE = X_ATTRIBUTE,
ATTRIBUTE1 = X_ATTRIBUTE1,
ATTRIBUTE2 = X_ATTRIBUTE2,
ATTRIBUTE3 = X_ATTRIBUTE3,
ATTRIBUTE4 = X_ATTRIBUTE4,
ATTRIBUTE5 = X_ATTRIBUTE5,
ATTRIBUTE6 = X_ATTRIBUTE6,
ATTRIBUTE7 = X_ATTRIBUTE7,
ATTRIBUTE8 = X_ATTRIBUTE8,
ATTRIBUTE9 = X_ATTRIBUTE9,
ATTRIBUTE10 = X_ATTRIBUTE10,
ATTRIBUTE11 = X_ATTRIBUTE11,
ATTRIBUTE12 = X_ATTRIBUTE12,
ENABLED_FLAG = X_ENABLED_FLAG,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID;
update FND_CONCURRENT_QUEUES_TL set
DESCRIPTION = X_DESCRIPTION,
USER_CONCURRENT_QUEUE_NAME = X_USER_CONCURRENT_QUEUE_NAME,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
SOURCE_LANG = userenv('LANG')
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
end UPDATE_ROW;
procedure DELETE_ROW (
X_APPLICATION_ID in NUMBER,
X_CONCURRENT_QUEUE_ID in NUMBER
) is
begin
delete from FND_CONCURRENT_QUEUES_TL
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID;
delete from FND_CONCURRENT_QUEUES
where APPLICATION_ID = X_APPLICATION_ID
and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID;
end DELETE_ROW;
/* The following delete and update statements are commented out */
/* as a quick workaround to fix the time-consuming table handler issue */
/* Eventually we'll need to turn them into a separate fix_language procedure */
/*
delete from FND_CONCURRENT_QUEUES_TL T
where not exists
(select NULL
from FND_CONCURRENT_QUEUES B
where B.APPLICATION_ID = T.APPLICATION_ID
and B.CONCURRENT_QUEUE_ID = T.CONCURRENT_QUEUE_ID
);
update FND_CONCURRENT_QUEUES_TL T set (
DESCRIPTION,
USER_CONCURRENT_QUEUE_NAME
) = (select
B.DESCRIPTION,
B.USER_CONCURRENT_QUEUE_NAME
from FND_CONCURRENT_QUEUES_TL B
where B.APPLICATION_ID = T.APPLICATION_ID
and B.CONCURRENT_QUEUE_ID = T.CONCURRENT_QUEUE_ID
and B.LANGUAGE = T.SOURCE_LANG)
where (
T.APPLICATION_ID,
T.CONCURRENT_QUEUE_ID,
T.LANGUAGE
) in (select
SUBT.APPLICATION_ID,
SUBT.CONCURRENT_QUEUE_ID,
SUBT.LANGUAGE
from FND_CONCURRENT_QUEUES_TL SUBB, FND_CONCURRENT_QUEUES_TL SUBT
where SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
and SUBB.CONCURRENT_QUEUE_ID = SUBT.CONCURRENT_QUEUE_ID
and SUBB.LANGUAGE = SUBT.SOURCE_LANG
and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
or SUBB.USER_CONCURRENT_QUEUE_NAME <> SUBT.USER_CONCURRENT_QUEUE_NAME
or (SUBB.USER_CONCURRENT_QUEUE_NAME is null and SUBT.USER_CONCURRENT_QUEUE_NAME is not null)
or (SUBB.USER_CONCURRENT_QUEUE_NAME is not null and SUBT.USER_CONCURRENT_QUEUE_NAME is null)
));
insert into FND_CONCURRENT_QUEUES_TL (
USER_CONCURRENT_QUEUE_NAME,
APPLICATION_ID,
CONCURRENT_QUEUE_ID,
CONCURRENT_QUEUE_NAME,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
DESCRIPTION,
LANGUAGE,
SOURCE_LANG
) select
B.USER_CONCURRENT_QUEUE_NAME,
B.APPLICATION_ID,
B.CONCURRENT_QUEUE_ID,
B.CONCURRENT_QUEUE_NAME,
B.CREATION_DATE,
B.CREATED_BY,
B.LAST_UPDATE_DATE,
B.LAST_UPDATED_BY,
B.LAST_UPDATE_LOGIN,
B.DESCRIPTION,
L.LANGUAGE_CODE,
B.SOURCE_LANG
from FND_CONCURRENT_QUEUES_TL B, FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and B.LANGUAGE = userenv('LANG')
and not exists
(select NULL
from FND_CONCURRENT_QUEUES_TL T
where T.APPLICATION_ID = B.APPLICATION_ID
and T.CONCURRENT_QUEUE_ID = B.CONCURRENT_QUEUE_ID
and T.LANGUAGE = L.LANGUAGE_CODE);