Oracle OA Framework Interview Questions
What is the pattern used in developing any OAF component?
MVC (Model, View, Controller)
Lists the components in the MVC architecture
Model: Application Module, View Objects, View Links, Entity Objects, Entity Associations etc.
View: Page, Region, Attributesets etc.
Controller : Controller class files
Which is the component responsible for user actions?
Controller is the object. The code present in ProcessFormRequest gets executed up on the user action.
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.
What is the significance of ProcessFormData()?
For a ‘POST’ request the data on the page is binded to the view object in this method
Does ‘GET’ request result in calling ProcessFormData()?
No, only POST request calls that.
What is the main Controller component in OAF?
OAController is the main class and our controller will become subclass of it.
How does page structure get created at runtime?
OAPageBean is responsible for creating the bean hierarchy structure at runtime after calling ProcessRequest() of each of the beans in the hierarchy.
Where does the client BC4J objects get placed in the server?
A. They are located in the oracle.apps.<product>.<application>.server
Where does the server BC4J objects get placed in the server?
They are located in the oracle.apps.<product>.<application>.schema.server
Where does the Page and Controller related files get placed?
They are located in oracle.apps.<product>.<application>.webui
What are Validation View Objects?
They are the VVO’s used in validation of attributes, they are the BC4J components and have their AM ie VAM Validation Application Module
What is the version of Jdeveloper to be used in 11i or R12?
For 11i, Jdeveloper 9i will be used and for R12 Jdeveloper 10g will be used.
What is a Database Connectivity File?
It is a .dbc file which is specified in the project properties. The location of this file on the server is $FND_TOP/secure
What is a View Object?
It is a BC4J(Business Component for Java) object which encapsulates the query results. View objects will support the display of the content to user in the Page.
How do you create a view object?
View objects can be created in the Business components package, can be based on entity objects or an sql query. View objects based on sql query are read only view objects
What is an entity object?
Entity object is created based on a database table, it is responsible for insertion/updation/validation of the table data. They are stored in the oracle.apps.<prod>.<application>.schema.server package directory
What is an Application Module(AM)?
Application module holds the related objects pertaining to an application ie. View objects, Entity Objects etc. The application module helps in getting the required database connection, maintains the page session or transaction context
What is the object passed to every page request?
OAPageContext object is passed to every request, using this object the controller initializes the application module object and will call the required methods.
Where is the view object(VO) initialization or query filtering done?
It is done with view object implementation class Ex. EmpVOImpl.java
What is the property to set for an AM so that the transaction state is maintained across pages?
RETENTION_LEVEL property is set to value MANAGE_STATE for an AM.
What is the Personalization?
Personalization means changes to the existing ‘Page’ according to the customer requirement
Give some examples of Page Personalization?
Addition of new columns to a table results, adding of fields, changing the order of regions, columns etc. Apart from this validation of certain fields, display of Descriptive flex fields etc can also be achieved
What is extension?
Extension is the changing of the existing components for adding more features or customer required features. View Objects, Controller, Application Module can be extended.
What is substitution?
When view objects are extended, we need to tell the applications that our extended view object should be used or substituted during runtime, substitution will serve this purpose
How to do register a new OA Framework page in Oracle Applications?
oracle.jrad.tools.XMLImporter utility will be used. After successfully importing the page data will be stored in metadata repository tables of the database
How do you move personalization from one machine to another?
Using the functional administrator responsibility the xml file can be downloaded, this file contains the required personalization done on a particular page. The same can be used to upload in a different instance. Here XMLImporter utility can be also used.
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.
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
What is ‘Partial Page Rendering’ PPR?
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
What are the search region options available?
Simple Search – ResultBasedSearch is the construction mode for the region
Advanced or autocustomization search – Autocustomization is the mode here
None – User has the develop the page, regions, controller etc here
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.
How does personalization takes its effect at runtime?
After the page structure or bean hierarchy is formed with, the personalization layers get applied on top of it to come up with the final structure. Remember that is the reason why personalization is upgrade safe.
Name some components requiring extension?
View Objects, Controller, Application Module. Yes nested application module concept is allowed.
After you modify a class file and move it to the server what is the immediate step that will be followed?
The services of the instance ie. Apache server etc. have to be bounced so that the new code in the class file takes effect.
Where does the two categories of files in OAF be placed in the server?
All the xml files of the page/region will be placed in the respective TOP’s mds directory. All the class files irrespective of TOP will be placed under $JAVA_TOP which can be $COMMON_TOP/java
When do you create additional business components package?
Apart from B4CJ client business components package and B4CJ server business components package we create additional business components package when we develop any sharable thing such as ‘LOV’ (List of Values), ‘Poplist’ etc which will be used in multiple pages
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.
What is the default top region of any new page that you create?
PageLayout is the top level default region
At what level region controller for a page can be set?
It can be under a Main region under PageLayoutRegion or any region as per the business need. Provision of defining multiple controllers for a page also exist.
PPR follows GET or POST flow?
POST flow
What is the extension to the tool for developing OA F components?
A. Jdeveloper OA Extension class support the OA F development
Ans; 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.
Ans: An association object is created
where we link EO’s. For example take the search page where we link the same EO
to form a association between the manager and employee. Every employee should
have a manager associated. But if it President then no there is no manager
associated. This is a perfect example to understand the AO.
Ans: A view link is an active link
between view links. A view link can be created by providing the source and
destination views and source and destination attributes. There are two modes of
View link operation that can be performed. A document and Master/Detail
operation.
Ans: UIX is an extensible, J2EE-based
framework for building web applications. It is based on the
Model-View-Controller (MVC) design pattern, which provides the foundation for
building scalable enterprise web applications.
Ans: MVC Architecture is a Model View
Controller Architecture. The controller responds to user actions and directs
application flow. The model encapsulates underlying data and business logic of
the application. The view formats and presents data from a model to the user.
Ans: O is located in the View Layer
which is responsible for presenting the data to the user.
Ans: The EO and AO will be present in
the schema.server package.
Ans: 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.
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: QueryBean is used to execute and
return the results of a query on behalf of the QueryPortlet application.
Ans: 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.
In Autocustomization search we need to set what all fields are required to display as a search criteria.
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: XML is a markup language for
documents containing structured information.
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.).
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.).
Ans: Customization is under direct
user control. The user explicitly selects between certain options. Some
customization examples include:
Altering the functionality of an application
Altering existing UI
Altering existing business logic
Extension is about extending the functionality of an application beyond what can be done through personalization. Some extensibility examples include:
Add new functional flows
Extend or override existing business logic
New application/module
New page
New attribute
Extend/Override defaults & validations
Altering the functionality of an application
Altering existing UI
Altering existing business logic
Extension is about extending the functionality of an application beyond what can be done through personalization. Some extensibility examples include:
Add new functional flows
Extend or override existing business logic
New application/module
New page
New attribute
Extend/Override defaults & validations
Ans: Personalization enables you to
declaratively tailor the UI look-and-feel, layout or visibility of page content
to suit a business need or a user preference. Some personalization examples
include:
• Tailor the order in which table columns are displayed.
• Tailor a query result.
• Tailor the color scheme of the UI.
• Folder Forms
• Forms Personalization
• Oracle Application Framework (OAF)
• Tailor the order in which table columns are displayed.
• Tailor a query result.
• Tailor the color scheme of the UI.
• Folder Forms
• Forms Personalization
• Oracle Application Framework (OAF)
Ans: The application module which is
associated with the top-level page region (the pageLayout region) is root
application module.
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.
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.
Ans: Search in oracle.metalink.com as Jdev
with OA Extension.
Ans:
Javac is one of the tool for decompiling
the java class.
Ans: setmaxFetchSize just determines
how much data to be sent at a time.
Ans: A HGrid, otherwise known as a
hierarchy grid, allows users to browse through complex sets of hierarchical
data.
Ans: VO,AM,Page
Ans: A switcher is a control, that
allows the selective display of information.For example if you want to display
a image for update enabled and update disabled you can use switcher.
Ans: processForRequest
processRequest
Ans: processRequest
Ans: EO.
Ans: createRow creates a row in the
VO.
Ans: if
("update1".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
Here update1 is the event.
Ans: When you want to display buttons
on top and bottom of the page then you create a region as pageButtonbar and
create buttons within this region.
Ans: Create a new item with style as link
and give its destination url property which is the url where you want to
navigate to.
Ans: PageLayoutRN
Ans: Want to answer this section? use
the comment section.
Ans: We can use the debugger option
.Set breakpoints and run the page in debug mode.
Ans: To call a PL/SQL API from OAF, we
use OracleCallableStatement or CallableStatement
Ans: Not necessary. If you are
creating a record then we need a EO.
Ans: Want to answer this section? Use
the comment section.
Ans: If you set the property to True
it shows that there will no validation that will occur on the web tier as part
of the form submit.
Ans: It is an expression that will
either return TRUE or FALSE.
Ans: SPEL is used in places where you
want to show or hide an item programmatically.
Ans: PPR is Partial Page rendering. Which
means that only a particular part of the page is refreshed and not the entire
page.
Ans: [*]Hiding/Showing Objects[/*]
[*]Required/Optional[/*]
[*]Disabled/Enabled[/*]
[*]Read only/Updatable[/*]
Ans: Create an arrayList of exceptions
then do a raiseBundledException.
Ans: Fires when page submit happens.
Ans: 1.Identify VO to be extended. And
Copy to your machine from server.
2. Create new VO in xx.oracle.apps package
and extend parent VO.
3. Create substitution in jdev.
4. Deploy extended VO to $JAVA_TOP.
5.Load jpx file to database using
jpximporter..
Ans: 1.Login to the application.
2.Click on Functional Administrator
responsibility.
3.Click on Core Services Tab.
4.Click on Profiles.
5.Enter Pers%Self% in Name and click Go.
6.In the results you will see Personalise
Self-Service Defn.Update it and enter Yes in the Site Value
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 . ;
Ans: : $APPL_TOP/icx/11.5.0/mds/por/
-- for purchasing
Ans: Want to answer this section? use
the comment section.
Ans: Want to answer this section? use the
comment section.
Ans: Want to answer this section? use
the comment section.
Ans: Want to answer this section? use the
comment section.
Extraordinary
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.
Ans: OADBTransaction transaction =
getOADBTransaction();
Number employeeId =
transaction.getSequenceValue("SEQ Name");
setEmployeeId(employeeId);
Ans: All OAF validations are done in
the Entity Object.
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: With the transaction unit
identifier, you can indicate when a specific UI task begins and ends, and if
the user navigates in an unexpected manner such as using the browser Back
button. You can check the transaction unit status and react to ensure that
inappropriate actions are not performed and unwanted data in the BC4J cache is
not committed.
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.
Here fname is the variable we are passing
to the DetailsPG.
No,
you cannot extend the root AM, because the root AM only loads the substitution
from the repository.
Ans 12-setForwardURL()-
This method passes the request from one page to another page.
setimmediateURL()-
when this method is called the another page is called without executing the other lines on the page from where the method is called.
This method passes the request from one page to another page.
setimmediateURL()-
when this method is called the another page is called without executing the other lines on the page from where the method is called.
Ans: pageContext.getOANLSServcies().formatCurrency(num,"USD");
1) setWhereClauseParams and setWhereClause
:
===========================================
setWhereClauseParams: talks about the parameters which we are using in the where clause.
setWhereClause: talks about the complete where clause it containd parameters & order by clause etc....
2) setForwardURL and forwardImmediately:
========================================
setForwardURL: when we call this in the page, it will perform the soft close on the current page then forwards to next page.
forwardImmediately: when we call this in the current page, immediately control will transfer to the next page, without considering the current page state.
3) firePartialAction and fireAction:
=====================================
firePartialAction: when control encounters this, only limited values(from the region which is setup as PPR) will be passed to CO. this will reduce the network traffic.
===========================================
setWhereClauseParams: talks about the parameters which we are using in the where clause.
setWhereClause: talks about the complete where clause it containd parameters & order by clause etc....
2) setForwardURL and forwardImmediately:
========================================
setForwardURL: when we call this in the page, it will perform the soft close on the current page then forwards to next page.
forwardImmediately: when we call this in the current page, immediately control will transfer to the next page, without considering the current page state.
3) firePartialAction and fireAction:
=====================================
firePartialAction: when control encounters this, only limited values(from the region which is setup as PPR) will be passed to CO. this will reduce the network traffic.
fireAction: In this case, all the values from the page will be submitted to CO.
Re: How to move OAF personalization
Posted: Mar 11, 2013 10:51 PM |
|
|
|||||||||
|
|||||||||||
Re: SELECT & UPDATE
Posted: Mar 10, 2013 10:39 PM |
|
|
|||||||||
|
|||||||||||
Re: when to use multiple AM in OAF
Posted: Mar 10, 2013 5:52 AM |
|
|
|||||||||
|
|||||||||||
asdasdasd
ReplyDelete