| 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 interact
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
data |
|
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 from
the server. |
|
ProcessFormRequest : is called when some event occurs on the page |
|
ProcessformData(not visible). : Used to capture Data from the form fields
which 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 original
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 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. |
|
| 9) What
are levels of personalization? |
|
1. Function Level |
|
2. Localization Level |
|
3. Site Level |
|
4. Organization Level |
|
5. Responsibility Level |
|
6. Admin-Seeded User Level |
|
7. Portlet Level |
|
8. User Level |
| |
| 10)
What is BC4J? |
|
Business Components for Java is JDeveloper’s programming framework for
building multitier database applications from reusable |
| business components. These applications
typically consist of: |
|
• A client-side user interface written in Java and/or HTML. |
|
• One or more business logic tier components that provide business logic and
views of business objects. |
|
• Tables on the database server that store the underlying data. |
|
| 11)
What are all the components of BC4J? |
|
Following are the components of BC4J: |
| • 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. |
| |
|
| 13)
What is an VO? |
| 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. |
|
| 14) What is an AO? |
| 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. |
|
| 15) What is an VL? |
| 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. |
| |
|
| 16). What is UIX? |
| 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. |
|
| 17). Where the VO is located in the MVC
architecture? |
| VO is located in the View Layer in MVC
which is responsible for presenting the data to the user. |
|
| 18) Which package should include EO and
AO. |
| The EO and AO will be present in the
schema.server package. |
|
| 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. |
|
| 21) What is query Bean? |
|
QueryBean is used to execute and return the results of a query on
behalf of the QueryPortlet application. |
|
| 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. |
|
| 23) what is MDS? |
|
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. |
|
| 24) What is XML? |
|
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.). |
|
| 25) What is the difference between
customization and extension? |
|
Customization is under direct user control. The user explicitly
selects between certain options. Using customization a user can: |
|
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. Using extension we can: |
| Add new functional flows |
| Extend or override existing business logic |
| Create New application/module |
| Create New page |
| Create New attribute |
| Extend/Override defaults & validations |
|
| 26) What is Personalization? |
|
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. Using Personalization we can: |
| • Tailor the order in
which table columns are displayed. |
| • Tailor a query
result. |
| • Tailor the color
scheme of the UI. |
| • Folder Forms |
| • Do Forms
Personalization |
|
| 27) Can you extend every possible
Application Module? |
|
No..Root AM cannot be extended. |
|
| 28) What is rootAM? |
|
The application module which is associated with the top-level page
region (the pageLayout region) is root application module. |
|
| 29) Why can’t Root AM be extended? |
|
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. |
|
Obviously, the root am cant substitute itself, hence it can’t be
extended |
|
| 30) What are the various profile options
in OAF? |
|
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. |
|
| 31) Steps for VO substitution? |
| 1. About this Page-> VO, AM, EO, Path
of Page |
| 2. Export Commad (in cmd Prompt) |
| 3. New .jpr =Open page |
| 4. Look for AM and VO or EO. |
| 5. Copy the class files of VO,AM or EO |
| 6. Decompile into Java and store it into
MyProjects (with respective directory structure) |
| 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(); |
| 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 thrown. |
|
| 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, but 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 if 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. An exception will be thrown if
the function could not be located. |
| OAWebBeanConstants.RESET_MENU_CONTEXT:
Reset the menu context to the given functionName and menuName. |
|
| 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. them to the URL. |
| Also the framework will encode all
parameter values before appending |
| 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 |
|
| public void copy() |
| { |
| SuppliersVOImpl pervo =
getSuppliersVO1(); |
| Row row[] =
pervo.getFilteredRows("SelectFlag","Y"); |
| for (int i=0;i<row.length;i++) |
| { |
| SuppliersVORowImpl rowi =
(SuppliersVORowImpl)row; |
| OADBTransaction trx =
(OADBTransaction)getTransaction(); |
| Number b =
trx.getSequenceValue("FWK_TBX_SUPPLIERS_S"); |
| AttributeList a =
(AttributeList)rowi; |
| SuppliersVORowImpl r
=(SuppliersVORowImpl)pervo.createAndInitRow(a); |
| //Set here your unique attribute
values, I'm setting here Supplier Id as for every new row it should be
different. |
| r.setSupplierId(b); |
| pervo.insertRow(r); |
| } |
| } |
| 35)what for isPreparedForExecution() and
executeQuery() methods used? |
|
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. |
|
| 36) 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 |
|
| 37) Which is the component
responsible for user actions? |
| 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? |
|
ProcessRequest() method of the Controller file is the right place. |
|
| 39) What is the significance of
ProcessFormData()? |
| For a ‘POST’ request the data on the page
is binded to the view object in this method |
|
| 40) Does ‘GET’ request result in calling
ProcessFormData()? |
| No, only POST request calls that. |
|
| 41) What is the main Controller
component in OAF? |
| OAController is the main class and our
controller will become subclass of it. |
|
| 42) 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. |
|
| 43.Where does the client BC4J objects
get placed in the server? |
|
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 |
|
| 46.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 |
|
| 47. 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. |
|
| 48. 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 |
|
| 49. 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. |
|
| 50. 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 |
|
| 51. 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 |
|
| 52. 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 |
|
| 53. 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. |
|
| 54. Where is the view
object(VO) initialization or query filtering done? |
| It is done with view object
implementation class Ex. EmpVOImpl.java |
|
| 55. 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. |
|
| 56.What is the Personalization? |
|
Personalization means changes to the existing ‘Page’ according to the
customer requirement |
|
| 57.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 |
|
|
| 58. 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. |
|
| 59. 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 |
|
| 60. 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 |
|
|
| 61. 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 |
|
Here XML Importer utility can be also used in particular page. The
same can be used to upload in a different instance. |
|
| 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 |
|
| 64. 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 |
|
| 65. 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 |
|
| 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. |
|
| 67. 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. |
|
| 68. 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. |
|
| 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 TOP’s mds directory. All the
class files irrespective of TOP will be |
| placed under $JAVA_TOP which can
be $COMMON_TOP/java |
|
| 70. 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 |
|
| 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 |
|
| 73) 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 |
|
| 74) PPR follows GET or POST flow? |
| POST flow |
|
| 75) What is the extension to
the tool for developing OA F components? |
|
Jdeveloper OA Extension class support the OA F development |
|
| 76) What are the methods in
controller? |
|
ProcessRequest and processformrequest |
|
| 77) 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 |
|
| 78) When is the processRequest method
called? |
|
PR method is called when the page is getting rendered onto the screen |
|
| 79) 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 |
|
| 80) What are levels of
personalization? |
| 1. Function Level |
| 2. Localization Level |
| 3. Site Level |
| 4. Organization Level |
| 5. Responsibility Level |
| 6. Admin-Seeded User Level |
| 7. Portlet Level |
| 8. User Level |
|
| 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. |
|
| 83) What is query Bean? |
| QueryBean is used to execute and return
the results of a query on behalf of the QueryPortlet application. |
|
| 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. |
|
| 85) What is MDS? |
| 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. |
|
| 86) What is XML? |
| 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.). |
|
| 87) What is the difference between
customization and extension? |
| Customization is under direct user
control. The user explicitly selects between certain options. Using
customization a user can: |
| 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. Using extension we can: |
| Add new functional flows |
| Extend or override existing business
logic |
| Create New application/module |
| Create New page |
| Create New attribute |
| Extend/Override defaults &
validations |
|
| 88) What is Personalization? |
| 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 |
| Using Personalization we can: |
| • Tailor the order in which table
columns are displayed. |
| • Tailor a query result. |
| • Tailor the color scheme of the UI. |
| • Folder Forms |
| • Do Forms Personalization |
|
| 88)Can you extend every possible
Application Module? |
|
No..Root AM cannot be extended. |
|
| 89) What is root AM? |
| The application module which is
associated with the top-level page region (the pageLayout region) is root
application module. |
|
| 90) Why can’t Root AM be extended? |
|
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. |
|
Obviously, the root am cant substitute itself, hence it can’t be
extended |
|
| 91) What is MVC Architecture? |
|
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. |
|
| 92) Which is the MVC layer VO located? |
|
VO is located in the View Layer which is responsible for presenting
the data to the user. |
|
| 93) Which package should include EO and
AO. |
|
The EO and AO will be present in the schema.server package. |
|
| 94) 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. |
|
| 95) 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. |
|
| 96) What is query Bean? |
|
QueryBean is used to execute and return the results of a query on
behalf of the QueryPortlet application. |
|
| 97) 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. |
|
| 97) What is MDS? |
|
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. |
|
| 98) Why Should we give retainAM=Y? |
|
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. |
|
| 99) What is the significance of
addBreadCrumb=Y |
| 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? |
|
Jad is one of the tool for decompiling the java class. |
|
| 102. What will setmaxFetchSize(0) will
do? |
|
setmaxFetchSize just determines how much data to be sent at a time. |
|
| 103.Can we use dynamically created VO in
OAF?What is the pros and cons? |
|
| 104.What is advanced table in table? |
|
| 105.What is a HGrid? |
|
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? |
|
VO,AM,Page |
|
| 107.What is a switcher in oAF and when
it is used? |
|
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. |
|
| 108.What are all the methods in CO? |
|
processFormRequest |
|
processRequest |
|
| 109.When a page renders which method in
CO fires? |
|
processRequest |
|
| 110.How do you handle back button
navigation in OAF based application? |
|
Want to answer this section? use the comment section. |
|
| 111.Where will you write your business
logic? |
|
Model |
|
| 112.What will vo.createRow() do? |
|
createRow creates a row in the VO. |
|
| 113.How do you catch the button event on
ProcessFormRequest Method? |
|
if
(“update1?.equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM))) |
|
Here update1 is the event. |
|
| 114.What is pageButton bar? |
| 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. |
|
| 115.How do you add a link to OAF Page? |
| Create a new item with style as link and
give its destination uri property which is the url where you want to navigate
to. |
|
| 116.Which is the top most region in OAF
page? |
|
PageLayoutRN |
|
| 117.What are all the several ways to
debug an OAF based application? |
|
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. |
|
To call a PL/SQL API from OAF, we use OracleCallableStatement or
CallableStatement |
|
| 119.Should a search page have an EO? |
|
Not necessary. If you are creating a record then we need a EO |
|
| 120.What will happen when you set
DisableClientSideValidation property to True? |
|
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. |
|
| 121.What is SPEL? |
|
SPEL is Simplest Possible Expression Language. It is an expression
that will either return TRUE or FALSE. |
|
| 122.Where is a SPEL used? |
|
SPEL is used in places where you want to show or hide an item
programatically. |
|
| 123.What is PPR? |
|
PPR is Partial Page rendering. Which means that only a particular part
of the page is refreshed and not the entire page. |
|
| Examples of PPR scenarios? |
| [*]Hiding/Showing Objects[/*] |
| [*]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? |
|
Create an arrayList of exceptions then do a raiseBundledException. |
|
| 125.What is the significance of
ProcessFormData method? |
|
Fires when page submit happens.. |
|
| 126. Describe the steps for VO
Extension? |
|
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.. |
|
| 127.How to enable personlization? |
|
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 |
|
| 128. When we should bounce the page? |
|
| 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: : $APPL_TOP/icx/11.5.0/mds/por/ —
for purchasing |
|
| 131. What is Passivation? |
|
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. |
|
| 132.How do you get the value from the
database sequence? |
|
OADBTransaction transaction = getOADBTransaction(); |
|
Number employeeId = transaction.getSequenceValue(“SEQ Name”); |
|
setEmployeeId(employeeId); |
|
| 133. How do you perform your validation
in OAF? |
|
All OAF validations are done in the Entity Object. |
|
| 134. How do you copy rows from one vo to
another? |
|
To copy multiple rows you can add the multipleSelection item for the
table.Check which row is selected and write code for implementing this. |
|
| 135.What is a transaction unit in OAF? |
|
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. |
|
| 136. How to implement a dependent
poplist? |
|
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. |
|
| 137.How do we pass parameters between
pages? |
| 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. |
|
| 138. How do we synchronize a EO and
Table in the database? |
| Ans: Right click on the EO and click
Synchronise. |
|
| 139. How to set currency formatting in
an OAF advance table region? |
| Ans:
pageContext.getOANLSServcies().formatCurrency(num,”USD”); |
|
| 140. How to call Concurrent Program in
OAF? |
| public int submitRequest( String
ProgramApplication ,String ProgramName ,String ProgramDescription ,String
StartTime,boolean SubRequest, |
|
Vector Parameters ) throws RequestSubmissionException |
| ProgramApplication -Application Short
name of application under which the program is registered. |
| ProgramName – Concurrent Program Name
for which the request has to be submitted. |
| ProgramDescription – Concurrent Program
Description. |
| StartTime – Time at which the request
should start running. |
| SubRequest – Set to TRUE if the request
is submitted from another running request and has to be treated as a sub
request. |
| Parameters – Parameters of the
concurrent Request. |
| Example: |
| public int
submitCPRequest(OAPageContext oapagecontext,OAWebBean oawebbean,Number
headerId) |
| { |
| OAApplicationModule am =
oapagecontext.getApplicationModule(oawebbean); |
| try { |
| OADBTransaction tx =
(OADBTransaction)am.getOADBTransaction(); |
| java.sql.Connection
pConncection = tx.getJdbcConnection(); |
| ConcurrentRequest cr = new
ConcurrentRequest(pConncection); |
| String applnName =
"PO"; //Application that contains the concurrent program |
| String cpName =
"POXXXX"; //Concurrent program name |
| String cpDesc =
"Concurrent Program Description"; // concurrent Program description |
| Vector cpArgs = new
Vector(); // Pass the Arguments using vector |
|
cpArgs.addElement((String)headerId); |
| int requestId =
cr.submitRequest(applnName, cpName, cpDesc, null, false, cpArgs);
// Calling the Concurrent Program |
| tx.commit(); |
| return requestId; |
| } |
| catch
(RequestSubmissionException e) |
| { |
| OAException oe = new
OAException(e.getMessage()); |
|
oe.setApplicationModule(am); |
| throw oe; } |
| } |
|
| 141. How to Extend a VO which is having
View Link? |
|
VO extension will take of viewlink by itself So we can extend this VO
as usual VO Extension. |
|
| 142.What is the Purpose of Serializable
in OAF? |
|
To Pass Multiple parameters of different type as a single |
|
| 143. How to Synchronize an Entity Object
(EO) with Data Base? |
|
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….” |
|
| 144. What are the methods in controller? |
|
Controller is having three type of methods they are |
|
1. ProcessRequest, 2.ProcessFormRequest 3. ProcessFormData |
|
| 145. How do you catch the button event
on ProcessFormRequest Method? |
| if
(pageContext.getParameter(.EVENT_PARAM). equals(“update”)) Here update is the
event. |
|
| 146. How to create a Dynamic VO? |
| OAApplicationModule am =
oapagecontext.getApplicationModule(oawebbean); |
| String DynamicVOQuery = “select
a.scheduled_start_date,a.wip_entity_id,b.wip_entity_name from
WIP_DISCRETE_JOBS a,WIP_ENTITIES b “; |
|
| DynamicVOQuery = DynamicVOQuery +
"where a.wip_entity_id=b.wip_entity_id and wip_entity_name = :1 "; |
|
OAViewObject DynamicViewObject =(OAViewObject)
am.findViewObject("DynamicVO"); |
|
if(DynamicViewObject == null) { |
|
DynamicViewObject =(OAViewObject)
am.createViewObjectFromQueryStmt("DynamicVO ", DynamicVOQuery); |
|
DynamicViewObject.setWhereClauseParams(null); |
|
DynamicViewObject.executeQuery();
oracle.jbo.Row row1 =DynamicViewObject.first(); |
|
if(row1 != null) |
|
{ String mFndUserDescription
=
row1.getAttribute(0).toString();
} |
|
DynamicViewObject.remove(); } |
|
| 147. When is processFormRequest method
called? |
|
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. |
|
| 148. Which package should include EO and
AO? |
|
The EO and AO will be present in the schema.server package. |
|
| 149.What is Activation and Passivation
in OAF |
| Passivation is the process of saving
application state to a secondary medium (the database) at specific event
points so it can be restored A740 |
|
( 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? |
|
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. |
| Root Application Module – Each
pageLayout region in an OA Framework application is associated with a “root”
application module which |
| groups related services and
establishes the transaction context. |
| This transaction context can be
shared by multiple pages if they all reference the same root application
module, and instruct the framework to |
| to retain this application module
(not return it to the pool) when navigating from page to page within the
transaction task. |
|
| View Link – Establishes a master/detail
relationship between two view objects |
|
| 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. |