Monday, February 1, 2010

Steps for Creating a Custom Application in Oracle Applications 11i

Creating a Custom Application in Applications 11i
-------------------------------------------------

Custom Applications are required if you are creating new forms, reports, 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.
1) Make the directory structure for your custom application files.

cd $APPL_TOP
mkdir xxCUS
mkdir xxCUS/11.5.0
mkdir xxCUS/11.5.0/admin
mkdir xxCUS/11.5.0/admin/sql
mkdir xxCUS/11.5.0/admin/odf
mkdir xxCUS/11.5.0/sql
mkdir xxCUS/11.5.0/bin
mkdir xxCUS/11.5.0/reports
mkdir xxCUS/11.5.0/reports/US
mkdir xxCUS/11.5.0/forms
mkdir xxCUS/11.5.0/forms/US
mkdir xxCUS/11.5.0/$APPLLIB
mkdir xxCUS/11.5.0/$APPLOUT
mkdir xxCUS/11.5.0/$APPLLOG
2) Create new tablespace for database objects
create tablespace xxCUS datafile '/u02/11i/TST/cesdata/xxCUS.dbf' size 10M ;

3) Create schema

create user xxCUS identified by xxCUS
default tablespace xxCUS
temporary tablespace temp
quota unlimited on xxCUS
quota unlimited on temp;
grant connect, resource to xxCUS;

4) Register your Oracle Schema.

Login to Applications with System Administrator responsibility

Navigate to Application → Register

Application = xxCUS Custom
Short Name = xxCUS
Basepath = xxCUS_TOP
Description = xxCUS Custom Application

5) Register Oracle User
Navigate to Security → Oracle → Register

Database User Name = xxCUS
Password = xxCUS
Privilege = Enabled
Install Group = 0
Description = xxCUS Custom Application User

6) Add Application to a Data Group

Navigate to Security → Oracle → DataGroup

Data Group = xxCUSGroup
Description = xxCUS Custom Data Group

Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = xxCUS Custom
Oracle ID = APPS
Description = xxCUS Custom Application
7) 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 = xxCUS Request Group
Application = xxCUS Custom
Code = xxCUS
Description = xxCUS Custom Requests

We will not define any requests to add to the group at this stage, but you can add some now if required.

8) 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 = xxCUS_CUSTOM_MENU
User Menu Name = xxCUS Custom Application
Menu Type =
Description = xxCUS 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 = xxCUS_CUSTOM_MENU_SSWA
User Menu Name = xxCUS Custom Application SSWA
Menu Type =
Description = xxCUS Custom Application Menu for SSWA
9) Create new responsibility. One for Core Applications and One for Self Service (SSWA)
Navigate to Security → Responsibility → Define

Responsibility Name = xxCUS Custom
Application = xxCUS Custom
Responsibility Key = xxCUSCUSTOM
Description = xxCUS Custom Responsibility
Available From = Oracle Applications
Data Group Name = xxCUSGroup
Data Group Application = xxCUS Custom
Menu = xxCUS Custom Application
Request Group Name = xxCUS Request Group

Responsibility Name = xxCUS Custom SSWA
Application = xxCUS Custom
Responsibility Key = xxCUSCUSTOMSSWA
Description = xxCUS Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = xxCUSGroup
Data Group Application = xxCUS Custom
Menu = xxCUS Custom Application SSWA
Request Group Name = xxCUS Request Group

10) Add responsibility to user

Navigate to Security → User → Define

Add xxCUS Custom responsibility to users as required.

11) Other considerations

You are now ready to create your database Objects, custom Reports, Forms, Packages, etc

Create the source code files in the xxCUS_TOP directory appropriate for the type of object. For example forms
would be located in $xxCUS_TOP/forms/US or package source code in $xxCUS_TOP/admin/sql for example.

Database Objects, such as tables, indexes and sequences should be created in the xxCUS schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as xxCUS 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 xxCUS.myTable;

Other database objects, such as views and packages should be created directly in the APPS schema.
Create your database Procedure and assign to request:
1)Create Procedure in Database level
CREATE OR REPLACE Procedure GatherSchemaStats (errbuf OUT VARCHAR2,
retcode OUT NUMBER, schema_name varchar2)
AS
Begin
dbms_stats.gather_schema_stats(schema_name, estimate_percent => 30, method_opt => 'FOR
ALL INDEXED COLUMNS SIZE AUTO');
End;
/
2) Configure Application Executable
Navigation :-
Concurrent → Program → Executable

3) Assign The executable to Program
Navigation:- Concurrent → Program → define

4) Assign The Program to Request
Navigation :-
security → responsibility → request



4) Run the Request
Navigation :-

Request → Run

No comments:

Post a Comment