OAF Intvw
OAF Intvw
1. What is an EO?
a. Map to a database table or other data source
b. Each entity object instance represents a single row
c. Contains attributes representing database columns
d. Fundamental BC4J object through which all inserts/updates/deletes interac
t with the database
e. Central point for business logic and validation related to a table
f. Encapsulates attribute-level and entity-level validation logic
g. Can contain custom business methods
2. What is a VO?
a. Represent a query result
b. Are used for joining, filtering, projecting, and sorting your business da
ta
c. Can be based on any number of entity objects
d. Can also be constructed from a SQL statement
3. What are the methods in controller?
ProcessRequest, ProcessformData and processformrequest
ProcessRequest : is called when the page is requested for the first time fro
m the server.
ProcessFormRequest : is called when some event occurs on the page
ProcessformData(not visible). : Used to capture Data from the form fields wh
ich the user has entered and post it into Model Layer.
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.
Handle button press and other events
Automatic queries
Dynamic WHERE clauses
Commits
JSP Forwards
The logic for accomplishing all these tasks is written in controller
5. When is the processRequest method called?
PR method is called when the page is getting rendered onto the screen
6. When is processFormRequest method called?
PFR method is called when we perform some action on the screen like click of
submit button or click on lov
7. What is extension?
Extension is when you take an already existing component ex an OAF page or a
region and then add some more functionality to it without disturbing the origin
al functionality.
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 applicat
ion without changing the basic or underlying code of that OA Framework page, Ora
cle Application Framework makes it very easy to personalize the appearance of th
e page or even the personalization of data displayed on to an OA Framework page.
9. What are levels of personalization?
1. Function Level
2.
3.
4.
5.
6.
7.
8.
Localization Level
Site Level
Organization Level
Responsibility Level
Admin-Seeded User Level
Portlet Level
User Level
6. Decompile into Java and store it into MyProjects (with respective directory s
tructure)
7. Open VO.xml in a new jpr
8. Create a new BC4J based on your Original VO.
9. Create a new VO and extends original VO
10. Change the query
11. Rebuild the project
12. Go to .jpx(double click)
13. Go to Substitutions
14. Substitute Vo
15. Rebuild your Project .jpr
16. Transfer New VO class and xml to respective directory structure
17. FTP .jpx into $JAVA _TOP
18. unix command promrt CD$ JAVA_TOP
19. jpx importer command
20. Bounce Apache Server
32)What are different methods for passing paramaters?
1. Tokens
eg. vname={@AttributeName}
2. Hash Maps
eg. HashMap variablename=nre HashMap();
variablename.add(ParameterName,ParameterValue);
3.ThroughSession
eg. pageContext.putSessionvalue(ParamterName,ParameterValue)
33) setForwardURL list
There are many parameters, here is the complete list of it:public void setForwardURL(String functionName,
byte menuContextAction,
String menuName,
com.sun.java.util.collections.HashMap parameters,
boolean retainAM,
String addBreadCrumb,
byte messagingLevel)
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 thr
own.
menuContextAction Determines the behavior of the MenuContext after forwarding to
the new page. It accepts the following values:
OAWebBeanConstants.KEEP_MENU_CONTEXT: Keeps the menu context as is.
OAWebBeanConstants.KEEP_NO_DISPLAY_MENU_CONTEXT: Keeps the menu context as is, b
ut will not display all menus including global buttons.
OAWebBeanConstants.KEEP_NO_DISPLAY_MENU_CONTEXT_RETAIN_GLOBAL_BUTTONS: Keeps the
menu context as is, but will not display all menus excluding global buttons.
OAWebBeanConstants.REMOVE_MENU_CONTEXT: Removes the menu context
OAWebBeanConstants.GUESS_MENU_CONTEXT: Selects the given functionName function i
f it exists in the current menu.
If not it will try to make a guess by moving up the menu tree until it finds it
38) If we have to initialize something during the page loading, which is the rig
ht place?
A.
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
48.
53.
OAPageContext object is passed to every request, using this object the contro
ller initializes the application module object and will call the required method
s.
55. What is the property to set for an AM so that the transaction state is mai
ntained across pages?
RETENTION_LEVEL property is set to value MANAGE_STATE for an AM.
59.
What is substitution?
When view objects are extended, we need to tell the applications that our ext
ended view object should be used or substituted during runtime, substitution wil
l serve this purpose
60.
62. How is the applications security maintained during the OA Framework compon
ents 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 applica
tions 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.j
ava, XXVO.xml)
|__
Entity Objects(XXEOImpl.java
, XXEO.xml)
|_ Database
65.
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.
69. 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 TOPs mds
directory. All the class files irrespective of TOP will be placed under $JAVA_T
OP which can be $COMMON_TOP/java
70.
Apart from B4CJ client business components package and B4CJ server business c
omponents package we create additional business components package when we devel
op any sharable thing such as LOV (List of Values), Poplist etc which will be used i
n multiple 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 t
o be created.
72. What is the default top region of any new page that you create?
PageLayout is the top level default region
74.
75.
84) what is the difference between autocustomization criteria and result based s
earch?
Results based search generates search items automatically based on the columns o
n the results table.
In Autocustomization search we need to set what all fields are required to displ
ay as a search criteria.
95.what is a Javabean?
Ans: JavaBeans is an object-oriented programming interface that lets you build r
e-useable applications or program building blocks called components that can be
deployed in a network on any major operating system platform.
100) How do you find right jdev patch for your oracle application version.
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 throug
h 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 m
ode.
atement
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 t
he page is refreshed and not the entire page.
Examples of PPR scenarios?
Ans: [*]Hiding/Showing Objects[/*]
[*]Required/Optional[/*]
[*]Disabled/Enabled[/*]
[*]Read only/Updatable[/*]
124. How do you generate stack of exception and display the list of error messag
es in OAF page?
Ans: Create an arrayList of exceptions then do a raiseBundledException.
129. What is the command used to import an oaf page and region?
Ans: java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/ -username <>-pas
sword <>-dbconnection (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=[LINK=http://cpa
51d.cpa.bdoutsource.com/][/LINK])(PORT=1558)) (CONNECT_DATA= (SID=<>) ) ) -rootdi
r . ;
130. Where to locate the definition of standard OAF Pages and regions?
Ans: : $APPL_TOP/icx/11.5.0/mds/por/ for purchasing
{
String mFndUserDescription = row1.getAttribute(0).toString();
}
DynamicViewObject.remove();
}
This transaction context can be shared by multiple pages if they all reference t
he same root application module, and instruct the framework to retain this appli
cation module (not return it to the pool) when navigating from page to page with
in the transaction task.
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 se
t would have the same label and Alt text.