To Extend- First Run Standard OA Framework pages from jDeveloper
Written by Anil Passi   
Thursday, 29 November 2007
When doing extensions to OA Framework, it is always encouraged that you build up your jDeveloper environment on desktop, so that the OA Framework pages can be run from jDeveloper itself. In this article, I will show you the steps involved in running OA Framework application pages from within the jDeveloper. Once you grasp these steps, then you will find that doing extensions to OA Framework is a very simple task.
Note:- I think these steps are quite easy to follow, however if I get time, I will produce a video demo of the same.

Why should I bother being able to run the Application from jDeveloper?
1.    You can use the debugger within jDeveloper. This makes fixing your bugs very simple.
2.    You can test all your extensions within jDeveloper itself
3.    No need to bounce the apache or mid-tier on the server when doing recursive testing.
4.    No need to FTP files again and again to the server during development.
5.    No need to run xmlImporter again and again, in case you have build custom pages that integrate with standard OA Framework pages
6.    Optionally, you can simulate the login of any business user when running OA Framework pages from jDeveloper, by using their username and password****Do not reset their passwords on production system*****.




What are the steps to prepare your desktop environment to run OA Framework pages?
1.    FTP the .class & .xml files from $JAVA_TOP to your PC, into jdevhome/myclasses
2.    Copy contents of my classes into myprojects
3.    Delete all the *.class files from myprojects
4.    FTP files from $PRODUCT_TOP/mds to myprojects, for example from $ICX_TOP/mds
5.    Create a OA Workspace and OA Project in jDeveloper
6.    FTP the .dbc file from $FND_TOP/secure to <jdevhome>/dbc_files/secure
7.    Setup jDev project properties for runtime connection. For this you will use the dbc file, FND User Name and its password. You will also specify the responsibility key and responsibility application short name.
8.    Ensure that the user specified in jDeveloper project runtime property has access to the responsibility specified in previous step.
9.    Create a DB Connection from jDeveloper. The jdbc connection details can be picked up from jDeveloper or by using tnsping or by reading the tnsnames.ora
10.    Include all available libraries into jDeveloper project.

Important:-
Please note that it is important to ftp .class files in binary mode and the .xml files in ascii mode.





Why am I copying files[excluding .class] from $JAVA_TOP into myprojects directory of my PC?
This is required to facilitate extensions to BC4J components.
If your intention is merely to run the OA Framework page from jDeveloper, then you do not need this step. The reason for this step however is to make the .xml files for VO, EO & AM to become available in myprojects. In case you wish to extend any of the BC4J[vo,eo,am] components, then these xml files must be present in myprojects directory of your desktop. Without thee xml files being present underneath myprojects, you will be unable to extend those BC4J objects.






Why are .class files not required in myprojects?
.class files are required for runtime only environment.
In fact even *.xml files from $JAVA_TOP are not required in myprojects, unless you wish to extend the given BC4J object.





What exactly do .xml files from $JAVA_TOP contain?

These xml files contain the design/structure/meta-data [call it what you want] of the View Objects, Entity Objects and the Application module. Unless these xml files are in myprojects, you will not be able to extend these BC4J objects.




Why do we place .class files into myclasses?

myclasses is by default included in the CLASSPATH of your OA jDeveloper project. Hence, these classes are available for the runtime engine of OA Framework engine.




Assuming I am extending iProcurement, don’t these classes depend upon FND classes? Why aren’t we FTP’ing files form $JAVA_TOP/oracle/apps/fnd/* to our PC?
When you download the jDeveloper patch from Metalink, it comes bundled with relevant version of FND Libraries in a zipped file. This zipped file is available in the default classpath/library for every OA Framework project.
In fact, for this very reason, you must download the right version of jDeveloper patch from Metalink, depending upon which version of Cumulative Upgrade patchset you are on.


Comments (26)add
What files need to be FTPed?
written by Kunal , December 04, 2007
Hi Anil,

I am new to this field and so pardon me for some really elementary questions.

Few questions that I have:
1. FTP the .class & .xml files from $JAVA_TOP to your PC, into jdevhome/myclasses
--Are we talking about the .class and .xml files ONLY from $JAVA_TOP or from the subdirectories as well?
4. FTP files from $PRODUCT_TOP/mds to myprojects, for example from $ICX_TOP/mds
--Just the files or the subdirectories as well?

Regards
Kunal
need of EO
written by Ramkumar.ch , December 05, 2007
hi Anil,
without EO can we create VO.
In which situation we create VO based on EO
In which situation EO is not necessary

Regards
Ramkumar
...
written by Anil Passi , December 05, 2007
Hi Ram

If your VO is for read-only operation like LOV, then please do not create EO.
Your VO will be based on EO in cases where you wish to modify the data

Thanks,
Anil Passi
class file not found even it exists
written by Tenny , December 06, 2007
Hi Anil

Very good web site, I have to say.

I downloaded the class files from Linux server to a windows machine using binary mode. However, after I extend the class and try to compile the project. I got an error saying the class file could not be found, but it actually exists.
I used the WinSCP to download the class file.
Hope you have some ideas

Thanks
...
written by Anil Passi , December 06, 2007
Hi Tenny,

You need to FTP all the dependent classes, perhaps you are missing some of them.
I will do a video tutorial this weekend on this topic-for ease of understanding.

Thanks,
Anil
oracle.apps.fnd.framework.OAException: Could not load application module ...
written by Ramkumar.ch , December 06, 2007
hi anil
i downloaded all the files.and while ruuning page in jdev iam facing the following error.

oracle.apps.fnd.framework.OAException: Could not load application module ...
Error: No BC4J Application Modules were found in the workspace
written by KK , December 07, 2007
Hi Anil,

I carried out all the steps as mentioned above.
One interesting thing-All XML objects corresponding to the AM,VO amd EO are also present in the same myprojects directory.On the action pallete, on clicking on the list of value for the Application module, no values could be retrieved.
Can this error be because I FTPed the XMP files in the binary mode?

Regards
KK
How to import the orders where some of the order lines closed and some with open status ?
written by Srinivas Thatikonda , December 07, 2007
Hi Anil,

I am Srinivas Thatikonda working as a Oracle Applications Technical Consultant for one of the US based client. i am working on sales order conversion and the requirement is importing orders where some of the order lines CLOSED and some with OPEN status and the order header status is BOOKED.

I would like to have your advise on how to deal with the above scenario.


Thanks & Regards,
Srinivas.
Significance of Server.xml?
written by kk , December 08, 2007
Hi Anil,

What is the significance of copying server.xml from the Instance into myprojects? Is it a mandatory step when modifying BC4J objects?

Thanks in advance,

regards
KK
Costing of Payments in Oracle Payroll
written by Ganeshan Rajagopal , December 10, 2007
This is regarding the "Costing of Payments" functionality available in PF_K_RUP1

Scenrario
========

1. I have employees who are paid either thru (i) Cheque or (ii) Direct Deposit
2. Created two different payment methods and attached to payroll as valid payment method.
3. For both the above payment methods i have attached the bank and entred the information related to Clearing A/C, Error A/C etc in the GL tab.
4. I have attached the above payment methods to two different employees
a) One employee is attached Cheque payment method
b) The second employee is attached to Direct Deposit
5. Run the Payroll
6. Run the prepayment process
7. The payment status for both the employees is displayed as "UNPAID"

Note:
1) The "costing of payment" process only picks up the payments that has the status as "PAID"
2) I AM USING UAE LEGISLATION

Now the question is

a) I belive the payment status gets changed to "PAID" when you run the "Check Writer" for Check payment method and "Deposit Advice" for Direct Deposit payment method. - Kindly confirm if my understanding is correct.

b) As there is no seeded "Deposit Advice" or "Check wirter" process available for UAE localization. How is this handled?

c) How can i change the payment staus to "PAID" in UAE localization so that these records are picked up by Costing of Payment process?

Regards
Ganeshan Rajagopal
Readonly page.
written by Ramkumar.ch , December 11, 2007
hi
iam having one sanerio,
if the user logon by giving his username and password.how to check whether his user name and password is valid or not.after checking the user name and password the enduser clicks on function say example myinformation,then it has to display his Information like his name,address,mobile number just like a read only page.can you give any suggession for this.

regards
Ramkumar
Oracle fundamentals
written by Habeni , December 11, 2007
Hi Anil,
This is my first time checking this site out. It is very informative and I am overwhelmed by all the interesting ideas and guides U giving to people, your site has been an inspirattion for me. Please, I am in process of taking oracle exam IZO-232 for 11i sys administration fundamentals, is there any help you can guide me through or provide I've been studying for months now but don't know what to read any more.

Thanks and best regards smilies/smiley.gif
Error while running PG.xml from Jdev
written by SATYABRAT PADHY , January 09, 2008
Error while running PG.xml from Jdev

Hi Anil,

I have downloaded the entire Oracle folder from $JAVA_TOP to myclasses.
Created package inside myproject. C:Jdev10gjdevhomejdevmyprojectsXXTJXoracleappsp erselfservice
Under this, I have common & newhire two folders.
I have put the PG.xml files from $PER_TOP/mds to below location.
C:Jdev10gjdevhomejdevmyprojectsXXTJXoracleappsp erselfservice
ewhirewebui

I created OAWorkspace and a project. Made Oracle Application RUNtime connection and business component connection. Added all Libraries.
Successfully built the Application(with few warnings though).

But while running the "CreatSrchNewHrPG.xml" in Jdev it errors out. As pasted below. Please help. Thanks in Advance.
---------------------
Error Page
Exception Details.
oracle.apps.fnd.framework.OAException: Could not load application module 'oracle.apps.per.selfservice.common.server.CommonAM'.
## Detail 0 ##
JBO-30003: The application pool (socaxs3er03.xglbsnet.comTJXEBDV11522oracle.apps.per.selfservice.common.server.CommonAM) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition oracle.apps.per.selfservice.common.server.CommonAM of type ApplicationModule not found
## Detail 0 ##
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition oracle.apps.per.selfservice.common.server.CommonAM of type ApplicationModule not found
## Detail 0 ##
oracle.jbo.NoDefException: JBO-25002: Definition oracle.apps.per.selfservice.common.server.CommonAM of type ApplicationModule not found
JBO-30003: The application pool (socaxs3er03.xglbsnet.comTJXEBDV11522oracle.apps.per.selfservice.common.server.CommonAM) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition oracle.apps.per.selfservice.common.server.CommonAM of type ApplicationModule not found
## Detail 0 ##
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition oracle.apps.per.selfservice.common.server.CommonAM of type ApplicationModule not found
## Detail 0 ##
oracle.jbo.NoDefException: JBO-25002: Definition oracle.apps.per.selfservice.common.server.CommonAM of type ApplicationModule not found
at java.lang.Thread.run(Thread.java:595)

Logout

Copyright (c) 2006, Oracle. All rights reserved.


...
written by Anil Passi , January 09, 2008
Hi Satya

Please search for CommonAM* within myclasses?
Also, were class filed FTP'ed in binary mode?

Thanks,
Anil Passi
Error while running PG.xml from Jdev
written by SATYABRAT PADHY , January 09, 2008
Hi Anil,

Thanks a lot for your reply.

1. I have CommonAM.xml & CommonAMImpl.class inside C:Jdev10gjdevhomejdevmyclassesXXTJXoracleappspe rselfservicecommonserver

2. I have downloaded the files using Winscp. As automatic mode in winscp downloads .txt, .xml ...etc mode and .class files in Bin mode.

Please suggest.
Thanks -
_ Satya
...
written by Anil Passi , January 09, 2008
Hi Satya

You have copied Oracle's files underneath myclases-xxtjx

C:-Jdev10g-jdevhome-jdev-myclasses-XXTJX-oracle-appspe-rselfservice-common-server

Instead these should be underneath myclasses-xxtjx

Only your custom code must be underneath myclasses-xxtjx

Thanks,
Anil Passi
...
written by SATYABRAT PADHY , January 09, 2008
Hi Anil,

I have downloaded the files and kept under JDEV_USER_HOME-myclasses-xxtjx-oracle-apps-....
I mean as the directory structure we find in unix, i have create in similar fashion inside my myclasses folder. Hence all the files are under their respective folder name. Like all files of self service are under JDEV_USER_HOME-myclasses-xxtjx-oracle-apps-per-selfservice....

As per your reply, do i need to put all .class files JDEV_USER_HOME-xxtjx-ALL .class files here?
And where shall i put the other files(like .xml)

Similarly what will be structure of myprojects.
I'm working in Jdev 10.1.3.3.0 and Apps 12.0.2.

If you have any video for this please share with me.
Please suggest.
Thanks -
- Satya

...
written by Anil Passi , January 09, 2008
Hi Satya

You Standard Oracle Java files are under JAVA_TOP/oracle/apps

Hence, they must not be copied to myclasses/xxtjx/oracle/apps

Instead they should be copied to myclasses/oracle/apps


Think of myclasses being JAVA_TOP

Thanks
Anil
Error while running PG.xml from Jdev
written by SATYABRAT PADHY , January 11, 2008
Hi Anil,

Thanks Very Much. The AM error is resolved. Meanwhile running the page, the page pops up and renders. But after sometime errors out saysing
"The selected action is not available. The cause may be related to security. Contact your system administrator to verify your permission level for this action. Click Home menu or choose a different menu option to navigate out of this page." The good thing is that now I can see the page in Oracle Apps enviornment. But, not able to determine the error reason from Jdev. The Self-Service responsibility is attached to my user and I can open "HIRE" page in APPS enviornment. But not able open through Jdev. Please suggest.

Thanks -
- Satya
Error while running PG.xml from Jdev
written by SATYABRAT PADHY , January 17, 2008
Hi Anil,

I'm trying to run (N)Manager Self-Service > Hire(CreatSrchNewHrPG.xml) from Jdev. While running the page from Jdev it throws an error "The selected action is not available. The cause may be related to security. Contact your system administrator to verify your permission level for this action." But while running HireDetailsRN.xml page shows that particular region. Thought you might have come across this error. Please help.

Thanks -
- Satya
Error while running PG.xml from Jdev
written by SATYABRAT PADHY , January 18, 2008
Hi Anil,

Do i need to download server.xml to myprojects? Though the entire Oracle/apps/... structure is built up in my myclasses/oracle/apps..

Please help!!!
Thanks -
- Satya
Apps running on Windows
written by Jay Patwa , January 30, 2008
Hi Anil,

My client runs Oracle Apps on Windows.
In that case, do i need to worry about ftp mode? I would just be copying files from one folder to another...Am i right?

Also, do we need to do anything with server.xml. I do not see it in the steps you mentioned.

Thanks in advance!
Jay
...
written by Anil Passi , January 31, 2008
Hi Jay

In your case, yes simple file copy is all that you need.

Regarding server.xml, it will be needed only if you wish to extend a bc4j object.
this file will be in /server directory

You do not require server.xml for running the page.
But you do need it for extending bc4j object.

In some cases, Oracle does not provide server.xml. In those cases you can create a server.xml manually too

THanks,
Anil
Running Self-Service Page from JDev...
written by SATYABRAT PADHY , February 01, 2008
Hi Anil,

Do you have a VIDEO to share for running Self-Service pages from Jdev?
Please share. Not able to run the page from JDev yet. It's still throwing error.
Please help!!!
Thanks -
- Satya

Video
written by Alex , February 23, 2008
Hi Anil.

Could you place some videomaterial for this article (for all steps in this article) ?
...
written by Amit Singh , March 20, 2008
Hi Anil,

Could you please do some video tutorial for downloading classes?


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

busy