Fusion Blog

EBS Blog


Contact Us

OA Framework - All Articles
  • 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
In the Part-1 of Application Module extension, we saw the business case for extending an Application Module. Here in the Part-2 of OA Framework Training, for Extensions of AM, I will display Steps with screenshots. Step 1. Download the jad utility
Go to www.google.com

Step 2. In my case, I have <jdevhome>/jdev/myprojects included in my CLASSPATH. Hence I ftp'ed the files to <jdevhome>/jdev/myprojects/oracle/apps/per directory tree.

Step 3. ->Create a new BC4J Package, by right clicking on Project.

->The AM that we wish to extend resides in oracle.apps.per.irc.candidateSelfService.server
Hence, our package name will be oracle.apps.xxper.irc.candidateSelfService.server
Ensure that XXPER is valid Application short name.
select 'x' from fnd_application_vl where application_short_name = 'XXPER'

->Click on Finish.

Step 4. We can see that, for VisitorAM, the RETENTION_LEVEL is MANAGE_STATE.
Hence we will ensure that our new AM will have the same property too.

Step 5.
--> Right click on the new BC4J, and create a new AM.

-->Name of the new AM will be xxircVisitorAM
In the Extends field, click browse and select the AM as shown below.

-> Keep on clicking next until you see Finish. Click on Finish.

--> You will notice that class xxircVisitorAMImpl has been created. Add the below method to that class.
public String validateLogin(String s, String s1)
String parentValidationResult = super.validateLogin(s,s1) ;
if (parentValidationResult.compareTo("Y")==0)
//raise your event here, or insert into some bespoke table
return parentValidationResult;

Step 6. Ensure that the properties and the same, and also ensure that your method being replaced is selected.
Double click on the newly created AM xxircVisitorAM and ensure that RETENTION_LEVEL is MANAGE_STATE.
Also, click on ClientMethods, and ensure that the method validateLogin has been selected.

Step 7. Perform Substitution. Right click on the project, and select "Edit Business Components Project"
Click on Substitution, and select xxIrcVisitorAM on left hand side, and VisitorAM on right hand side. Click on Add button.

Step 8. Your jpx file will look like below
<?xml version="1.0" encoding='windows-1252'?>
<!DOCTYPE JboProject SYSTEM "jbo_03_01.dtd">
PackageName="" >
<Attr Name="_version" Value="" />
<Attr Name="_jprName" Value="xxircVisitorAM.jpr" />
<Attr Name="_ejbPackage" Value="false" />
<Substitute OldName ="oracle.apps.xxper.irc.candidateSelfService.server.xxircVisitorAM" NewName ="oracle.apps.per.irc.candidateSelfService.server.VisitorAM" />

Name this file as xxVisitorAM.jpx

Now, load this jpx into Database using a shell similar to below.
export APPS_PWD

MACHINE_NAME=`sqlplus -s apps/$APPS_PWD <<EOF
set pages 0
set lines 1023
select fnd_profile.value('CSF_EMAP_DS_HOST') || '.ad.ic.ac.uk' from dual ;

PORT_NUMBER=`sqlplus -s apps/$APPS_PWD <<EOF
set pages 0
set feed off
select fnd_profile.value('CSF_MAP_DB_PORT') from dual ;


adjava \
oracle.jrad.tools.xml.importer.JPXImporter ./xxVisitorAM.jpx \
-username apps \
-password $APPS_PWD \
-dbconnection "(description=(address_list=(address=(community=tcp.world)(protocol=tcp)(host=$MACHINE_NAME)(port=$PORT_NUMBER)))(connect_data=(sid=$TWO_TASK)))"

Step 9. FTP all the files from directory tree xxper to $JAVA_TOP/oracle/apps/xxper/..

Bounce apache, and you will notice that your custom logic is now being invoked.

Anil Passi


0 #1 Jay 2007-05-04 00:00
Hi Anil,
Your site and articles are very good.
can you please post tutorials for Extending Oracle Applications (like Installed Base forms) through JDeveloper?. It would be really helpful.

Tha nks,
0 #2 anil passi 2007-05-04 00:00
Hi Jay

when you say base form, are you refering to OA Fwk forms or the D2K forms?

cheer s
0 #3 Isha 2007-07-04 10:13
Hi Anil,
I find your postings really very nice. I have been given a problem to solve in Oracle OAF. The problem is that I have to add a button in an OAF page. This button will have to launch a concurrent request automatically and auto feed the parameters list with values on the screen. Finally it should display the report or result automatically.

All these by just a click of a button.

Do you think it is possible?

If yes could you please post something concerning this topic?

Please if you could also email me directly on
0 #4 Anil Passi 2007-07-04 10:14
Hi There

Basical ly you need to do the below
1. Extend Controller
2. In ProcessFormRequ est, call a method in AM either by extending the AM or by instantiating a new AM. A quick and dirty way would be to make jdbc within Controller itself[not recommended but some people do this]
3. The idea is that you can call a pl/sql package which internally calls fnd_request.sub mit_request

Th anks
0 #5 suresh kommula 2007-08-31 02:08
Can you please brief this with an example anil. your help will be greatly appreciated
0 #6 Kannan Balasubramanian 2007-09-10 07:59
Hi Anil,
I just want to customize a page in Oracle Incentive Compensation Module. The page name is "cnytdsum.jsp" and i cant see any personalization links appear in this screen. I enabled personalization and its enabled in other modules.

I want to change a hyperlink in this page. I want to develop a new page when the user clicks the hyperlink the control should move to my new page. How can i achieve this. Please help.

Your site contains very good informations. Thanks for your articles.

Kannan Balasubramanian
0 #7 Anil Passi 2007-09-10 21:32
Hi Kannan

This isn't a OA Framework page, hence you aren't getting hyperlinks to personalize.

P lease edit $OA_HTML/cnytds um.jsp

Anil Passi
0 #8 Rohini 2007-10-30 06:19
Hi Anil,

I extended an AM in one of the standard Oracle Apps Page. After substituting the new AM, all the LOVs in the standard page stopped working. I think it is a know issue. Do you have a solution for this?

Thanks and Regards,
Senthi l
0 #9 Ronel T 2008-02-06 11:22
Hi Anil,

Now i have done a workaround and not done the modification of the old method in AM.
Now i have just added a new method in which i have incoperated everything.
And i have the followed normal steps for extending an AM and as per the article above.
But after i have done the substitution. I am facing an error , when i am trying to using any lov. it gives me an error saying that the region is not able to find any view instance.
I believe this is an issue which senthil kumar was asking in the above on oct 30 2007.

Please advise me if how i can handle this issue.

Ronel T.
0 #10 Hari Krishna Pinnaka 2009-04-16 03:00
Hi Anil,

your site and articles are very nice .
Can you describe the following ${oa.viewobject name.attributna me} ?
while creating the parameters for EDIT page in search page i am getting error like JBO:25002 Definiton of type not found.
here i want to know the what attributename we have to pass for getting appropriate values in creation page?

Thanks for your knowledge sharing

Add comment

Security code

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Jun 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
   1  2  3  4  5  6
  7  8  910111213

Enquire For Training

Related Items

Fusion Training Packages

Get Email Updates

Powered by Google FeedBurner