Step By Step Guide to Creating a Custom Application in
Applications 11i & R12
IMPORTANT NOTE - This note is retained for reference only.
You should now follow note 270519.1
"Customizing an AutoConfig Environment" to make changes to your
system configuration
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.
SCHEMA NAME : XXMZ TOP
NAME : XXMZ_TOP
Application : XXMZ Custom Application
Data Group : Standard
Request Group : XXMZ Request Group
Menu :
XXMZ_CUSTOM_MENU
Responsibility : XXMZ Custom
1) Make the directory structure for
your custom application files.
cd $APPL_TOP
mkdir xxmz
mkdir xxmz/11.5.0
mkdir xxmz/11.5.0/admin
mkdir xxmz/11.5.0/admin/sql
mkdir xxmz/11.5.0/admin/odf
mkdir xxmz/11.5.0/sql
mkdir xxmz/11.5.0/bin
mkdir xxmz/11.5.0/reports
mkdir xxmz/11.5.0/reports/US
mkdir xxmz/11.5.0/forms
mkdir xxmz/11.5.0/forms/US
mkdir xxmz/11.5.0/$APPLLIB
mkdir xxmz/11.5.0/$APPLOUT
mkdir xxmz/11.5.0/$APPLLOG
2) 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
Make entry to the application
context file vi $CONTEXT_FILE
<AU_TOP
oa_var="s_autop" oa_type="PROD_TOP"
oa_enabled="FALSE">/d01/oracle/PROD/apps/apps_st/appl/au/12.0.0</AU_TOP>
<xxmz_TOP
oa_var="s_xxmztop" oa_type="PROD_TOP"
oa_enabled="FALSE">/d02/oracle/PROD1/apps/apps_st/appl/xxmz/12.0.0</xxmz_TOP>
Stop the application and run
autoconfig
cd $ADMIN_SCRIPTS_HOME
sh adstpall.sh apps/apps
sh adautocfg.sh
sh adstrtal.sh apps/apps
Logout from the session and login and verify
whether custom top is viewable
echo $xxmz_TOP
. ./APPSPROD1_erp.env
[applmgr@erp ~]$ echo $xxmz_TOP
/d02/oracle/PROD1/apps/apps_st/appl/xxmz/12.0.0
3) Create new tablespace for
database objects
SQL> create tablespace xxmz
datafile '/d01/oracle/visuk09/visuk09data/xxmz.dbf' size 1g default
storage(initial 10k next 10k)
4) Create schema
create user xxmz identified by xxmz
default tablespace xxmz
temporary tablespace temp
quota unlimited on xxmz
quota unlimited on temp;
grant connect, resource to xxmz;
5) Register your Oracle Schema.
Login to Applications with System
Administrator responsibility
Navigate to
Application-->Register
Application = xxmz Custom
Short Name = xxmz
Basepath = xxmz_TOP
Description = xxmz Custom
Application
6) Register Oracle User
Naviate to
Security-->Oracle-->Register
Database User Name = xxmz
Password = xxmz
Privilege = Enabled
Install Group = 0
Description = xxmz Custom
Application User
7) Add Application to a Data Group
Navigate to
Security-->Oracle-->DataGroup
Data Group = xxmzGroup
Description = xxmz Custom Data
Group
Click on "Copy Applications
from" and pick Standard data Group, then add the following entry.
Application = xxmz Custom
Oracle ID = APPS
Description = xxmz Custom
Application
8) 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 = xxmz Request Group
Application = xxmz Custom
Code = xxmz
Description = xxmz Custom Requests
We will not define any requests to add to the group at this
stage, but you can add some now if required.
9) 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 = xxmz_CUSTOM_MENU
User Menu Name = xxmz Custom
Application
Menu Type =
Description = xxmz 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 = xxmz_CUSTOM_MENU_SSWA
User Menu Name = xxmz Custom
Application SSWA
Menu Type =
Description = xxmz Custom
Application Menu for SSWA
10) Create new responsibility. One
for Core Applications and One for Self Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name = xxmz Custom
Application = xxmz Custom
Responsibility Key = xxmzCUSTOM
Description = xxmz Custom
Responsibility
Available From = Oracle
Applications
Data Group Name = xxmzGroup
Data Group Application = xxmz
Custom
Menu = xxmz Custom Application
Request Group Name = xxmz Request
Group
Responsibility Name = xxmz Custom
SSWA
Application = xxmz Custom
Responsibility Key = xxmzCUSTOMSSWA
Description = xxmz Custom
Responsibility SSWA
Available From = Oracle Self
Service Web Applications
Data Group Name = xxmzGroup
Data Group Application = xxmz
Custom
Menu = xxmz Custom Application SSWA
Request Group Name = xxmz Request
Group
11) Add responsibility to user
Navigate to
Security-->User-->Define
Add xxmz Custom responsibility to
users as required.
12) Other considerations
You are now ready to create your database Objects, custom
Reports, Forms, Packages, etc
Create the source code files in the xxmz_TOP directory
appropriate for the type of object. For example forms would be located in
$xxmz_TOP/forms/US or package source code in $xxmz_TOP/admin/sql for example.
Database Objects, such as tables, indexes and sequences
should be created in the xxmz schema, then you need to
a) Grant all privilege from each
custom data object to the APPS schema.
For example : logged in as xxmz 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 xxmz.myTable;
13) Login to sysadmin, Application
Developer Responsibility
Registration of a Form is the responsibility of
Application Developer
In the backend compile your form
su - applmgr
cd $AU_TOP/forms/US
cp TEMPLATE.fmb DEMO.fmb
-- Compilation is the responsibility of the Apps DBA (marked
in Yellow), but developing the form is the responsibility of the Application
Developer
frmcmp_batch module=DEMO.fmb userid=apps/apps output_file=
/d01/oracle/PROD/apps/apps_st/appl/xxmz/12.0.0/forms/US/DEMO.fmx
compile_all=special batch=yes
From now onwards, the development team will register the
form
Application > Form (Register the form)
Other database objects, such as views and packages should be
created directly in the APPS schema
+++++++++++++++++++
ID 216589.1 , 176852.1
+++++++++++++++++++
Customized applications are those which provide individual interest to the organizations that in convert help them to function well. For example take the program required by a state selection that has a huge selection of guides with different topics. On the other hand, there is a small local selection that has limited subject wise guides but includes a great selection on mindset guides.
ReplyDeleteCustom Application Development
Thanks for the valuable post on Custom Applications. This blog post has so much information that helps me.
ReplyDeleteHere i can suggest a read on Custom Applications. Might be useful to you as well. Custom Applications