Step By Step Guide to Creating a Custom Application in R12 :
PURPOSE:
This note describes the basic steps needed to setup a Custom Top within Oracle Applications R12.
Creating a Custom Top in Applications R12:
Custom Tops are required if you are creating new forms, reports, workflows, OAF pages etc. This allows you to segregate your custom written files from the standard seeded functionality that Oracle Applications provide. Customizations can therefore be preserved when applying patches or upgrades to your environment.
Steps to be followed:
1) Make the directory structure for Custom Pages Top.
cd $JAVA_TOP
cd classes
mkdir classes/xx_hr
mkdir classes/xx_ums
mkdir classes/xx_ums/oracle/apps/
mkdir classes/ xx_ums/oracle/apps/
2) Make the directory structure for Custom Forms and Reports Custom top.
cd $APPL_TOP
mkdir appl/xx_hr
mkdir appl/xx_ums
3) Add the custom module into the environment
Apply ADX.E.1 and add the entry to topfile.txt as a standard product top entry (follow the existing model in the file) Customised environment variables can be added to AutoConfig by using the filename specificed by s_custom_file, which is then called from the APPSORA.env file. If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to formsservlet.ini in $APACHE_TOP/Jserv/etc
4) Create new tablespace for database objects
create tablespace xx_ums datafile '/emea/oracle/visuk09/visuk09data/xx_ums .dbf' size 10M default storage(initial 10k next 10k)
5) Create schema
create user xx_ums identified by xx_ums
default tablespace xx_ums
temporary tablespace temp
quota unlimited on xx_ums
quota unlimited on temp;
grant connect, resource to xx_ums;
6) Register your Oracle Schema.
Login to Applications with System Administrator responsibility Navigate to Application-->Register
Application = xx_ums Custom
Short Name = xx_ums
Basepath = xx_ums_TOP
Description = xx_ums Custom Application
7) Register Oracle User
Navigate to Security-->Oracle-->Register
Database User Name = xx_ums
Password = xx_ums
Privilege = Enabled
Install Group = 0
Description = xx_ums Custom Application User
8) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = xx_ums Group
Description = xx_ums Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = xx_ums Custom
Oracle ID = APPS
Description = xx_ums Custom Application
9) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)Navigate to Security-->responsibility-->Request
Group= xx_ums Request Group
Application = xx_ums Custom
Code= xx_ums
Description = xx_ums Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.
10) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage) We will create two menus, one for Core Applications and one for Self Service. Navigate to Application-->Menu Menu= xx_ums_CUSTOM_MENU
User Menu Name = xx_ums Custom Application
Menu Type =
Description= xx_ums Custom Application Menu
Seq= 100
Prompt= View Requests
Submenu=
Function = View All Concurrent Requests
Description = View Requests
Seq= 110
Prompt= Run Requests
Submenu=
Function= Requests: Submit
Description = Submit Requests
Menu= xx_ums_CUSTOM_MENU_SSWA
User Menu Name = xx_ums Custom Application SSWA
Menu Type=
Description = xx_ums Custom Application Menu for SSWA
11) Create new responsibility.
One for Core Applications and One for Self Service (SSWA) Navigate to Security-->Responsibility-->Define
Responsibility Name= xx_ums Custom
Application= xx_ums Custom
Responsibility Key = xx_ums CUSTOM
Description= xx_ums Custom Responsibility
Available From= Oracle Applications
Data Group Name= xx_ums Group
Data Group Application = xx_ums Custom
Menu= xx_ums Custom Application
Request Group Name= xx_ums Request Group
Responsibility Name= xx_ums Custom SSWA
Application= xx_ums Custom
Responsibility Key = xx_ums CUSTOMSSWA
Description = xx_ums Custom Responsibility SSWA
Available From= Oracle Self Service Web Applications
Data Group Name= xx_ums Group
Data Group Application = xx_ums Custom
Menu= xx_ums Custom Application SSWA
Request Group Name= xx_ums Request Group
12) Add responsibility to user
Navigate to Security-->User-->DefineAdd xx_ums Custom responsibility to users as required.
13) Other considerations
You are now ready to create your database Objects, custom Reports, Forms, Packages, etc Create the source code files in the xx_ums _TOP directory appropriate for the type of object. For example forms would be located in
$xx_ums_TOP/forms/US or package source code in
$xx_ums_TOP/admin/sql for example. Database Objects, such as tables, indexes and sequences should be created in the xx_ums schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example: logged in as xx_ums user
grant all privileges on myTable to apps;b) Create a synonym in APPS for each custom data object
For example: logged in as APPS user
Create synonym myTable for xx_ums.myTable; Other database objects, such as views and packages should be created directly in the APPS schema.
PURPOSE:
This note describes the basic steps needed to setup a Custom Top within Oracle Applications R12.
Creating a Custom Top in Applications R12:
Custom Tops are required if you are creating new forms, reports, workflows, OAF pages etc. This allows you to segregate your custom written files from the standard seeded functionality that Oracle Applications provide. Customizations can therefore be preserved when applying patches or upgrades to your environment.
Steps to be followed:
1) Make the directory structure for Custom Pages Top.
cd $JAVA_TOP
cd classes
mkdir classes/xx_hr
mkdir classes/xx_ums
mkdir classes/xx_ums/oracle/apps/
mkdir classes/ xx_ums/oracle/apps/
2) Make the directory structure for Custom Forms and Reports Custom top.
cd $APPL_TOP
mkdir appl/xx_hr
mkdir appl/xx_ums
3) Add the custom module into the environment
Apply ADX.E.1 and add the entry to topfile.txt as a standard product top entry (follow the existing model in the file) Customised environment variables can be added to AutoConfig by using the filename specificed by s_custom_file, which is then called from the APPSORA.env file. If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to formsservlet.ini in $APACHE_TOP/Jserv/etc
4) Create new tablespace for database objects
create tablespace xx_ums datafile '/emea/oracle/visuk09/visuk09data/xx_ums .dbf' size 10M default storage(initial 10k next 10k)
5) Create schema
create user xx_ums identified by xx_ums
default tablespace xx_ums
temporary tablespace temp
quota unlimited on xx_ums
quota unlimited on temp;
grant connect, resource to xx_ums;
6) Register your Oracle Schema.
Login to Applications with System Administrator responsibility Navigate to Application-->Register
Application = xx_ums Custom
Short Name = xx_ums
Basepath = xx_ums_TOP
Description = xx_ums Custom Application
7) Register Oracle User
Navigate to Security-->Oracle-->Register
Database User Name = xx_ums
Password = xx_ums
Privilege = Enabled
Install Group = 0
Description = xx_ums Custom Application User
8) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = xx_ums Group
Description = xx_ums Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = xx_ums Custom
Oracle ID = APPS
Description = xx_ums Custom Application
9) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)Navigate to Security-->responsibility-->Request
Group= xx_ums Request Group
Application = xx_ums Custom
Code= xx_ums
Description = xx_ums Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.
10) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage) We will create two menus, one for Core Applications and one for Self Service. Navigate to Application-->Menu Menu= xx_ums_CUSTOM_MENU
User Menu Name = xx_ums Custom Application
Menu Type =
Description= xx_ums Custom Application Menu
Seq= 100
Prompt= View Requests
Submenu=
Function = View All Concurrent Requests
Description = View Requests
Seq= 110
Prompt= Run Requests
Submenu=
Function= Requests: Submit
Description = Submit Requests
Menu= xx_ums_CUSTOM_MENU_SSWA
User Menu Name = xx_ums Custom Application SSWA
Menu Type=
Description = xx_ums Custom Application Menu for SSWA
11) Create new responsibility.
One for Core Applications and One for Self Service (SSWA) Navigate to Security-->Responsibility-->Define
Responsibility Name= xx_ums Custom
Application= xx_ums Custom
Responsibility Key = xx_ums CUSTOM
Description= xx_ums Custom Responsibility
Available From= Oracle Applications
Data Group Name= xx_ums Group
Data Group Application = xx_ums Custom
Menu= xx_ums Custom Application
Request Group Name= xx_ums Request Group
Responsibility Name= xx_ums Custom SSWA
Application= xx_ums Custom
Responsibility Key = xx_ums CUSTOMSSWA
Description = xx_ums Custom Responsibility SSWA
Available From= Oracle Self Service Web Applications
Data Group Name= xx_ums Group
Data Group Application = xx_ums Custom
Menu= xx_ums Custom Application SSWA
Request Group Name= xx_ums Request Group
12) Add responsibility to user
Navigate to Security-->User-->DefineAdd xx_ums Custom responsibility to users as required.
13) Other considerations
You are now ready to create your database Objects, custom Reports, Forms, Packages, etc Create the source code files in the xx_ums _TOP directory appropriate for the type of object. For example forms would be located in
$xx_ums_TOP/forms/US or package source code in
$xx_ums_TOP/admin/sql for example. Database Objects, such as tables, indexes and sequences should be created in the xx_ums schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example: logged in as xx_ums user
grant all privileges on myTable to apps;b) Create a synonym in APPS for each custom data object
For example: logged in as APPS user
Create synonym myTable for xx_ums.myTable; Other database objects, such as views and packages should be created directly in the APPS schema.