The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_USER_ID in NUMBER,
X_MENU_ID in NUMBER,
X_FUNCTION_ID in NUMBER,
X_PROMPT in VARCHAR2,
X_DESCRIPTION in VARCHAR2) is
l_new_entry_sequence NUMBER;
select nvl(max(entry_sequence), 0) + 1
into l_new_entry_sequence
from fnd_menu_entries
where menu_id = X_MENU_ID;
FND_MENU_ENTRIES_PKG.INSERT_ROW(
X_ROWID => X_ROWID,
X_MENU_ID => X_MENU_ID,
X_ENTRY_SEQUENCE => l_new_entry_sequence,
X_SUB_MENU_ID => null,
X_FUNCTION_ID => X_FUNCTION_ID ,
X_GRANT_FLAG => null,
X_PROMPT => X_PROMPT,
X_DESCRIPTION => X_DESCRIPTION,
X_CREATION_DATE => sysdate,
X_CREATED_BY => X_USER_ID,
X_LAST_UPDATE_DATE => sysdate,
X_LAST_UPDATED_BY => X_USER_ID,
X_LAST_UPDATE_LOGIN => X_USER_ID);
BIS_FND_MENUS_PUB.UPDATE_ROW(
P_MENU_ID => X_MENU_ID,
X_RETURN_STATUS => l_return_status,
X_MSG_COUNT => l_msg_count,
X_MSG_DATA => l_msg_data);
end INSERT_ROW;
procedure INSERT_ROW (
X_MENU_ID in NUMBER,
X_ENTRY_SEQUENCE in NUMBER,
X_SUB_MENU_ID in NUMBER,
X_FUNCTION_ID in NUMBER,
X_GRANT_FLAG in VARCHAR2,
X_PROMPT in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2) is
l_rowid varchar2(240);
FND_MENU_ENTRIES_PKG.INSERT_ROW(
X_ROWID => l_ROWID,
X_MENU_ID => X_MENU_ID,
X_ENTRY_SEQUENCE => X_ENTRY_SEQUENCE,
X_SUB_MENU_ID => X_SUB_MENU_ID,
X_FUNCTION_ID => X_FUNCTION_ID ,
X_GRANT_FLAG => X_GRANT_FLAG,
X_PROMPT => X_PROMPT,
X_DESCRIPTION => X_DESCRIPTION,
X_CREATION_DATE => sysdate,
X_CREATED_BY => fnd_global.user_id,
X_LAST_UPDATE_DATE => sysdate,
X_LAST_UPDATED_BY => fnd_global.user_id,
X_LAST_UPDATE_LOGIN => fnd_global.user_id);
BIS_FND_MENUS_PUB.UPDATE_ROW(
P_MENU_ID => X_MENU_ID,
X_RETURN_STATUS => X_RETURN_STATUS,
X_MSG_COUNT => X_MSG_COUNT,
X_MSG_DATA => X_MSG_DATA);
end INSERT_ROW;
procedure UPDATE_ROW (
X_MENU_ID in NUMBER,
X_ENTRY_SEQUENCE in NUMBER,
X_SUB_MENU_ID in NUMBER,
X_FUNCTION_ID in NUMBER,
X_GRANT_FLAG in VARCHAR2,
X_PROMPT in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2) is
l_result VARCHAR2(1);
FND_MENU_ENTRIES_PKG.UPDATE_ROW(
X_MENU_ID => X_MENU_ID,
X_ENTRY_SEQUENCE => X_ENTRY_SEQUENCE,
X_SUB_MENU_ID => X_SUB_MENU_ID,
X_FUNCTION_ID => X_FUNCTION_ID ,
X_GRANT_FLAG => X_GRANT_FLAG,
X_PROMPT => X_PROMPT,
X_DESCRIPTION => X_DESCRIPTION,
X_LAST_UPDATE_DATE => sysdate,
X_LAST_UPDATED_BY => fnd_global.user_id,
X_LAST_UPDATE_LOGIN => fnd_global.user_id);
BIS_FND_MENUS_PUB.UPDATE_ROW(
P_MENU_ID => X_MENU_ID,
X_RETURN_STATUS => X_RETURN_STATUS,
X_MSG_COUNT => X_MSG_COUNT,
X_MSG_DATA => X_MSG_DATA);
end UPDATE_ROW;
procedure UPDATE_PROMPT (
X_USER_ID in NUMBER,
X_MENU_ID in NUMBER,
X_OLD_ENTRY_SEQUENCE in NUMBER,
X_FUNCTION_ID in NUMBER,
X_PROMPT in VARCHAR2) is
l_des fnd_menu_entries_vl.description%TYPE;
SELECT description
FROM fnd_menu_entries_vl f
WHERE f.menu_id = X_MENU_ID
AND f.entry_sequence = X_OLD_ENTRY_SEQUENCE;
FND_MENU_ENTRIES_PKG.UPDATE_ROW(
X_MENU_ID => X_MENU_ID,
X_ENTRY_SEQUENCE => X_OLD_ENTRY_SEQUENCE,
X_SUB_MENU_ID => null,
X_FUNCTION_ID => X_FUNCTION_ID ,
X_GRANT_FLAG => null,
X_PROMPT => X_PROMPT,
X_DESCRIPTION => l_des,
X_LAST_UPDATE_DATE => sysdate,
X_LAST_UPDATED_BY => X_USER_ID,
X_LAST_UPDATE_LOGIN => X_USER_ID);
end UPDATE_PROMPT;
procedure DELETE_ROW (
X_MENU_ID in NUMBER,
X_ENTRY_SEQUENCE in NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2) is
l_result VARCHAR2(1);
FND_MENU_ENTRIES_PKG.DELETE_ROW(
X_MENU_ID => X_MENU_ID,
X_ENTRY_SEQUENCE => X_ENTRY_SEQUENCE);
BIS_FND_MENUS_PUB.UPDATE_ROW(
P_MENU_ID => X_MENU_ID,
X_RETURN_STATUS => X_RETURN_STATUS,
X_MSG_COUNT => X_MSG_COUNT,
X_MSG_DATA => X_MSG_DATA);
end DELETE_ROW;
procedure DELETE_ROW (
X_MENU_ID in NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2) is
cursor entry_sequence_cursor is
select entry_sequence
from fnd_menu_entries
where menu_id = X_MENU_ID;
FND_MENU_ENTRIES_PKG.DELETE_ROW(
X_MENU_ID => X_MENU_ID,
X_ENTRY_SEQUENCE => entry_seq_cursor.entry_sequence);
BIS_FND_MENUS_PUB.UPDATE_ROW(
P_MENU_ID => X_MENU_ID,
X_RETURN_STATUS => X_RETURN_STATUS,
X_MSG_COUNT => X_MSG_COUNT,
X_MSG_DATA => X_MSG_DATA);
end DELETE_ROW;
select count(1) into l_count
from fnd_menu_entries
where function_id = p_function_id
and menu_id = p_menu_ids(i);
select user_function_name into l_prompt
from fnd_form_functions_vl
where function_id = p_function_id;
INSERT_ROW (
X_ROWID => l_row_id,
X_USER_ID => fnd_global.user_id,
X_MENU_ID => p_menu_ids(i),
X_FUNCTION_ID => p_function_id,
X_PROMPT => l_prompt,
X_DESCRIPTION => l_prompt);
select count(1) into l_count
from fnd_menu_entries
where function_id = p_function_ids(i)
and menu_id = p_menu_id;
select user_function_name into l_prompt
from fnd_form_functions_vl
where function_id = p_function_ids(i);
INSERT_ROW (
X_ROWID => l_row_id,
X_USER_ID => fnd_global.user_id,
X_MENU_ID => p_menu_id,
X_FUNCTION_ID => p_function_ids(i),
X_PROMPT => l_prompt,
X_DESCRIPTION => l_prompt);
procedure DeleteFunctionsFromMenu(
p_menu_id IN NUMBER
,p_function_ids IN FND_TABLE_OF_NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
)
is
cursor entry_seq_cursor(p_function_id NUMBER) is
select entry_sequence
from fnd_menu_entries
where function_id = p_function_id
and menu_id = p_menu_id;
DELETE_ROW (X_MENU_ID => p_menu_id,
X_ENTRY_SEQUENCE => ent_seq_cur.entry_sequence,
x_return_status => p_return_status,
x_msg_count => p_msg_count,
x_msg_data => p_msg_data);
end DeleteFunctionsFromMenu;
procedure DeleteFunctionFromMenus(
p_function_id IN NUMBER
,p_menu_ids IN FND_TABLE_OF_NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) is
cursor entry_seq_cursor(p_menu_id NUMBER) is
select entry_sequence
from fnd_menu_entries
where function_id = p_function_id
and menu_id = p_menu_id;
DELETE_ROW (X_MENU_ID => p_menu_ids(i),
X_ENTRY_SEQUENCE => ent_seq_cur.entry_sequence,
x_return_status => p_return_status,
x_msg_count => p_msg_count,
x_msg_data => p_msg_data);
end DeleteFunctionFromMenus;
, p_last_update_date IN DATE
) IS
l_last_update_date date;
select last_update_date
from fnd_menu_entries
where menu_id = p_menu_id
and entry_sequence = p_entry_sequence
for update of menu_id, entry_sequence nowait;
FETCH cMenuEntry INTO l_last_update_date;
FND_MESSAGE.SET_NAME('BIS','BIS_MENU_ENTRY_DELETED_ERROR');
if p_last_update_date is not null then
if p_last_update_date <> l_last_update_date then
FND_MESSAGE.SET_NAME('BIS','BIS_MENU_ENTRY_CHANGED_ERROR');
* Menus after delete, insert or update
*
* This function will store the application context and
* restore back once the request is submitted.
*/
FUNCTION submit_compile RETURN VARCHAR2
IS
l_result VARCHAR2(1);