Question 1: What are the common methods
used in a oaf controller and when they are executed?
Ans: Processrequest and
ProcessForRequest. when the loads first time the ProcessRequest get execute and
when any action fire then ProcessFormrequest get execute.
Question 2 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 and
also we can do this using SPEL.
Question 3 Within which method of
Controller will you hide that bean/field/button/region programmatically?
Both processRequest and processFormRequest
Answer :- is 1. -
Question 4 Tell me the practical steps
for extension of a view object, starting from $JAVA_TOP to jDeveloper
Answer :- 4:
Get the VO object from java
Top which we want to extend and keep it inside Jdveloper myprojects. Then
create a new VO and select the extends option as the parent vo which is going
to be extended. This will be done in JDeveloper wizard. Now the parent vo sql
will be shown in Jdeveloper wizard (sql editor) and as per our requirement we
can modify or can add new attributes.
Once this vo creation is
complete we have to right click on project and select the substitution
option.their we have to choose the old vo and new vo.Once it is done the
substitution is complete.we need to compile the project.After compilation a xml
entry will be created in jpx file. the jpx file genrally is the name of
project.So now we need to import the jpx to MDS and have to move the java and
vo xml to java top.
Question5 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
Now, if in future Oracle is
going 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. But to add new attributes we have to extend the vo. so after patch
we have to recreate the custom vo and have to deploy again.
Question 6 In Oracle Forms, we have
WHEN-VALIDATE-RECORD? What will be the equivalent to that in OAFramework?
Answer :- - We can do the
attribute validations in entity obejct and for that we can use a method named validateEntity() within the
Question 7 How do you disable all the OA
Framework personalizations in eBusiness Suite
Answer :-- All the personalizations
done to the system can be disabled by simply setting a profile option to Yes at
Name of this profile option
is something like Disable Self Service Personal
Note:- You can de-activate
personalizations against individual pages selectively, by clicking on button
"Manage Personalizations". You may need to give yourself access to
responsibility named "Functional Administrator", so that you can
disable personalizations selectively.
Question 8 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.
Question 9 Extensions are stored in the
MDS Layer. Hence if you disble all personalizations, then all the OA Framework
extensions will also be removed temporarily, while that profile remains set to
This is very handy in case
you wish to bring your product back to Vanilla state.
Question 10 You are working on two
projects, both involve OA Framework.
One instance is on
Other instance is on
Can you setup up
development environment for both these instances on your PC/Laptop? If yes,
then please explain how.
The Jdeveloper 10g is used
for r12 and 9i for r11. We can have two jdevelopers in local. But when starting
the Jdeveloper we have to chnage the environment variable named JDEV_USER_HOME.
It should point to jdev folder where all our source code lies.
Question 11 How do you enable a pop-up
Answer :- : OAF never recomends
to use java script code directly. we have certain methods by using that we can
get the functionalities.
a. we have options to
create a dialogue page which will open a new window.
b. We can open a new window
setting the page frame style as '_blank'.
Question 12 Can you add new columns to
an Advanced Table region/section using personalization?
Answer :- We can add
columns using personalization. When adding the column we have to create the
cellformat, the header and the column.
Question 13 Tell me one scenario in
which you would have to extend Application Module?
Answer :- When we want to
create custom vo and that will be used in one page. then to access that vo we
have to extend the am and will add the vo to the am. this can be achieved programtically.
Question 14 Can you extend every
possible Application Module?
Answer :- : we should not
extend the root application module. Or the application module which holds some
other application module and complex vos and view links..That is unsafe.
Question 15 Why do you think multiple
AM’s are required in a Transaction/Transactions?
Give me an example where
this is applicable.
Answer :- there can be one
am or multiple ams . the ams are created and stored in the pool for reuse. so
if we have multiple ams then there will be faster processing and no need to
retain the ams for longer time.
Question 16 On any given OA Framework
page, what is the sequence in which these methods will fire in a Controller?
Question 17 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]
Answer :- definitely this
is ProcessFormRequest. But if we have added the validation in Eo then when a
value is going to be processed through eo then first it will invoke the
validator and will show error message.
Question 18 What are the steps to embed
a custom region into a standard OA Framework page?
Answer :- We have to craete
a new region called stacklayout region. then inside this region we can add our
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?
Answer :- we have to set
the where condition which will be a criteria in second lov.So based on first
lov selected value second lov will show the values.
Question 20 What are different
methodologies that you can consider to default value into a field?
Answer :- : We can set it
in eo level. if the header id need to be a sequence we can set it using the
create method. we can do this in vo level also at the time of creating the
Question 21 What are different mechanisms
of debugging in OA Framework.
Answer :- we can enable the
diagonastics to get the log in page or we can check the logs in server if we
have system out println.
Question 22 From one controller, I wish
to execute the code in other controller. Is it possible, and if yes, then how?
Answer :- : Controllers are
java files so if we have one method in one file we can access from other
class.For that we have to extend that class. But depends uopn the access
Question 23 I wish to know the SQL
statement of a View Object being used by a page. What is the quickest way to
Answer :- Goto about this
page and see the sql.
Question 24 How would you deploy the
BC4J extensions to the server?
Answer :- For the first
time we have to import the jpx file. Now once this is done the page will
conatain a personalization for this bc4j extension.we can download and migrate
to other instance.
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?
Answer :- it is
possible.Because in local jeveloper it has it's own mds where it stores these
Question 26 How do you load XML page
developed using jDeveloper?
Answer :- through xm importer.
Question 27 Tell me two different
methods you can use to get the XML Files of standard OA Framework pages.
Answer :- we can get it
from appl_top through file system and can also download from mds database.
Question 28 What is the sequence of Personalizations
e…Delete all the files of
following pattern oracle-desktop*.css
The idea here is to delete
the cache. Next time when you logon to Oracle Apps Self Service, the Framework
will rebuild the css file if found missing for your browser.
Question 38 Can you extend and substitue a root AM (
Application Module) in OA Framework using JDeveloper.
Answer :- You can extend
the AM in jDeveloper, but it doesn’t work.
Question 39 How will you add a new
column to a List Of Values ( LOV ) in Oracle Applications Framework? Can this
be done without customization?
Answer :- Yes, this can be
done without customization, i.e. by using OA Framework Extension coupled with
Personalization. Implement the following Steps :-
a) Extend the VO ( View
Object ), to implement the new SQL required to support the LOV.
b) Substitute the base VO,
by using jpximport [ similar to as explained in Link ]
c) Personalize the LOV
Region, by clicking on Add New Item. While adding the new Item, you will cross
reference the newly added column to VO.
Question 40 In Oracle OA Framework, is
the MDS page/document definition stored in database or in the file system?
Answer :- The MDS document
details are loaded into database, in the following sets of tables.
The Document is loaded via
XMLImporter, as detailed in XMLImporter Article
Question 41 How does substitution work
in OA Framework?
What are the benefits of
using Substitution in OA Framework?
Answer :- Based on the user
that has logged into OA Framework, MDS defines the context of the logged in
user. Based upon this logged in context, all applicable personalization are
applied by MDS. Given that substitutions are loaded as site level
personalizations, MDS applies the substituted BC4J objects along with the
personalizations. The above listed steps occur as soon as Root Application
module has been loaded.
The benefit of using
Substitution is to extend the OA Framework without customization of the
underlying code. This is of great help during Upgrades. Entity Objects and
Validation Objects can be substituted. I think Root AM’s can’t be substituted
given that substitution kicks off after Root AM gets loaded.
Question 42 In OA Framework, once your
application has been extended by substitutions, is it possible to revert back
to remove those substitutions?
Answer :- yes, through
functional administartor you can navigate to the personalization folder and can
delete the personalization.
Question 43 You have one search page and
bsed on search criteria you get the records now you want to select one record
and want to go second page which will show the selected records.How ill you do