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 this OA Framework training article, you will see step by step Audio-Visual demo to Develop a Custom screen using OA Framework and you will also see how that Custom Screen can be embedded/integrated within a Standard OA Framework screen, using Personalizations.

There are two options available to embed a Custom Screen into a standard OA Framework Screen:-
Option 1. Use personalization and create new item to reference the Custom Screen
Option 2. Extend the Controller, and programatically add custom bean into the Main Page's bean

For this demo, I will use the Personalization approach, and this should be the preferred approach too.

Important: These are bandwidth hungry video tutorials. If the website is non-responsive, then please visit after couple of hours to retry.

Firstly I will do some Q&A

Is this approach patching/upgrade safe?
Indeed, given that all the development happens within a custom java package. This will be deployed underneath a custom directory of $JAVA_TOP on your server.

Will this be a very long Audio Visual Demo?

Correct, hence I have broken this demo into four different Audio-Video sessions. All the four videos can be accessed from this article.
Obviously, you will need your headphones to follow the audio in these training sessions.

Which version of jDeveloper was used for this demo?
This demo was carried out on 11.5.10 Rollup4/CU4 level. If you wish to know the Metalink Patch Number for this version of jDeveloper, then kindly see the comment section of this link

Steps for this OA Framework Extension demo

Audio Video 1: Understand the business requirements.
In this video you will understand the business requirement, i.e. you will see the standard OA Frameworkk screen into which a custom region must be embedded. In this section, we will also create a custom database table that upon which our Custom Screen will be based.

Audio Video 2: Create various BC4Js for our custom screen, followed by creating EO, VO, AM and a AdvancedTable based Custom screen.
In this section, we will design and develop a screen in OA Framework without writing a single line of code.
The steps are:-
1. Create BC4J and Entity Object
2. Create View Object and Entity Object
3. Create Application Module and attach VO
4. Create a package to hold Custom Page
5. Build a custom page within StackLayout region using Advanced Table Bean of OA Framework

Audio Video 3: Write few lines of code for the Controller.
This code will be written in a manner that makes this custom screen pluggable into the standard OA Framework Screen.
The custom screen will execute query to display data for the current PO Header Id of the standard OA Framework Page.
The steps are:-
1. Find out the page parameter from standard screen that we can use in Custom Screen
2. In controller, call a AM method passing it the PO Header Id
3. In AM, set the where clause of the VO, and execute query for the Current PO Header Id of standard page.

Audio Video 4: Finally, we will embed our custom screen into the Main OA Framework Screen.
Here you will see the steps for personalization, and you will also see this working demo of this tutorial

Anil Passi


0 #1 ajaysingh 2007-05-28 00:00
really good one this video
0 #2 Sharad 2007-05-29 00:00
Hi Anil,

The tutorial was very good. The sync between the audio and video was perfect this time. Can you do a similar kind of stuff for example with Extensions as well?

Thanks ,
0 #3 Anil Passi 2007-05-29 00:00
Hi Sharad,

I will consider doing that, although I have already covered all possible extensions using typed articles.

Ch eers,
Anil Passi
0 #4 balkrishna 2007-05-30 00:00
It nice to here from you this Excellent Article After long gap in the writing on we site but the topic u have choose and the presentation is excellent .

Just Keep Going on so that we people get some good knowlege

bal krishna
0 #5 Abhishek 2007-06-06 00:00
Hi Anil,
Thanks very much for this article, its very helpful. I had a request, I am very new to Jdeveloper and currently working on SSHR. I need to make some code changes in some self service pages. Can you please let me know how to get the pages on my local machine, which all files do we need and from where. And how to open them in Jdeveloper and migrate them back after changes.

Thanks Again!!
0 #6 Anil Passi 2007-06-07 00:00
Hi Abhi

1.To get SSHR Pages, go to $PER_TOP/mds on mid-tier
FTP these into jDevhome/myproj ects
2. For BC4J and webui etc
FTP all the classes from $JAVA_TOP/per and FTP those into jdevhome/myclas ses/oracle/apps /per
3. Ftp all the xml files from $JAVA_TOP/per and FTP those into jdevhome/myproj ects/oracle/app s/per
4. Open the BC4J that you wish to extend, by opening server.xml in respective directory
NOTE : You will also need to FTP all the dependent files in case you wish to Unit test your changes from jDev itself

Thank s
Anil Passi
0 #7 ramkumar 2007-06-22 00:00
hi anil,

what are all the files we need to download while doing EO or VO or CO or AM extensions.

0 #8 Anil Passi 2007-06-22 00:00
Hi Ram,

I guess you wish to extend some BC4J, hence asking the question?

If so, the BC4J that you wish to extend must be FTP. To keep things simple, FTP everything from related directory java_top and then, FTP the dependent objects too. Doign so, you will be able to rebuild and run your extensions within jDeveloper itself

Thank s,
0 #9 Gayathri 2007-09-15 13:51

I am working on a customization in which I am required to add two buttons-Accept and Reject.On the click of the Accept the flow should go to another JSP page. On click of the Reject button the flow should move on to a different page.I believe this is a workflow modification and personalization .Can someone help me out.
0 #10 Anil Passi 2007-09-15 14:30
Hi Gayatri

I need more information, if you can please specify the page you are trying to extend.

In case you are extending a standard OA Framework page, then you need to extend the controller class. From the controller class, you can do
if pageContext.get Parameter("Name OfButton") != null
pageContext.set ForwardURL....

0 #11 yaman 2007-09-25 10:02
0 #12 Peter 2007-09-27 00:55
Hi Anil,
Thanks very much for this article, its very helpful for a new to OA Framework extension, like me. I had a request, and currently working on AR Credit Management (CMGT). I need to add couple new fields into Create Credit Application page (/oracle/apps/a r/creditmgt/app lication/webui/ ARCMCREDITAPPPA GE). The values in the new fields will be inserted or updated in a custom table when use submits the application. Could you please let me know how to extend this, specially how to save these values into the custom table?

Thanks Again!!

0 #13 Anil Passi 2007-09-27 05:34
Hi Peter

Prior to embarking upon extension of the OAF Screen, see if this can be achieved in a conventional manner.

One idea could be
1. Enable DFF on that screen, for those additional fields
The ValueSet against the segment can be used for validation via LOV/poplist
2. Check if there is a business event that is fired, when the record is changed in that OAF Screen.
3. Subscribe to the businness event via pl/sql API, and in the pl/sql subscription of business event transfer values from DFF to custom table.

Anil Passi
PS: Some of the business events you can look at are
oracle.apps .ar.transaction .CreditMemo.com plete
oracle.ap ps.ar.transacti on.CreditMemo.i ncomplete
oracl e.apps.ar.trans action.CreditMe mo.modify
oracl e.apps.ar.appli cations.CreditM emoApp.apply
or acle.apps.ar.ap plications.Cred itMemoApp.unapp ly
oracle.apps. okl.cs.issuecre ditmemo
oracle. apps.okl.so.cre ditapplication
oracle.apps.ar. cmgt.CreditRequ estRecommendati on.implement
or acle.apps.ar.tr ansaction.Sales Credit.delete
0 #14 Peter 2007-09-27 06:57
Hi, Anil,

Thanks very much for your quick response.

Could you advice how to enable the DFF on the screen? I checked the base table of Create Credit Application page and the table does not have attribute fields for DFF. Is this mean I cannot use DFF to capture the values user entered?

I'll look at the business event you pointed.

Thank s again!!

0 #15 Rakesh Sreenivasa 2007-10-06 14:12
Great tutorial
0 #16 Naveen Sreeramoju 2007-10-09 07:30
Hi Anil,

This is a very good article and thanks for your effort.. :)

Nave en S
0 #17 loganathan s 2007-10-19 10:10
This website is used for all kind OA framework users.From the beginners side its very usefull.

Thank s,
loganathan s
0 #18 karan76 2008-01-08 14:29

First thanks for spending time to help people in need.GREAT JOB.

1). I need help in create a self-service page, in which I need to get assignment_id of the person that logged into the sshr application.

2 ). Is there some source code available or able to rep some code from seeded self-serivce pages.

3). what is this about extending ? I know personalization s but how does this extensions work.

OA Framework Version
MDS Version (build 555)
UIX Version
BC4J Version

Jdeveloper Version ( build 1453)
Oa framework value : 11.5.10CU3 ( 903813_1550_4)

Please help
0 #19 Madhu Goyal 2008-02-18 15:42
To get SSHR Pages, go to $PER_TOP/mds on mid-tier
FTP these into jDevhome/myproj ects
2. For BC4J and webui etc
FTP all the classes from $JAVA_TOP/per and FTP those into jdevhome/myclas ses/oracle/apps /per
3. Ftp all the xml files from $JAVA_TOP/per and FTP those into jdevhome/myproj ects/oracle/app s/per
4. created work space and project.
how to run this application from jdeveloper before modifying it.
0 #20 Mike W. 2008-03-12 21:56
Your website is terrific, I've been studying it daily. I hope you can help with a problem I'm having. In IExpense, OIE_AUD_AUDIT_P AGE has a tab with expense lines that have detail buttons for some of the lines. Another page, OIEMAINPAGE, has ExpensesSubTabs RN which shows the same expense lines with detail buttons for all of the lines. I'd like to hide the tab contents on OIE_AUD_AUDIT_P AGE and insert the ExpensesSubTabs RN. I've tried this by doing the personalization steps in AudioVideo 4, but it crashes. The 2 pages use the same AuditReportLine sVO, but OIE_AUD_AUDIT_P AGE has AuditAM, AuditPageCO, and ExpensesTabCO, whereas OIEMAINPAGE has WebExpensesAM and ConfirmationPag eCO. Can you give any recommendations on how to proceed?
Thanks again for making such a great website!
0 #21 Francis 2008-03-14 23:44
Hi Anil,

I went thru the whole training videos fro this customization as I have a very similar task onhand. But this is on one of the iSupplier pages. Below is what I am doing: Any help is appreciated. Thanks in advance.
====== =============== =============== =============== =============== ======
>> I have created a standalone custom region. Meaning, I haven't imported any seeded packages into this project. (All the packages are custom... mycompany.oracl e.apps.pos.supp reg.schema.serv er (EO) and mycompany.oracl e.apps.pos.supp reg.server (VO, AM) and mycompany.oracl e.apps.pos.supp reg.webui (RN.xml, CO.java))

>> Compiled the region and it works fine on JDeveloper.
>> Imported the custom region into DB using import command successfully.
> > Zipped up all files from /myclasses/myco mpany directory and unloaded into $JAVA_TOP on the middle tier.
>> Apache bounced.
>> Logged into Apps, opened up the page and personalized the page:
>>>>> Create new Item of type "FlexLayout" and underneath that layout created another Item of type "FlexLayout Container" and extended the custom region into it.
**** This works fine *** The custom region shows up on the seeded page. But, also comes out with an error:

******* ***Message not found. Application: FND, Message Name: FND_VIEWOBJECT_ NOT_FOUND. Tokens: VONAME = xxSuppRegVO; APPLICATION_MOD ULE = oracle.apps.pos .suppreg.server .SupplierRegAM;

I checked the "About Page" link and I see that the "FlexLayout" region is pointing to OAFlexibleCO and the "FlexConatinerL ayout" is pointing to OAFlexibleConte ntCO and NOT picking up my custom CO that I created in the project !!!

Do I need to personalize this region to add the custom CO to this custom region ?

OR extend the stand VO and substitute with the custom one?

Or what am I missing ?

Please let me know and Thanks for your help.

0 #22 Saurabh1 2008-12-16 20:16
Hello Anil,
Your tutorials are awesome. I have learnt a lot from these. I am extending a std Oracle page similar to what you have mentioned in this tut. but am stuck. Can you please provide some tips?

I am creating a region based on advancedTable, which I will plug into standard Oracle page using personalization to store additional data about customers.

When the user is done with the changes and presses the Standard "Apply" button (which calls doCommit with pagecontext as parameter), the changes are posted to the db table. This works fine EXCEPT that when I requery the same customer / refresh the page, my advanced table does NOT display ANY records AT ALL. I have to close the session and re-run the page from JDeveloper for the updated records in the advancedTable to show up.

How can I refresh the records in the advancedTable?

Thank you very much.
0 #23 Anil Passi 2008-12-17 02:16
I assume user is not directly changing the values in advanced table fields.
In that case, you have to requery the data in VO, for which processRequest on embedded region should be made to fire again.
To achieve this, you can re-direct to the current page which will force processRequest on embedded region to fire
0 #24 Saurabh1 2008-12-23 18:42

Thanks for your reply.

In fact, since the advanced table is storing additional data about the customer (being viewed currently), the user does enter data directly in the advanced table. Once the user is done with the data updates / changes, the user presses the "Apply" button (provided by the standard page) and my data in the advancedtable gets committed to the db as well.

The user is then taken back to the initial customer search results (from where the user chose a specific customer to view the data for). It is there that if the user clicks on the same customer again, the standard customer detail page renders but not the data in my advancedtable region. From the backend I can see that the data is present in the db table.

I have to close the Jdev session and re-run the standard pages to search for the customer, click on it to see the details to view my updated data.

I assume that the processRequest in my custom region's controller is automatically called when the standard page renders (since my page is a part of the standard page now), why is it that the data is populated the first time but not when I navigate back to the customer details page the 2nd time and on?

Is it because I am just running the application in Jdev right now and it will run fine once I actually move my extension to the server? OR
Do I have to extend the controller for the standard page and explicitly call processrequest in my custom region's controller?

I appreciate your help.
0 #25 Miss Mary 2008-12-24 05:15
I followed the above tutorial to the "T" . But am not getting the desired output demonstrated in the video :( .
When i click "Return to Application" after creating Flexible Layout and Flexible Layout Content and reference the Custom Region created ....am getting the
following error :

Message not found. Application: FND, Message Name: FND_VIEWOBJECT_ NOT_FOUND. Tokens: VONAME = xxdemoPOExtraIn foVO; APPLICATION_MOD ULE = oracle.apps.fnd .framework.tool box.tutorial.se rver.SearchAM;

I believe SearchAM was never in picture .... isn't it ???? We had created our own AM to which we have attached our custom VO ........
Iam Stuck ...Could you please Help ?????

Thanks In Advace
Mary D'Souza
0 #26 anil- 2008-12-27 01:21
You need to paste the full error stack

Ideally raise this on apps2fusion.com /forums
0 #27 Miss mary 2008-12-27 19:01
Thanks Mr. Anil .. I never knew such a forum existed ..thanks for guiding me ... I will try to find sol. to my problem ..... And reagarding exception trace...
i didnt get any exception trace except for the message i posted above ... Anyways thanks for the reply
0 #28 kritika 2009-05-21 11:12
I have extended my co. After deployment and personalization page shows the New CO but
It doesnt shows the difference. That is new changes that i have created.
I have changed the target of submitt button in controller.
Its going to the previously defined page only
Please help

0 #29 Anil Passi 2009-05-22 01:25
Hi K

Please explain the full functionalty.
A lso-if it is a submit button, then you should extend process form request to create new behaviour for that button

0 #30 kritika 2009-06-08 02:15
Hi Anil,
actully i have to change the target page getting displayed after clicking the submitt button....
this target page already exists in the application but through different navigation.....
this much i have achived i.e the new page is getting displayed.....
but again on the new page there are two more buttons
1.expor t
2.cancel shipment notice

export button is workin fine but the "cancel" button is not workin....
actu lly this cancel button needs 4 parameters (shipment num/vendorId/ve ndorSiteId/Head erId)....
we are facing problem in passing these parameters successfully through the new navigation path.....
Can u help us passing these aruguments from controller.

Kr itika
0 #31 Bobby Nielsen 2009-07-15 02:43
Hi Anil,

Do you know how to remove/hide the standard page links like "Home" and "Logout" etc.?

I think it should be possible in the settings of the menu or function.

I have a custom oaf page, which is linked to from an non oaf page (an html on a ISS webserver).

Bu t I can't figure out how to remove the mentioned links. The client do not want the links to be shown.

Can you help me?

Thanks for a great site full of valuable knowledge

Bobb y
0 #32 vinay 2009-10-14 02:48
Hi Anil,
Your tutorials are awesome. I have learned a lot from these
Based on ur article I developed a region to store supplier additional information.In that region i'm able to enter data into fields and data is sucessfully stored into custom table.But when I embedded that region with Supplier-Addres s Book page(in R12) page through Personalization i'm facing a problem with inserting data into custom table.i.e After I entered data the data is not goes to custom table and the fields which are filled by data are also not cleared. Could u please help me..

Thanks in Advance,
0 #33 Ravi Nuka 2009-12-07 05:24
Hi Anil,

I am working on R12 Oracle Application. I have a requirement to customize one of the Standard page of Quotation. I tried to follow steps as per your demo to add a custom region.
When I am following your demo. I am able to add a item with type as "Flexible Layout", but when I add that item, I am not able to find "Create item" icon enable for this item and I could not new item of type "FlexibleLayout Container" where to refer my custom region. Please advise.

Thanks & Regards,
Ravi Nuka.
0 #34 Gracie 2010-03-23 21:03
Hey Anil,

I am totally newbie to Oracle EBS. My company has a piece of software and CEO likes to add it oracle ERP as one module. I wonder if you can advise where I can start it from.

Graci e
+1 #35 Melkh 2012-04-02 14:21

the second part of the demonstration is corrupted. can u plz reload it again.


+2 #36 Priti 2014-06-12 16:09

Audio Video 2 does not seem to work. Can you please reload.

+3 #37 Ravi 2014-08-25 09:07
Dear Anil,

Audio Video 2 does not seem to work. Can you please reload.

+1 #38 sergio 2014-09-26 23:16
Hi Anil, Congratulations for this VideoTutorial.

Audio Video 2 does not seem to work. Can you please reload?

Thanks in advance!!!!
0 #39 ragav 2014-10-16 17:37
Please upload audio video 2 again. It's geeting stuck after playing for first 30sec. Please reload
0 #40 KumarN 2015-01-10 06:04

Could you upload the Video2 again oe any one who practiced this session please help us.
I successfully created below steps.

1. Create BC4J and Entity Object
2. Create View Object and Entity Object
3. Create Application Module and attach VO
4. Create a package to hold Custom Page
5. Build a custom page within StackLayout region using Advanced Table Bean of OA Framework.

Question: After these steps do we need to create any relation between standard region and custom region?

0 #41 Priyanka 2015-01-15 10:38
Dear Anil,

Audio Video 2 does not seem to work. Can you please reload it.

0 #42 Nalinakshee Panda 2015-05-09 13:24
Dear Anil,

Thanks for sharing your knowledge regarding OAF. Could you please reload the Audio Video 2 part.


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

Fusion Training Packages

Get Email Updates

Powered by Google FeedBurner