Oracle OAF Interview Questions and Answers
Oracle OAF Interview Questions and Answers
4. What is a Controller?
Controller is the java file and can be associated to a complete OAF page or to a specific
region.
There are several tasks you will do routinely in your code.
8. What is personalization?
Oracle Apps Framework has an OA Personalization Framework associated with it so that you
can personalize any OAF page in an Oracle E-business Suite application without changing the
basic or underlying code of that OA Framework page, Oracle Application Framework makes it
very easy to personalize the appearance of the page or even the personalization of data displayed
on to an OA Framework page.
• Entity Object - EO encapsulates the business logic and rules. EO’s are used for Inserting,
Updating and Deleting data from the database table. E0 is also used for validating the records
across the applications.
• View Object - View object encapsulates the database query. It is used for selecting data. It
provides iteration over a query result set. VO’s are primarily based on EO’s. It can be used on
multiple EO’s if the UI is for update.
• Application Module - Application Modules serve as containers for related BC4J components.
The pages are related by participating in the same task. It also defines the logical data model and
business methods needed.
12) What is an EO?
EO encapsulates the business logic and rules.EO’s are used for Inserting, Updating and
Deleting data. This is used for validating across the applications. We can also link to other EO’s
and create a Association object.
View object encapsulates the database query. It is used for selecting data. It provides iteration
over a query result set.VO’s are primarily based on Eo’s. It can be used on multiple EO’s if the
UI is for update. It provides a single point of contact for getting and setting entity object values.
It can be linked together to form View Links.
19) What is the difference between inline lov and external lov.
Inline lov is a lov which is used only for that particular page for which it was created and
cannot be used by any other page.
External lov is a common lov which can be used by any page. It is a common component for
any page to use it. It can be used by giving the full path of the lov in the properties section
“External LOV” of the item.
20) what is a Javabean?
JavaBeans is an object-oriented programming interface that lets you build re-useable applications
or program building blocks called components that can be deployed in a network on any major
operating system platform.
22) what is the difference between autocustomization criteria and result based search?
Results based search generates search items automatically based on the columns on the results
table.
In Autocustomization search we need to set what all fields are required to display as a search
criteria.
Extension is about extending the functionality of an application beyond what can be done
through personalization. Using extension we can:
The application module which is associated with the top-level page region (the pageLayout
region) is root application module.
The root AM is loaded first and after that the MDS Substitutions are parsed.
Hence ROOT AM gets loaded even before the time the substitutions definition from MDS layer
get worked out.
FND Diagnostics: required for ABOUT THIS PAGE and Diagnostic link on page.
Personalize Self Service Definitions: To enable Personalize page link on the page.
FND Personalization Region Link Enabled: used to enable Region Personalization links at every
region.
FND Migrate to JRAD: By default set to Yes. Page would run from MDS if Yes, else it will run
from AK.
FND Document root path: required for personalization migration. It is set to path of the MDS
folder on the respective servers.
FND Branding image:
FND Banding Size: these profiles options are used for changing standard image (Oracle) on the
page.
1. Tokens
eg. vname={@AttributeName}
2. Hash Maps
eg. HashMap variablename=nre HashMap();
variablename.add(“ParameterName”,ParameterValue);
3.ThroughSession
eg. pageContext.putSessionvalue(“ParamterName”,ParameterValue)
Parameters:
functionName – This is the function name representing the page you want to forward to. If its
null, an IllegalArgumentException will be thrown.
Also if the function is not under the current HOMEPAGE a OAException will be thrown.
menuContextAction – Determines the behavior of the MenuContext after forwarding to the new
page. It accepts the following values:
menuName – The name of the HOMEPAGE menu to reset the Menu context to when the
menuContextAction is OAWebBeanConstants.RESET_MENU_CONTEXT.
If the menuName is not of type HOMEPAGE a OAException will be thrown. You can pass null
otherwise.
parameters -
HashMap of parameter name/value pairs to append to the forward URL. The final forward URL
parameters are in the following sequence:
It will first get the function’s corresponding URL call by querying the function information from
the database. If the user is not authorized to execute this function, a security OAException will
be thrown.
It will then append all parameters passed in the parameters HashMap. First parameter added to
the HashMap will be first added to the URL. Also the framework will encode all parameter
values before appending them to the URL.
It will remove all parameters if they have null values in the passed parameters HashMap. This
provides an easy way for developers to set a certain parameter’s value to null if they want to
remove it.
It will remove any OA Framework internal URL parameters such as bcrumb, retainAM, and so
on..
retainAM – If true, all the cached application modules will be retained. If false, all the cached
application modules will be released.
Developers must use this parameter to control the release behavior of the cached appplication
modules.
This method will ignore any retainAM=true or retainAM=false as a URL parameter or as part of
parameters
34)Code to copy rows in VO
isPreparedForExecution function will check whether all parameters are assigned properly and
query is ready for execution.
On multiple navigations to the page this query will not be executed multiple times.
While executeQuery function is used for executing the VO query so that it can fetch the data
from database into VO cache.
Controller is the object. The code present in ProcessFormRequest gets executed up on the user
action.
38) If we have to initialize something during the page loading, which is the right place?
A. ProcessRequest() method of the Controller file is the right place.
43.Where does the client BC4J objects get placed in the server?
A. They are located in the oracle.apps.<product>.<application>.server
44.Where does the server BC4J objects get placed in the server?
They are located in the oracle.apps.<product>.<application>.schema.server
45.Where does the Page and Controller related files get placed?
They are located in oracle.apps.<product>.<application>.webui
62. How is the applications security maintained during the OA Framework components
development or how is the required security obtained?
The Database connectivity file ( .dbc file) has the applications username and password along
with the responsibility to be used for connecting to the applications at page run time.
63. What are the different layers of onion reuse object model in OAF?
The hierarchy is as :
Controller (XXCO.java)
|__
Application Module (XXAMImpl.java, XXAM.xml)
|__
View Objects(XXVOImpl.java, XXVORowImpl.java, XXVO.xml)
|__
Entity Objects(XXEOImpl.java, XXEO.xml)
|_ Database
A. PPR is a mechanism where in only the required part of the page is refreshed as against the
whole page. The page objects fire the ‘events’ and accordingly the request is handled in the
controller file
66. What is the bean used for supporting transactions across pages visually to the user?
OATrainBean is used to link the pages across the transaction. AM supports the transaction
context or state here across the pages.
71. How do you map the LOV created to your base page?
One of the items in the page has to be MessageLOVInput which extends the new LOV region,
apart from this LOV mappings between base page and LOV region have to be created.
72. What is the default top region of any new page that you create?
PageLayout is the top level default region
81) What is the difference between inline lov and external lov.
Inline lov is a lov which is used only for that particular page for which it was created and cannot
be used by any other page.
External lov is a common lov which can be used by any page. It is a common component for any
page to use it. It can be used by giving the full path of the lov in the properties section “External
LOV” of the item.
82) what is a Javabean?
JavaBeans is an object-oriented programming interface that lets you build re-useable applications
or program building blocks called components that can be deployed in a network on any major
operating system platform.
84) what is the difference between autocustomization criteria and result based search?
Results based search generates search items automatically based on the columns on the results
table.
In Autocustomization search we need to set what all fields are required to display as a search
criteria.
MDS is MetaData Service. When a web page is broken into small units like buttons,fields etc
they are stored in a database. These are not stored as binary files but as data in tables. The data
are present in JDR tables. MDS provides service to store & return page definitions. MDS collects
those definitions in components/fields in a meaningful manner to build a page.
Structured information contains both content (words, pictures, etc.) and some indication of what
role that content plays (for example, content in a section heading has a different meaning from
content in a footnote, which means something different than content in a figure caption or
content in a database table, etc.).
95.what is a Javabean?
Ans: JavaBeans is an object-oriented programming interface that lets you build re-useable
applications or program building blocks called components that can be deployed in a network on
any major operating system platform.
Ans: MDS is MetaData Service. When a web page is broken into small units like buttons,fields
etc they are stored in a database. These are not stored as binary files but as data in tables. The
data are present in JDR tables. MDS provides service to store & return page definitions. MDS
collects those definitions in components/fields in a meaningful manner to build a page.
Ans: The AM should be retained whenever you are navigating away from a page and when you
know that there is a possibility to come back to the page again and data is to be retained.
Example : Any navigation link that opens in a new page or any navigation which has a back
button to come back to the initial page.
The AM should not be retained for two independent pages, especially if they have common VOs
which fetch different result sets. In such cases, retaining the AM may not remove the cache of
VOs and so the result may not be as expected.
Ans: The basic intention of the breadcrumb is to let the user know of the navigation path he took
to reach the current page.
100) How do you find right jdev patch for your oracle application version.
Ans: Search in oracle.metalink.com as Jdev with OA Extension.
101) What are the tools you had used for decompiling java class?
Ans: Jad is one of the tool for decompiling the java class.
105.What is a HGrid?
Ans: A HGrid, otherwise known as a hierarchy grid, allows users to browse through complex
sets of hierarchical data.
106. Tell me the OAF components required for a simple search page?
Ans: VO,AM,Page
117.What are all the several ways to debug an OAF based application?
Ans: We can use the debugger option .Set breakpoints and run the page in debug mode.
118.How do you call an pl/sql api from OAF page.
Ans: To call a PL/SQL API from OAF, we use OracleCallableStatement or CallableStatement
121.What is SPEL?
Ans: It is an expression that will either return TRUE or FALSE.
123.What is PPR?
Ans: PPR is Partial Page rendering. Which means that only a particular part of the page is
refreshed and not the entire page.
[*]Required/Optional[/*]
[*]Disabled/Enabled[/*]
[*]Read only/Updatable[/*]
124. How do you generate stack of exception and display the list of error messages in OAF
page?
4.Click on Profiles.
6.In the results you will see Personalise Self-Service Defn.Update it and enter Yes in the Site
Value
129. What is the command used to import an oaf page and region?
Ans: java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/ -username <>-password
<>-dbconnection “(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=[LINK=http://cpa51d.cpa.bdoutsource.com/][/LINK])
(PORT=1558)) (CONNECT_DATA= (SID=<>) ) )” -rootdir . ;
130. Where to locate the definition of standard OAF Pages and regions?
Ans: passivation is the process of saving application state to a secondary medium (the database)
at specific event points so it can be restored (activated) when needed.
setEmployeeId(employeeId);
Ans: To copy multiple rows you can add the multipleSelection item for the table.Check which
row is selected and write code for implementing this.
Ans: Dependent poplist can be implemented by enabling firePartialAction and capturing the
event for the source poplist and passing the value selected in the source to the method where we
set the where clause and execute the query for the destination poplist.
Ans: pageContext.forwardImmediately(“OA.jsp?page=/xxch/oracle/apps/fnd/test/webui/
DetailsPG&fname=”+fname.
Ans: pageContext.getOANLSServcies().formatCurrency(num,”USD”);
Ans :
SubRequest – Set to TRUE if the request is submitted from another running request and has to be
treated as a sub request.
Example:
Ans :
VO extension will take of viewlink by itself So we can extend this VO as usual VO Extension.
Ans:
Step 1 : Right click on Entity Object(EO) and click on “Synchronize with DataBase..”
Step 2 : Double Click on the EO, Click on Attributes in the left Panel and then Click on “New
from Table….”
Ans:
Ans:
OAApplicationModule am = oapagecontext.getApplicationModule(oawebbean);
Ans:
ProcessFormRequest(PFR)t method is called when we perform some action on the screen like
click of submit button or click on Go or any action perform on the page the result is displayed is
called PFR.
Ans:
Passivation is the process of saving application state to a secondary medium (the database) at
specific event points so it can be restored (activated) when needed. This restoration of data is
called Activation. Passivation in OAF is done implicitly when the appropriate profile options are
enabled.
150. What is Validation View Object(VVO), Validation Application Module , Root Application
Module , View Link , Entity Expert , Association Object , Attribute Set?
Ans:
Validation View Object – A view object created exclusively for the purpose of performing light-
weight SQL validation on behalf of entity objects or their experts.
Validation Application Module – An application module created exclusively for the purpose of
grouping and providing transaction context to related validation view objects. Typically, a
standalone entity object or the top-level entity object in a composition would have an associated
validation application module.
This transaction context can be shared by multiple pages if they all reference the same root
application module, and instruct the framework to retain this application module (not return it to
the pool) when navigating from page to page within the transaction task.
Entity Expert – A special singleton class registered with an entity object (EO) that performs
operations on behalf of the EO.
Association Object – BC4J association objects implement the relationships between entity
objects. For example, a purchase order header can reference a supplier, or it can own its order
lines.
Attribute Set – Bundles of region or item properties that can be reused either as is or with
modifications. For example, all buttons sharing the same attribute set would have the same label
and Alt text.