Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

Contact Us

Oracle Apps Interview Questions
  • 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: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive
 
More and more jobs demand OA Framework skillsets these days.
In fact it is safe to say that you would need OA Framework development experience to have an edge as an Oracle Applications Consultant.
Indeed OA Framework will become a thing of past with Fusion, however
OA Framework will be used for next at least 5 to maximum 10 years
The concepts of OAF, specifically BC4J, can be carried forward to ADF.

I am listing hereby the questions that I would ask for an OA Framework Interview.
As a thumb rule, interview questions should always be based on basic & practical concepts.
Please remember that, as an Oracle Apps Consultant, more often that not, you will be required to do extensions rather than pure development.
Indeed, some component of extensions will call for development of new pages.
These questions will lay more emphasis on OA Extensions, which is what OAF Consultants will most likely be working on.

One last piece of advice, the purpose of these questions is not only to help you with interviews, but in reality it is to help you clear your practical concepts on OA Framework.

Question 1
You wish to hide a bean/field programmatically, where will you do that?
a. In controller
b. In Application Module
c. In Entity Object
d. In View Object
Answer:- In controller[Although SPEL with limited usage can also be considered]
The remainder questions are best left interactive.
Please quote the Question Number in comments when putting your thoughts on any individual question.


Question 2
Within which method of Controller will you hide that bean/field/button/region programmatically?
   1.      processRequest
   2.      processFormRequest
   3.      Both processRequest and processFormRequest



Question 3
Tell me the practical steps for extension of a view object, starting from $JAVA_TOP to jDeveloper




Question 4
Please tell me the scenario in which extension to View Object is not upgrade safe?




Question 5
In Oracle Forms, we have WHEN-VALIDATE-RECORD? What will be the equivalent to that in OAFramework?




Question 6
How do you disable all the OA Framework personalizations in eBusiness Suite




Question 7
How do you disable all the OA Framework extensions in eBusiness Suite



Question 8
You are working on two projects, both involve OA Framework.
One instance is on 11.5.10-Rollup2
Other instance is on R12-Rollup4
Can you setup up development environment for both these instances on your PC/Laptop? If yes, then please explain how.




Question 9
How do you enable a pop-up screen in OA Framework [without using javaScript]?




Question 10
Can you add new columns to an Advanced Table region/section using personalization?



Question 11
Tell me one scenario in which you would have to extend Application Module?




Question 12
Can you extend every possible Application Module?




Question 13
A slightly advanced question will be…Why can’t Root AM be extended?




Question 14
How would you know whether the AM that you are trying to extend is the RootAM?




Question 15
Which two types of extension are the most common ?




Question 16
Why do you think multiple AM’s are required in a Transaction/Transactions?
Give me an example where this is applicable.





Question 17
On any given OA Framework page, what is the sequence in which these methods will fire in a Controller?
    processFormData
    processRequest
    processFormRequest



Question 18
A user clicks on a Submit button on a page. The fields on this page are attached to View Object attributes, which in turn are attached to Entity Object attributes. An exception is raised from validation EO due to data validation errors.
Tell me, which methods in controller will be fired when a Submit button is clicked on that page [assuming validations in EO throw an exception]




Question 18
What are the steps to embed a custom region into a standard OA Framework page?




Question 19
You have two OA Framework pages, page A and page B. Depending upon the value of a department selected in PageA, you wish to restrict the LOV of Approvers in page B.
How will you do this? Why would would not prefer to extend the viewObject of LOV?



Question 20
What are different methodologies that you can consider to default value into a field?



Question 21
What are different mechanisms of debugging in OA Framework.



Question 22
From one controller, I wish to execute the code in other controller. Is it possible, and if yes, then how?




Question 23
I wish to know the SQL statement of a View Object being used by a page. What is the quickest way to find out?




Question 24
How would you deploy the BC4J extensions to the server?



Question 25
I have extended the View Object and now I wish to locally test that extension in jDeveloper? Is that possible without loading the jpx file into the database?




Question 26
When you run SQL Trace for an OA Framework session[using diagnostics], why are multiple *.trc files created on the database server?




Question 27
How do you load XML page developed using jDeveloper?



Question 28
Tell me two different methods you can use to get the XML Files of standard OA Framework pages.



Question 29
Tell me two different methods you can use to get the XML definitions for standard OA Framework pages?



Question 30
Please explain the different types of tasks you can do using Functional Administrator responsibility



Question 31
Lets say a PageA has been personalized in Development and UAT environments. Is it possible to merge the personalizations done to same page in two different environments, using Functional Administrator?


Question 32
What is the sequence of Personalizations override?
Responsibility Level
Site Level
Function Level
Organization Level
User Level



Question 33
Where is dbc file located on the server? Is dbc file used by jDeveloper at RunTime or DesignTime?



Question 34
By setting profile option “Disable Self Service Person%”, not only the personalization, but also
the OA Framework extensions get disabled. Please explain why?



Question 35
How do you create User Level Personalizations?
Please explain the steps



Question 36
Off the following levels in Personalizations, i.e. Responsibility Level, Site Level and Function level, which  level has highest and least priority?



All above questions are very basic and practical in nature.
Any person applying for an OAF job should try to understand the concepts behind each of these questions.
Once you know the answer to these, I am confident that you can undertake a job of a Technical OA Framework Consultant.
PS- I have purposely not included any tricky/complicated questions, as complicated things can be learnt on the job itself

Anil Passi

Comments   

0 #1 Bhupender Kumar 2008-02-29 23:54
Anil,

I have just starting veiwing this site for couple of days now. I found this site very useful. Great work... I think not only beginner's, advanced Oracle Apps users will benifit for him.

Best Regards
Bhupend er Kumar
Quote
0 #2 Rajender 2008-03-01 07:46
Question 2
Within which method of Controller will you hide that bean/field/butt on/region programmaticall y?
1. processRequest
2. processFormRequ est
3. Both processRequest and processFormRequ est
Answer is 1. - processRequest

OA Framework give error if you change bean property in processformrequ est
Quote
0 #3 Anil Passi 2008-03-02 18:40
Question- Please tell me the scenario in which extension to View Object is not upgrade safe?

Answer - If the original view object was created in expert mode, then you will have to copy the Original VO Query and then you will paste that SQL Stmt/Query into the extended View Object.
Now, if Oracle were to change the original SQL Statement [against original VO], then those changes will not be reflected in extended View Object.

Is there any solution?
Well, yes, depends on what you wish to achieve via personalization .
If you simply wish to alter the where clause dynamically, then you might as well do that by extending the controller.
Note:- When extending the CO, we are assuming that at least the selected table aliases from the Original SQL Statement will not be removed by Oracle's patches.

Thank s,
Anil Passi
Quote
0 #4 Anil Passi 2008-03-02 18:43
Question-In Oracle Forms, we have WHEN-VALIDATE-R ECORD? What will be the equivalent to that in OAFramework?

A nswer - Use a method named validateEntity( ) within the Entity Object.
Quote
0 #5 Anil Passi 2008-03-02 18:47
Qns - How do you disable all the OA Framework personalization s in eBusiness Suite
Ans- All the personalization s done to the system can be disabled by simply setting a profile option to Yes at site level.
Name of this profile option is something like Disable%Self%Service%Personal%

Note:- You can de-activate personalization s against individual pages selectively, by clicking on button "Manage Personalization s". You may need to give yourself access to responsibility named "Functional Administrator", so that you can disable personalization s selectively.
Quote
0 #6 Anil Passi 2008-03-02 18:52
Question - How do you disable all the OA Framework Extensions in eBusiness Suite
Answer - The answer to this question is same as that for Question 6.

Extensions are stored in the MDS Layer. Hence if you disble all personalization s, then all the OA Framework extensions will also be removed temporarily, while that profile remains set to Yes.

This is very handy in case you wish to bring your product back to Vanilla state.
Quote
0 #7 Sri Ram 2008-03-03 08:01
Hi Anil,

I have a doubt with Question 22

Will instantiating another controller in the controller and using its methods suffice ?

Question 9 :

I have always used JavaScript to show a popup screen. Can you explain how can we do it using straight java code.

Question 14 :

can you tell us how can we know the RootAM.

Question 16 :

And also we have been using one root AM to handle the transactions of a whole OA page. Can you explain the scenario where we use multiple AMs.


Thank you for all your help,
Srikanth
Quote
0 #8 Rohit.Monga 2008-03-12 10:03
Hi Anil,

How to set responsibility context in OAF like fnd_global.APPS _INITIALIZE is used in database.

We are trying to open a OA page from a URL in notification. On opeining that page system ask for "Switch Responsibility" , but we want to set Manager Self service responsibility for that page. We have tried setting &#RESP_KEY &#APP_SHORT_NAM E parameters, but we are getting null pointer error there.

Please suggest a solution for the same.

Thanks a ton.

Rohit.
Quote
0 #9 Anil Passi 2008-03-12 11:47
Hi Rohit,

Your approach is correct, i.e. to set hash attributes, but it appears this functionality in Oracle has bugs.
You should feel free to raise an SR

Now some background
---- --------------- ---
Re-Executio n of fnd_global.apps _initialize will not solve your problem.
Reason benig that fnd_global.apps _initialize is executed at the very early stage.
OAF calls fnd_global.apps _initialize to create WebAppsContext for your jsp session.

Even if you re-execute fnd_global.apps _initialize via jdbc lets say from either Root AM or processRequest in CO, it will not work, because when user takes a submit action -then a new Connection might be requested from the pool. This new DB connection object will contain the context of old responsibility. OAF massages the new connection with WebAppsContext.

Behind the scenes, Oracle uses a package named FND_SESSION_MAN AGEMENT.
If you want to experiment some unrecommended trials, then call below plsql from notification region.
fnd_session_man agement.updates essioncontext
(
p_function_name ,
p_function_id ,
p_application_i d ,
p_responsibilit y_id ,
p_security_grou p_id ,
p_session_id => ,
p_transaction_i d );

This will mean that you manipulate the page context at runtime, and is subject to experimentation , and is not recommended.

C heers,
Anil Passi
Quote
0 #10 Rohit.Monga 2008-03-17 16:43
Hi Anil,

I would like to share that I have achived the results of switching the responsibility context by using pageContext.cha ngeResponsibili ty and this is working fine.

I am really greatful to you for providing a direction for my issue.

Thanks,
Rohit
Quote
0 #11 Anil Passi 2008-03-17 16:54
Hi Rohit,

Very well done, thanks for sharing the solution with all.

Thanks,
A nil Passi
Quote
0 #12 ADISH JAIN 2008-03-18 04:33
Anil

can you post answers for questions 8 to 16.

thanks
Quote
0 #13 Arun Sista 2008-03-25 01:58
Yes it is possible to add items to an Advanced Table. Ensure that the profile options

Person alize Self-Service Defn : Yes
Disable Self-Service Personal : No.

are set properly to the values specified.

On the page that has the advanced table click on the personalize link on the right hand top corner. If Disable Self Sevice Personal is set to Yes you should see the personalize link on top of the advanced table itself.

If you have clicked on the Personalize link on the right hand top corner you would have to query for the region that you are trying to modify. Provide the name of the region housing the Advance Table.

Next click on the Create Item Option for the Advanced Table(at the same level as the Advanced Table name).
Enter the necessary details and apply. This should create a column and column header.

Now click on the create item option next to the newly created Column. You can now add any permissible item like Message Style Text/Message Input Text/Switcher etc.
Quote
0 #14 Arun Sista 2008-03-25 01:59
Let us assume you are trying to add a new button on the Purchase Orders page to trigger a custom accounting process.

In such case the logic needs to go onto the application module. How ever since the Purchase Order AM cannot be modified directly it would have to be extended and the logic needs to be put onto it.
Quote
0 #15 Arun Sista 2008-03-25 02:00
Multiple AM's are usually required for integrations. For e.g The iSupplier Portal Purchase Order Summary page has a link that shows the Purchase Order Details taht is built by Purchasing.

1. iSupplier Portal creates its own iSPAM with VO's to show the Purchase Order summary. This executes independently
2 . Purchasing has bult it's own Purchase Order Details page based on the Purcahase Order AM and PurchaseOrderVO and can operate independently from a Purchasing Menu.
3. iSupplier Portal can still use the Purchase Order Details page but multiple AM's get instantiated in the process when iSupplier portal calls out to the Purchasing Page. 1 for iSupplier Portal summary page and the other one for Purchase Order Details.
4. However if iSP wants to retain it's own transactional state while calling out to the Purchase Order Details page it should set retainAM='Y'. or else the original iSupplier Portal transaction would be lost.
Quote
0 #16 Arun Sista 2008-03-25 02:01
processRequest
processFormData
processFormReq uest
Quote
0 #17 Arun Sista 2008-03-25 02:02
1. Build the custom OA Page.
2. Choose personalize link on the page that needs to embed the OA page.
3. Search for Region where you want to extend.
4. Create an item of type region and lable it to extend the Custom Page.

http://www.google.com/search?q=site:apps2fusion.com+oa-framework-screen-extension-by-embedding-a-custom-page
Quote
0 #18 Arun Sista 2008-03-25 02:03
1. You could provide default values on the page/ region that you have developed.
2. You could default a value on the ViewObject definition for the attribute. You would do this if you wish to provide some value that is specific to a VO and not to an EO.
3. You could default a value on the Entity Object definition for the attribute if this is common to all VO's that are based on it.
4. You could modify the default value by applying personalization .
Quote
0 #19 Arun Sista 2008-03-25 02:04
1. To get the jbo debug messages to view the VO queries etc:
Set the system debug output property, open the Run/Debug page in the Project Properties dialog for your model project. Click Edit to edit the chosen run configuration, and add following string to the Java Options field in the panel.
-Djbo.de bugoutput=conso le
2. Set profile option FND i;agnostics to true. This ensures that the diagnostics link is available.
Clic k on the diagnostics link.
From the diagnostics view set "Show Log On Screen" all the application FND logs are shown on the screen.Hit Go button
3. From the diagnostics link
Click on the diagnostics link.
From the diagnostics view set "Set Trace Level" Hit Go button
Then choose the trace level. Options are:
Disable Trace
Trace (regular)
Trace with binds
Trace with waits
Trace with binds and waits
Enable PL/SQL Profiler
Disabl e PL/SQL Profiler
Once you are done with tracing turn trace off. Some numbers are displayed on the screen.

Look for **.trc in the udump directory on the db. Your trace file should be one of the files generated with this number.
4. You could use the manual debugger in Jdeveloper to set breakpoints and debug.
Quote
0 #20 Arun Sista 2008-03-25 02:06
1. Ideally your first controller should extend the second one. Then you can call the code by using super.processRe quest/super.pro cessFormRequest .
2. If there is common code put it in a util class and call the code in the util class
3. Create a common base class that has the common code.
Quote
0 #21 Arun Sista 2008-03-25 02:08
Set the system debug output property, open the Run/Debug page in the Project Properties dialog for your model project. Click Edit to edit the chosen run configuration, and add following string to the Java Options field in the panel.
-Djbo.de bugoutput=conso le

Now run the page that is based on the VO for which you want the query. You should see the query on Jdeveloper console.
Quote
0 #22 Arun Sista 2008-03-25 02:10
Security Related Tasks:
1. Provide Grants
2. Permissions and Permission Sets

Core Services:
1. Create Lookups
2. Messages.
3. Profiles
4. Functions
5. Menus
6. Caching Framework related tasks

Personal ization Related Tasks:
1. Import/ Export

File Manager:
1. To upload files in bulk/individual ly.The path should be on Concurrent Processing Tier
Quote
0 #23 Arun Sista 2008-03-25 02:10
DBC files are stored on $FND_TOP/secure . OA uses this at runtime. Design time we would normally use Connections defined on Jdeveloper.
Quote
0 #24 Anil Passi 2008-04-27 13:07
Answer:- The root AM is loaded first and after that the MDS Substitutions are parsed.
Hence ROOT AM get loaded even before the time the substitutions definition from MDS layer get worked out.
Obviously, the root am cant substitute itself, hence it can't be extended.
Quote
0 #25 Anil Passi 2008-04-27 13:10
As explained by Arun Sista, this helps in independent commit/rollback .
If you enter a Purchase Order, and in 3rd step you wish to create a Supplier Contact. Now, even if rollback is done in AM of Supplier Contact, you would not want your main PO Transaction to be rolledback. Ditto for commit too.
Hence PO and Supplier contact screens can use different AM
Quote
0 #26 Anil Passi 2008-04-27 13:13
When you run SQL Trace for an OA Framework session[using diagnostics], why are multiple *.trc files created on the database server?

This is due to connection pooling. Each time AM requests a jdbc connection, a connection is returned from the pool, after massaging it with current apps context [similar to fnd_global.apps _initialize]
He nce, each such connection object may have different session , hence different trace files.


Thanks
Anil Passi
Quote
0 #27 kishore Ryali 2008-04-27 17:46
Use link item to set the destination URI and targetFrame = _blank to open the URL in new page.
Quote
0 #28 kishore Ryali 2008-04-27 18:42
1)
If the pageContext of page B has access to Dept Id selected in page A, via a stored parameter.
Then extend the processRequest( ) method in Controller of page B to set the default where clause of the VO for the LOV of Approvers.

// Get handle of VO
OAApplicationM odule am = oapageContext.g etApplicationMo dule(oawebBean) ;
OAViewObject lovvo = (OAViewObject)a m.findViewObjec t("LOV_VIEW_NAM E");
lovvo.setW hereClause("dep t_id = :1");
lovvo.set WhereClausePara m(0, new Number(pDeptId) ;
lovvo.execute Query();

2) If the pageContext of page B has no acces to Dept Id selected in page A.
In addition to the above steps,
to initialise the parameter pDeptId , extend the processFromRequ est() of Controller of page A to set a parameter to the pageContext.

/ / Get handle of VO to fetch the Selected dept Id
// Assign the value to a parameter in pageContext
oap ageContext.putP arameter("pDept Id",new Number(pDeptId) );

Anil .. Can you please address on the above approach ?
Quote
0 #29 kishore Ryali 2008-04-27 18:43
1. Use export.bat in JDeveloper.
2.S imple FTP from the server.
Quote
0 #30 putchakayala 2008-09-16 04:39
gdfg jkl;
Quote
0 #31 Sathya Ramaswamy 2008-09-20 03:55
Really its good for OAF seekers... :)
Quote
0 #32 Pratik 2008-10-06 11:28
Hi Anil,

Greeting s !
I'm a regular and avid reader of your posts and technical documents and needless to say I gained good amount of knowledge in many technical / functional areas.

I need a help here!
We have a requirement where in I need to open a detail OAF form from Oracle Worklist Notification. Whenever an Item is created some managers get some notification in their worklists - but they want a link from the notification to the detail page. Ideally the notification link should pick the related parameter value and open / direct the page to query for related records.

My notification workflow has an attribute named : XXPENN_OPP_LINK of type URL. And the default value I set (for testing as of now) is: JSP:/OA_HTML/RF .jsp?function_i d=40980&resp_id =21615&resp_app l_id=0&security _group_id=0&lan g_code=US. I need to pass a value to another paranmeter called "RlwId". But I'm not able to to that - it throws some access error whenever I click on the URl from notification.

Would be great of you could help me out.

Regards.
Pratik
Quote
0 #33 Pratik 2008-10-06 11:28
Hi Anil,

Greeting s !
I'm a regular and avid reader of your posts and technical documents and needless to say I gained good amount of knowledge in many technical / functional areas.

I need a help here!
We have a requirement where in I need to open a detail OAF form from Oracle Worklist Notification. Whenever an Item is created some managers get some notification in their worklists - but they want a link from the notification to the detail page. Ideally the notification link should pick the related parameter value and open / direct the page to query for related records.

My notification workflow has an attribute named : XXPENN_OPP_LINK of type URL. And the default value I set (for testing as of now) is: JSP:/OA_HTML/RF .jsp?function_i d=40980&resp_id =21615&resp_app l_id=0&security _group_id=0&lan g_code=US. I need to pass a value to another paranmeter called "RlwId". But I'm not able to to that - it throws some access error whenever I click on the URl from notification.

Would be great of you could help me out.

Regards.
Pratik
Quote
+1 #34 Bhavik 2008-11-26 02:42
Question 25: I have extended the View Object and now I wish to locally test that extension in jDeveloper? Is that possible without loading the jpx file into the database?

Yes, you can test the substitution locally from jDev without uploading the jpx file to database.
Open the Run/Debug page in the Project Properties dialog for your model project. Click Edit to edit the chosen run configuration, and add following string to the Java Options field in the panel.

-Djbo.p roject=

for e.g. If project name is xxMyCustomProje ct then -Djbo.project=xxMyCustomProje ct

Rebuild and run the page from Jdev, you should be able to see the substitution in effect.
Quote
0 #35 Karthikeyan Kumaran 2009-04-24 05:21
Question 8
You are working on two projects, both involve OA Framework.
One instance is on 11.5.10-Rollup2
Other instance is on R12-Rollup4
Can you setup up development environment for both these instances on your PC/Laptop? If yes, then please explain how.

Naviagate :
1.create two folders One for 11.5.10-Rollup2 and Other R12-Rollup4
2.My Computer - > Properties -> Advanced ->Environemnt Variables
3. create a new Environment Variable -> JDEV_USER_HOME
4. set the physical path for the folders accordingly as value for the environment variable "JDEV_USER_HOME "

Regards.
Kar thik
Quote
0 #36 Karthikeyan Kumaran 2009-04-24 05:30
Question 18
A user clicks on a Submit button on a page. The fields on this page are attached to View Object attributes, which in turn are attached to Entity Object attributes. An exception is raised from validation EO due to data validation errors.
Tell me, which methods in controller will be fired when a Submit button is clicked on that page [assuming validations in EO throw an exception]

ProcessFormData(OAPagecontext pageContext, OAWebBean webean)
Quote
0 #37 Karthikeyan Kumaran 2009-04-24 05:39
Question 32
What is the sequence of Personalization s override?
Respo nsibility Level
Site Level
Function Level
Organizat ion Level
User Level

Function Level
Site Level
Organizat ion Level
Responsib ility Level
User Level

That is If a personalization is done at Function Level and User Level.
User Level personalization will take effect on the screen.
Hope so its self explanatory.

Additional Information :
• Function (highest)
• Industry
• Localization
• Site
• Organization
• Responsibility
• Seeded-User
• Portlet
• User (lowest)

Regar ds,
Karthik.
Quote
0 #38 sda 2009-05-04 15:20
Hi Anil,

How can I add confirmation popup window that say ARE You Sure to a submit button via personalization and/or via oa extension

Than ks
SDA
Quote
0 #39 vivek jandial 2009-05-19 06:11
Hi Anil

I m new in oracle apps.can u please send me some study material or can u please help me out in which area of apps i have to stress more.I mean to say what are the core areas of apps which one should new.......
Quote
0 #40 Rudrajit Das 2010-06-25 11:50
Hi Anil,

I am having a requirement from client where in they want to create a new session to open a new OA page.
So that, the page can survive independently.
Quote
0 #41 Anil Passi- 2010-06-27 08:51
Almost every single call to oadbconnection to get jdbc operation uses a new/existing database session from the connection pool
I do not see why that is an issue
Quote
-1 #42 Ashish Raj 2011-09-11 11:34
http://www.adivaconsulting.com/adiva-blog/item/28-oa-framework.html
Quote
0 #43 Bujji7675 2012-06-26 01:50
I am new to oracle apps. Could u please send me some study material. Also I have developed an application using OAF basics. I wanted to improve my knowledge in OAf. Please guide me.
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Aug 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
        1
  2  3  4  5  6  7  8
  9101112131415
16171819202122
23242526272829
3031     

Enquire For Training

Related Items

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner