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. |
Monday, June 12, 2017
Interview Questionere
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment