Previous | Next | Contents | Index | Navigation | Glossary | Library |
Use the Function Security Loader to preserve custom responsibility and menu information across upgrades by downloading files before the upgrade and then uploading them afterward.
Download database information to a text file
The text file is human-readable and portable, and can be examined and modified with any editor. Generally, a "developer key" is used to identify records written out to text files. In other words, the FUNCTION_NAME, not the FUNCTION_ID, is used to identify records.
Upload (merge) the information in a text file to the database
If a row is already correct in the database, it is not touched. If a row exists, but has different attributes, the row is updated. If a row does not exist, a new row is inserted. No rows are deleted, even if they are absent from the uploaded file.
These download and upload capabilities allow function security information that is defined in one database to be easily propagated to other databases. This is useful for delivering Oracle Applications seed data to customers, as well as for copying customer function security definitions from a primary site to other sites.
The text file version of function security data is also useful for bulk editing operations, which can be accomplished more efficiently with a text editor than with a form.
FNDSLOAD <username/password> 0 Y [{ LOCAL <filepath> } | { <appsname> <subdir>/.../<subdir>/<fname>.ext<}] [UPLOAD | {DOWNLOAD <menuname> ... <menuname>}]
where
<username/ password> | is the APPLSYS account |
<appsname> | is an application short name or "LOCAL" |
<fname> | is the file that will be read or written |
<menuname> | is a list of menu names to download |
Appsname | File | Location |
---|---|---|
<APP> | <file> | $<APP_TOP>/install/import/<file>.slt |
LOCAL | <file> | <file> |
Table 1 - 29. (Page 1 of 1) |
FNDSLOAD applsys/fnd 0 Y FND install/import/sysadmin.slt UPLOAD
references file "$FND_TOP/install/import/sysadmin.slt"
FNDSLOAD applsys/fnd 0 Y LOCAL sysadmin.slt UPLOAD
references file "sysadmin.slt"
In DOWNLOAD mode the menu tree rooted at each <menuname> listed is read from the database and written to the file, along with every function and form referenced by any menu. Note the <menuname> is the actual menu name, not the User Menu Name.
FNDSLOAD applsys/fnd 0 Y FND sysadmin.slt DOWNLOAD FND_NAVIGATE4.0
will download all menus under "FND_NAVIGATE4.0" to the file sysadmin.slt
FNDSLOAD applsys/fnd 0 Y FND sysadmin.slt UPLOAD
will upload everything in the file sysadmin.slt to the database
The file consists of a series of text lines, each of which must be less than 1024 bytes in length (when written, no line will exceed 80 bytes in length).
A line may be a comment line, meaning it has no effect on the data contained in the file. Comment lines begin with a "#" and end with a newline.
# This is a comment line
The information in the file consists of a series of tokens delimited by white space. Note that a token may itself contain a space, in which case it is delimited with double-quote marks. Tokens may not contain non-printing characters unless they are preceded by the "escape" character, which is a backslash. Predefined escapes are:
String | Meaning |
---|---|
\e | Escape |
\n | Newline |
\r | Carriage return |
\b | Backspace |
\v | Vertical tab |
\f | Form feed |
\" | The double quote itself |
\\ | The backslash itself |
Table 1 - 30. (Page 1 of 1) |
The file starts with three lines as follows:
LANGUAGE = "AMERICAN" CODESET = "WE8ISO8859P1" TRANSLATED = "Y"
These lines indicate the NLS_LANG language and codeset of the file and the current translation status of any translated column values.
Then there is a series of object definitions of the format:
BEGIN <object type> <object identifier> <attribute> = <value> ... BEGIN <sub-object type> <object identifier> ... END <sub-object type> ... END <object type>
There are three main object types, and one sub-object type. The main objects are FORMs, FUNCTIONs, and MENUs, and the sub-object is ENTRY. Each object type has some identifier, and then a series of attribute values. If an attribute value is not specified, it is assumed to be NULL.
BEGIN FORM <app_short_name> <form_name> USER_FORM_NAME = "<user_form_name: 80 char translated>" DESCRIPTION = "<description: 240 char translated>" END FORM
Forms are identified by app_short_name and form_name. A FORM record is written out for each form referenced by the menus being downloaded.
Example:
BEGIN FORM SQLGL GLXJEENT USER_FORM_NAME = "Enter Journals/Encumbrances " DESCRIPTION = "Enter journals/encumbrances " END FORM
BEGIN FUNCTION <function_name> FORM = <app_short_name> <form_name> TYPE = <type:30 char> PARAMETERS = "<parameters: 240 char>" USER_FUNCTION_NAME = "<user_function_name: 80 char translated>" DESCRIPTION = "<description: 240 char translated>" END FUNCTION
Functions are identified by the developer function_name. A FUNCTION record is written out for each function referenced by the menus being downloaded.
Example:
BEGIN FUNCTION SQLGL_GLXJEENT_A FORM = SQLGL GLXJEENT TYPE = FORM PARAMETERS = "actual_flag=\"A\" HELP_TARGET=\"GLXJEENT_A\"" USER_FUNCTION_NAME = "Enter Journals" DESCRIPTION = "Enter journals" END FUNCTION
MENU <menu_name> USER_MENU_NAME = "<user_menu_name: 80 char translated>" DESCRIPTION = "<description: 240 char translated>"
BEGIN ENTRY PROMPT = "<prompt: 30 char translated>" DESCRIPTION = "<description: 240 char translated>" SUBMENU = <sub_menu_name> FUNCTION = <function_name> END ENTRY
... more entry records ...
END MENU
Example:
MENU GL_SUPERVISOR_GUI USER_MENU_NAME = GL_SUPERVISOR_GUI
BEGIN ENTRY PROMPT = Journals DESCRIPTION = "Enter and post actual and encumbrance journals" SUBMENU = GL_SU_JOURNAL_GUI END ENTRY
BEGIN ENTRY PROMPT = Budgets DESCRIPTION = "Define and enter budgets" SUBMENU = GL_SU_BUDGET_GUI END ENTRY
BEGIN ENTRY PROMPT = "Run Reports" DESCRIPTION = "Run a report" FUNCTION = SQLGL_FNDRSRUN_GLMODE END ENTRY
END MENU
Menus are identified by the developer menu name. Menu entries have no identification per se, but are assumed to be sequenced based on the order in which they are defined, and thus the sequence number forms an implicit identifier. Each listed menu is downloaded along with all referenced submenus (recursively).
# # $Header$ # LANGUAGE = "AMERICAN" CODESET = "WE8ISO8859P1" TRANSLATED = "Y"
BEGIN FORM FND FNDCPQCR USER_FORM_NAME = "View Requests" DESCRIPTION = "User form to view personal, explicit concurrent requests" END FORM
BEGIN FORM FND FNDPOMSV USER_FORM_NAME = "Update Personal Profile Values" DESCRIPTION = "User form to set a personal profile option" END FORM
BEGIN FORM FND FNDRSRUN USER_FORM_NAME = "Run Reports" END FORM
BEGIN FORM FND FNDCPDIA USER_FORM_NAME = "Request Help" DESCRIPTION = "Request Diagnostics Form (also View Reports)" END FORM
BEGIN FORM FND FNDRSSET USER_FORM_NAME = "Administer Report Sets" DESCRIPTION = "System Administrator form to administer all report sets" END FORM
BEGIN FUNCTION FND_FNDCPQCR FORM = FND FNDCPQCR TYPE = FORM USER_FUNCTION_NAME = "Concurrent Requests: View All" DESCRIPTION = "Concurrent Requests: View Form" END FUNCTION
BEGIN FUNCTION FND_FNDPOMSV FORM = FND FNDPOMSV TYPE = FORM USER_FUNCTION_NAME = "Profile User Values" DESCRIPTION = "Profile User Values Form" END FUNCTION
BEGIN FUNCTION FND_FNDRSRUN FORM = FND FNDRSRUN TYPE = FORM USER_FUNCTION_NAME = "Requests: Submit" DESCRIPTION = "Requests: Run Form" END FUNCTION
BEGIN FUNCTION FND_FNDCPDIA_VIEW FORM = FND FNDCPDIA TYPE = FORM PARAMETERS = "MODE=\"VIEW\"" USER_FUNCTION_NAME = "Concurrent Requests: View Completed" DESCRIPTION = "Concurrent Request Diagnostics Form: View Requests Mode" END FUNCTION
BEGIN FUNCTION FND_FNDRSSET_USER FORM = FND FNDRSSET TYPE = FORM PARAMETERS = "MODE=\"USER\"" USER_FUNCTION_NAME = "Request Sets (User Mode)" DESCRIPTION = "Request Sets: User Mode Form" END FUNCTION
BEGIN MENU GL_SU_MANAGER_GUI USER_MENU_NAME = GL_SU_MANAGER_GUI DESCRIPTION = "Called by GL_SUPERUSER4.0, GL_USER4.0, GL_SUPERVISOR4.0, GL_B\ UDGETUSER4.0, GL_BUDGETSUPER4.0"
BEGIN ENTRY PROMPT = Requests DESCRIPTION = "Review concurrent manager requests" FUNCTION = FND_FNDCPQCR END ENTRY
BEGIN ENTRY PROMPT = Profile DESCRIPTION = "Review personal profile options" FUNCTION = FND_FNDPOMSV END ENTRY
BEGIN ENTRY PROMPT = Report DESCRIPTION = "Group and request standard reports" SUBMENU = FND_REPORT4.0 END ENTRY
END MENU
BEGIN MENU FND_REPORT4.0 USER_MENU_NAME = "FND_REPORT 4.0" DESCRIPTION = "Standard Report Submission and view report for Forms 4.0"
BEGIN ENTRY PROMPT = Run DESCRIPTION = "Submit requests" FUNCTION = FND_FNDRSRUN END ENTRY
BEGIN ENTRY PROMPT = View DESCRIPTION = "View completed requests" FUNCTION = FND_FNDCPDIA_VIEW END ENTRY
BEGIN ENTRY PROMPT = Set DESCRIPTION = "Define standard request sets" FUNCTION = FND_FNDRSSET_USER END ENTRY
END MENU
Previous | Next | Contents | Index | Navigation | Glossary | Library |