<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content



Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color

Related Items

Home arrow Technical Articles arrow Oracle Application Framework arrow Testing OAF Extensions from jDeveloper -Things to keep in mind
This website has now moved to http://apps2fusion.com

Testing OAF Extensions from jDeveloper -Things to keep in mind | Print |  E-mail
Written by Anil Passi   
Thursday, 31 January 2008
Ideally, you must develops and test all your extensions from jDeveloper itself.
This avoids the need for clearing meta-data cache or bouncing the apache or mid-tier

However, you do at times need to test your changes on the server. Generally you will do so when extension is very minor.

When to bounce what, I mean, should we bounce just the Apache or the entire Mid-tier?, for OA Framework changes to take effect.

What is the difference from end-user perspective between apache bounce and mid-tier bounce?
In case of Apache bounce, only the self service[oa framework] sessions will get killed. However in case of entire mid-tier bounce, not only the self service, but also D2K sessions [jInitiator] will be killed.

Usually when we begin development on OAF, in early days we are not sure when to bounce what when deploying your OA Framework developments or extensions to the server.
These are the very basic things one must know, for their OAF changes to take effect after deployment to the server.

  1. Any changes done to files located in $JAVA_TOP requires an apache bounce

           NOTE:- No need to bounce the complete mid-tier

  1. Any changes done to files in MDS Pages will require a full mid-tier bounce. For example, you have customized a OA Framework Page definition [ideally you should need do this, as the same results can be achieved by extension to controller]

  2. When you do personalizations, no bounce is required. This holds true if you have imported the personalizations.

  3. For BC4J substitutions to take effect, you must bounce the complete mid-tier

Here is the table that explains the same

Nature of change

Just Apache Bounce

Complete Mid-Tier bounce

Changes to .class files or xml files that are deployed in $JAVA_TOP


Changes to Page definitions


Personalizations done through screen

Not required

Not required

Personalizations imported

Not required

Not required

BC4J Substitutions


Comments (13)add
written by Debojyoty Sadhukhan , February 01, 2008
What exactly is apache bounce and mid-tier bounce ?

I am aware of looging in as the 'appl' user in the mid tier
>adapcctl.sh stopall
>adapcctl.sh startall

Is this apache bounce or mid-tier bounce ? I have noticed doing this also ends any forms session open.

written by Anil Passi , February 01, 2008
For Apache bounce, try this ["stop" instead of "stopall"]
$COMMON_TOP/admin/scripts/$TWO_TASK*/adapcctl.sh stop
$COMMON_TOP/admin/scripts/$TWO_TASK*/adapcctl.sh start

This will not kill your forms sessions

Anil Passi
Enabling of Concurrent Request Submission on Self-Service (XML Reports with Word Template)
written by kuber , February 04, 2008
Anil Sir,

Warm Regards from Me.

Thanks for being a guide for us since quite a long time. We have been referring your site and the articles in it and gaining knowledge from it.

Thanks Again.

Like so many issues which I am being facing, we got a solution for that in your site/Metalink.

I am facing an issue where I would like to enable the Concurrent Request Submission on Self-Service (XML generated by RDF with Word Template or XML generated by PL/SQL stored procedure with word template) for the users. The user will have the opportunity to submit the request without using the Oracle Core Forms. Following are the queries from my end:-

o Is this possible to do? I have tried the same using Oracle Reports (RDF) and succeeded.

o If Yes, How can it be done?

o If No, can you suggest me an alternative solution?

Request your help on this.

Thanks & Regards


91 9999110457

kuber.singh@wipro.com , Kuber.vikramsingh@genpact.com

written by Anill Passii , February 04, 2008
Hi Kuber

Please dont call me Sir

To run XMLP program, fist call API

Then call API

SYntax will be
x_submit_status := fnd_request.set_print_options(
printer => l_printer_name,
style => 'YourPrintStyleHere',
copies => 1,
save_output => TRUE,
print_together => 'N');

I think if you call fnd_request.submit_request from within a Report, then print options are already found to be set in advance.
The same may not be happening when running the XMLP from Form

Anil Passi

written by Gopik , February 04, 2008
Hi Anil,

I have installed Apps on my pc and want to install Jdev.
Which version of JDev will be ideal for this Apps version?
Earlier, you said Jdev9 would be ideal, but i didn't find any downloads for this version in Oracle site. Can u pls suggest me.
Thanks & Regards,
written by Anil Passi , February 04, 2008
Hi Gopik

Please find excerpt from Metalink

You need to download Patch 4573517 from Metalink

Metalink Note:416708.1
Subject: How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12

Applies to:
Oracle Applications Framework - Version: 11.5.10 to 12.0
Information in this document applies to any platform.

When you create extensions to eBusiness OA Framework pages, you must use the version of JDeveloper shipped by the eBusiness product team.

The version of JDeveloper is specific to the ATG patch level, so there is a new version of JDeveloper for each release of ATG patchset

This note gives the instruction on how to find right JDeveloper patch for creating OA Extensions with eBusiness Release 11i and Release 12

To determine which patch to use, you can check the framework version in your instance by using http://host:port/OA_HTML/OAInfo.jsp, then choose the matched JDeveloper patch.
Release 11i
OA Framework 5.10 patch JDeveloper 9i Patch
ATG.PF.H (patch 3438354 or Oracle Applications 11.5.10) Patch 4045639 9IJDEVELOPER WITH OA EXTENSION ARU FOR FWK.H
ATG PF CU2 (patch 4125550) Patch 4573517 Oracle9i JDeveloper with OA Extension for 11.5.10 CU2
11i.ATG_PF.H RUP3 (patch 4334965) Patch 4725670 9IJDEVELOPER WITH OA EXTENSION ARU FOR 11i10 RUP3
11i.ATG_PF.H RUP4 (patch 4676589) Patch 5455514 9IJDEVELOPER WITH OA EXTENSION ARU FOR 11i10 RUP4
11i.ATG_PF.H RUP5 (patch 547385smilies/cool.gif Patch 6012619 9IJDeveloper With OA Extension ARU FOR 11i10 RUP5

11i.ATG_PF.H.RUP6 (patch 5903765)
Release 12

ATG Release 12 Version
JDeveloper 10g Patch
12.0.0 Patch 5856648 10g Jdev with OA Extension
12.0.1 (patch 5907545) Patch 5856648 10g Jdev with OA Extension
12.0.2 (patch 5484000 or 5917344) Patch 6491398 10g Jdev with OA Extension ARU for R12 RUP2 (replaces 619741smilies/cool.gif
12.0.3 (patch 6141000 or 6077669) Patch 6509325 10g Jdev with OA Extension ARU for R12 RUP3
12.0.4 (patch 6435000 or 6272680) Patch 6724031 10G JDEVELOPER WITH OA EXTENSION ARU FOR R12 RUP4

Anil Passi
how to get server.xml
written by ronel , February 05, 2008
hi Anil,

I have been a great follower of this site. And thanks to your articles i have been really able to learn good knowledge of OAF. I have just started working on some OAF components. right now i am trying to extend some objects in Iprocurement. what i am trying to do is that i want to add some code in AM and invoke the method from a controller. but while i am trying to extend in jdeveloper , i am not able to see any business component. this i believe is because there is not server.xml file in the server directory for the some component.
so i just want to know how do i get this . i have look up in the server but the server.xml is not present. so i had read sometime ago i have to ask for the server file to oracle. can you please guide me on what to do in this regard? your response would be most appreciated.
written by Anil Passi , February 05, 2008
Hi Ronel

You are doing the right thing, i.e. extending the AM to add extra methods, and then invoke them via controller extension.
In iProc, a couple of server directories do not have server.xml

You can create server.xml by copying an existing server.xml from other directory.

Next, you can edit that as shown below.
NOTE:- You do not need to include all the BC4J objects in server.xml
include only those that you wish to extend.

Anil Passi

< ?xml version="1.0" encoding='windows-1252'? >
< !DOCTYPE JboPackage SYSTEM "jbo_03_01.dtd" >

< !-- $Header: server.xml 115.1.11510.1 2005/04/20 11:51:50 skjaiswa noship $ -- >

< JboPackage
PackageName="oracle.apps.icx.por.rcv.server" >
< DesignTime >
< Attr Name="_version" Value="" / >
< Attr Name="_ejbPackage" Value="false" / >
< /DesignTime >
< Containee
Name="AM NAMe what you wish to extend"
FullName="patch of AM you wish to extend, i.e. oracle.apps.icx.por.rcv.server.ReceiveItemsAM"
ObjectType="AppModule" >
< /Containee >
< Containee
Name="VO Name you wish to extend...ReceiveMyItemsVO"
FullName="Path of VO ...oracle.apps.icx.por.rcv.server.ReceiveMyItemsVO"
ObjectType="ViewObject" >
< /Containee >
< /JboPackage >

modifying the method in the old AM
written by ronel , February 05, 2008
Hi Anil,

Thank you very much for the server.xml solution you provided.
It Solve the problem of the object extension.
This is the first time i am doing an AM extension but now i am stuck with one problem.

My idea was to extend the AM and as well as at the same time modify one the method in the OLD AM. So is this possible? because this method would allow me to some db transaction with the values i required to. I would be modifying the logic of the method but just to put some extra line of code in the method.
what i am planning to do is copy the old method from the old AM and put it in new AM and modify the method.but i am worried if this is going to work or not?

Please advise me on the same.

written by Anil Passi , February 05, 2008
Hi Ronel

It will work, or else what use is of extension.

So, you have two options...
Option 1. Your extra logic gets executed after standard logic has been executed?
If so, then
call super.methodFromOrigAM
execute your custom bits

Option 2. Your extra logic needs to be embedded within the standard functionality
In this case DO NOT CALL super.methodFromOrigAM
copy paste the complete original method into extended AM and modify where applicable.
Please be reasonable with your customizations though

In either case, option 1 or option 2, you need to ensure that method in extended AM has exactly the same name and signature as that of method in Original AM

Anil Passi
written by Ronel T , February 05, 2008
Hi Anil,

I have followed the Option 2 for adding logic to old Method in Old AM.

I will give u whole breif of what i have done till now.

1. i hava extended correctItemsAM as xxicxCorrectItemsAM
2. then i have added a custom method execsql() in the newAM
3. i have copied the public boolean correctitems() method from the OLD AM
into the NEW AM and added my code in the correctitems().
4. I then substitute the old AM with the New AM
5. I tried compiling and it's giving a lot compilation errors after i have added the correctitems() method. then i copied the imports from Old AM and put into the new AM . that fixed some of errors but still some compilation errors persist.

Am i missing something in the above steps?

Ronel T.
written by Anil Passi , February 05, 2008
What are the errors? Please elaborate
written by Ronel T , February 05, 2008
Hi Anil,

the errors are becaused of the some of the variables used are not defined in the new AM.
1. rcvutil.starttimeprocedure(''); rcvutil not found
2. correctvoimpl not found. etc.

this are some infact some of the variables used in the old AMImpl not explicitly defined.

i can't send u the copy the errors as the desktop i m working is not accesible from my system.

Ronel T.

You must be logged in to a comment. Please register if you do not have an account yet.