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">
<JboProject
Name="xxircVisitorAM.jpr"
SeparateXMLFiles="true"
PackageName="" >
<DesignTime>
<Attr Name="_version" Value="9.0.3.13.75" />
<Attr Name="_jprName" Value="xxircVisitorAM.jpr" />
<Attr Name="_ejbPackage" Value="false" />
</DesignTime>
<Substitutes>
<Substitute OldName ="oracle.apps.xxper.irc.candidateSelfService.server.xxircVisitorAM" NewName ="oracle.apps.per.irc.candidateSelfService.server.VisitorAM" />
</Substitutes>
</JboProject>
Name this file as xxVisitorAM.jpx
Now, load this jpx into Database using a shell similar to below.
APPS_PWD=apps
export APPS_PWD
MACHINE_NAME=0
PORT_NUMBER=0
export MACHINE_NAME
export PORT_NUMBER
getPortMachine()
{
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 ;
exit
EOF`
PORT_NUMBER=`sqlplus -s apps/$APPS_PWD <<EOF
set pages 0
set feed off
select fnd_profile.value('CSF_MAP_DB_PORT') from dual ;
exit
EOF`
}
getPortMachine
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.
Comments
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,
Jay.
when you say base form, are you refering to OA Fwk forms or the D2K forms?
cheer s
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 isha0108
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
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.
By,
Kannan Balasubramanian
This isn't a OA Framework page, hence you aren't getting hyperlinks to personalize.
P lease edit $OA_HTML/cnytds um.jsp
Thanks,
Anil Passi
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
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.
Regards
Ronel T.
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
Pinnaka
RSS feed for comments to this post