Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

Contact Us

Kishore Ryali
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

Search Courses

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 
This article outlines the approach when you want to place your custom java objects in a separate directory other than $JAVA_TOP. It requires changes in system files on Application Server so IAS reads the java files in the custom directory. I advice you to work in close co-ordinance with DBAs and let them know why and what you to want to do.

When you create OAF extensions of existing Oracle EBS objects, you may place custom objects in a package that starts with your company's identifier: .oracle.apps....
For Example: If the name of the company is apps2fusion, then package name will be xxft.oracle.apps.po.server.schema

This creates the same directory structure as in package name, under /myclasses/ in your local machine. Normally you FTP these classes under $JAVA_TOP in Application Server, during deployment. This approach works perfectly. One drawback is you have custom objects hanging around in standard directory structure.

Lets say you want to segregate all the customizations to $XX_TOP so there is a better visibility of custom objects laying around, follow the below instructions to modify system files. These files can be modified directly also, but they may be overwritten by tech stack upgrades. This article is about the safe and generic way to modify these files, so they survive the upgrades.

Before I go any further, let’s learn about a pretty little tool called AutoConfig. More detailed explanation on AutoConfig can be found in Metalink notes 165195.1 and 218089.1

 

AutoConfig is a configuration tool that automates the configuration of Oracle Applications system. AutoConfig has to be enabled first to use it. Without AutoConfig, DBAs have to literally spend lot of hours if not days setting and verifying the instance specific variables after tech stack upgrades. AutoConfig is quick and easy way which saves lot of time and avoids any manual errors in configuring Oracle Applications.

 

AutoConfig uses two context files, one for Application Tier ($APPL_TOP/admin/_.xml) and one for Database Tier ($ORACLE_HOME/appsutil/_.xml). It can be run using $APPLCSF/scripts/_/adautocfg.sh

 

The files generated by AutoConfig contains the below header.

################################################################
#
# AutoConfig automatically generates this file. It will be read and
# overwritten. If you were instructed to edit this file, or if you are not
# able to use the settings created by AutoConfig, refer to Metalink
# document 165195.1 for assistance.
#
################################################################

 

 

Steps for modifying system settings:

 

Suppose custom directory for java objects is $XX_TOP/java, so custom java objects would be placed in $XX_TOP/java/xxft/oracle/apps/po/server/schema

 

  • CLASSPATH environment variable:

CLASSPATH tells Java Virtual Machine (JVM) where to look for user-defined classes and packages in Java programs. By default $JAVA_TOP is mentioned in CLASSPATH variable. CLASSPATH variable has to be edited, to let the JVM know the java classes in custom directory.

 

You can check the directories in CLASSPATH variable, by typing ‘echo $CLASSPATH’ in unix prompt. Instead of editing the CLASSPATH directly, you can do as stated below:

 

When AutoConfig is run, it generates .env file with name APPS_.env in $APPL_TOP

For ex: APPSERPDEV_erpdev.env

This file has a reference to custom .env file by default. Below is the code snippet

 

#

# Source the custom file if it exists

customfile=/app/dev/d01/erpdevappl/customERPDEV_erpdev.env

if [ -f $customfile ]; then

. /app/dvl/d01/erpdvl01appl/customERPDEV_erpdev.env

fi

 

We can use the customfile to set the CLASSPATH, so create a custom .env file in $APPL_TOP with below code:

> vi customERPDEV_erpdev.env

 

export CLASSPATH=$CLASSPATH:/app/dev/d01/erpdevappl/xx/java

 

Verify the CLASSPATH by running the above echo command to check the custom directory.

 

  • Properties files:

AutoConfig uses the template files in $FND_TOP/admin/template to create instance specific properties files. Oracle IAS related properties files are located in $IAS_ORACLE_HOME/Apache/Jserv/etc directory. Two files jserv.properties and zone.properties are important for OA Framework as they are used by JServ Servlet runner.

 

jserv.properties contains global settings for JServ servlet runner. You have to include $XX_TOP/java in wrapper.classpath setting.

 

For Ex:

# Custom classpath

# Customization - added custom classpath for java - 09/03/2008 - Start

wrapper.classpath=/app/dev/d01/devappl/xx/java

# Customization – End

 

zone.properties defines settings for where the servlets can found on disk. You have include $XXCHP_TOP/java in repositories setting.

 

For Ex:

# Customization - added custom classpath for java - 09/03/2008 - start

#repositories=%s_jserv_zone_classpath_begin%%s_tp%/Apache/Jserv/servlets,%s_javatop%/apps.zip,%s_javatop%%s_jserv_zone_classpath_end%

repositories=%s_jserv_zone_classpath_begin%%s_tp%/Apache/Jserv/servlets,%s_javatop%/apps.zip,%s_javatop%%s_jserv_zone_classpath_end%,/app/dev/d01/devappl/xx/java

# Customization – end

 

 

Since modifying these properties directly is not a good option, you can use good friend AutoConfig to generate these properties files. AutoConfig also uses template files for reading any custom settings for Oracle Applications configuration. AutoConfig template files are stored in $FND_TOP/admin/template. Any custom templates can be placed in ‘custom’ directory under $FND_TOP/admin/template.


 

For our properties file changes, Create jserv_ux_ias1022.properties and zone_ias1022.properties files in ‘custom’ directory with the above entries for wrapper.classpath and repositories settings. The run the AutoConfig to generate the properties in $IAS_ORACLE_HOME/Apache/Jserv/. So when AutoConfig is run, it first searches custom templates for settings and generates the properties files in $IAS_ORACLE_HOME/Apache/Jserv/

 

 

Note: The database server must remain available during the AutoConfig run. Only the application tier servers should be shut down.

 

 

I advice you to be very cautious in modifying the system files, better let the DBA do it rightly for you.


Kishore Ryali

Comments   

0 #1 Rehan Yusuf 2008-09-21 05:13
Thanks a ton Kishore, a very useful article indeed. However, I'm requesting to find out more details on custom OAF development. I'm lookin for more information on how and where one should (standards wise) organize their customizations, how to setup one's environment (JDev) for custom development, what is the deployment (also called migration) process for custom OAF development.
In formation on these line would be really helpful.

Thank s,
Rehan Yusuf
Quote
0 #2 kishore Ryali 2008-09-22 11:57
Hi Rehan,

Pls search the apps2fusion blog for OA Framework, there are already tons of articles on how to setup OAF Development environment and deploying extensions to EBS.

Kishore
Quote
0 #3 Mariana 2015-07-03 10:21
Hi Kishore,

Thank you very much for the excellent article. I wonder how much the setup in R12.1.3 might differ from what you've described above
Any tips & tricks?
Thanks in advance
Kind regards
Mariana Angelova
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Aug 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
        1
  2  3  4  5  6  7  8
  9101112131415
16171819202122
23242526272829
3031     

Enquire For Training

Related Items

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner