FND Menu Entry Upload

Description

FND Menu Entry Upload creates, updates and deletes entries on an existing Oracle EBS menu – the sub-menu links, function links and prompts that make up a navigation menu – from Excel. It maintains the entries on a menu; it does not create the menu, sub-menus or functions themselves.

When to use it

  • Add several entries to an existing menu in one operation instead of using the Menus form row by row.
  • Attach a set of forms or sub-menus to a navigation menu during a rollout.
  • Re-prompt or re-describe existing menu entries in bulk.
  • Re-sequence entries by updating their entry sequence.
  • Remove obsolete menu entries.

Before you start

  • Blitz Report is installed and you are signed in to a responsibility that can maintain menus (System Administrator or Application Developer level).
  • The menu, any sub-menu, and any function you reference already exist.

Step 1 – Choose a mode, set the parameters and download

In Blitz Report, open FND Menu Entry Upload, choose an Upload Mode (Create for an empty template, or Create, Update to download existing entries), and optionally filter by menu, function or responsibility. Run the upload to download and open the Excel file. Each row is automatically handled as a create or an update depending on whether the entry already exists.

Step 2 – Enter the menu entries

On each row identify the menu with the Menu Name (or User Menu Name), then enter the Entry Sequence (leave blank on a new entry to append it), a Prompt, and either a Sub Menu or a Function Name – each entry points to one or the other. Grant Flag controls whether the entry is grantable through function security.

Step 3 – Delete entries (optional)

To remove an entry, set Delete Record to Yes on its row. The entry must already exist on the menu.

Step 4 – Validate and Save

Click Validate and Save. This checks for missing required values and runs the upload’s validation (for example, that each entry has either a sub menu or a function), then saves the file. Correct anything it flags before continuing.

Step 5 – Upload and view the result

Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which creates, updates or deletes each menu entry. When it finishes, a result report opens showing each row as success or error.

What’s produced

  • Created, updated or deleted menu entries on the chosen menus.
  • A result report listing every row with a status (success or error) and a message.

Common questions

How do I add a new entry to an existing menu?
In Create mode, enter the Menu Name, a Prompt, and either a Sub Menu or a Function Name. Leave Entry Sequence blank to append it, or set it explicitly.

Do I need both a Sub Menu and a Function Name?
No – exactly one. Each entry either navigates to a sub-menu or launches a function. If both are blank, the row errors.

How does it know whether to create or update?
It matches the Menu Name and Entry Sequence. If that entry exists it is updated; otherwise it is created.

How do I delete an entry?
Download the menu in Create, Update mode, set Delete Record to Yes on the rows to remove, and upload. The entry must already exist.

Can it create the menu or function for me?
No. The menu, any sub-menu, and any function must already exist; this upload only manages entries on an existing menu.

Troubleshooting

MessageCauseWhat to do
Either sub menu or function must be specifiedThe row has neither a Sub Menu nor a Function Name.Fill in exactly one of Sub Menu or Function Name.
Menu entry not found for deletionDelete Record is Yes but no entry matches the Menu Name and Entry Sequence.Confirm the Menu Name and Entry Sequence identify an existing entry (download in Create, Update mode).
Menu, sub menu or function not in listAn entered name does not exist or is not an exact match.Pick the value from the dropdown; these are validated against existing menus and functions.
Required menu name blankThe menu was not identified on the row.Enter the Menu Name or User Menu Name.
select
null action_,
null status_,
null message_,
null request_id_,
null modified_columns_,
fmv.user_menu_name,
fmv.menu_name,
fmv.description menu_description,
xxen_util.meaning(fmv.type,'MENU_TYPE',0) type,
fme.entry_sequence,
fmet.prompt,
fmv2.user_menu_name sub_menu,
fffv.user_function_name function_name,
fmet.description entry_description,
xxen_util.meaning(fme.grant_flag,'YES_NO',0) grant_flag,
to_char(null) delete_record,
row_number() over (order by fmv.menu_name, fme.entry_sequence) upload_row
from
fnd_menus_vl fmv,
fnd_menu_entries fme,
fnd_menu_entries_tl fmet,
fnd_menus_vl fmv2,
fnd_form_functions_vl fffv
where
1=1 and
fmv.menu_id=fme.menu_id and
fme.menu_id=fmet.menu_id and
fme.entry_sequence=fmet.entry_sequence and
fmet.language=userenv('lang') and
fme.sub_menu_id=fmv2.menu_id(+) and
fme.function_id=fffv.function_id(+)
Parameter NameSQL textValidation
Upload Mode
:p_upload_mode like '%' || xxen_upload.action_update
LOV
User Menu Name
fmv.user_menu_name=:user_menu_name
LOV
Menu Name
fmv.menu_name=:menu_name
LOV
Function Name
fffv.function_name=:function_name
LOV
User Function Name
fffv.user_function_name=:user_function_name
LOV
Responsibility
exists (select null from fnd_responsibility_vl frv where frv.menu_id=fmv.menu_id and frv.responsibility_name=:responsibility_name)
LOV