1. Tokens
eg. vname={@AttributeName}
eg. vname={@AttributeName}
2. Hash Maps
eg. HashMap variablename=new HashMap();
variablename.add(“ParameterName”,ParameterValue);
eg. HashMap variablename=new HashMap();
variablename.add(“ParameterName”,ParameterValue);
3.ThroughSession
eg. pageContext.putSessionvalue(“ParamterName”,ParameterValue)
eg. pageContext.putSessionvalue(“ParamterName”,ParameterValue)
2. Explain structure of setForwardURL method.
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.
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.
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.
If the menuName is not of type HOMEPAGE a OAException will be thrown. You can pass null otherwise.
parameters -
HashMap of parameter name/value pairs to append to the forward URL. The final forward URL parameters are in the following sequence:
It will first get the function’s corresponding URL call by querying the function information from the database. If the user is not authorized to execute this function, a security OAException will be thrown.
It will then append all parameters passed in the parameters HashMap. First parameter added to the HashMap will be first added to the URL. Also the framework will encode all parameter values before appending them to the URL.
It will remove all parameters if they have null values in the passed parameters HashMap. This provides an easy way for developers to set a certain parameter’s value to null if they want to remove it.
It will remove any OA Framework internal URL parameters such as bcrumb, retainAM, and so on..
It will first get the function’s corresponding URL call by querying the function information from the database. If the user is not authorized to execute this function, a security OAException will be thrown.
It will then append all parameters passed in the parameters HashMap. First parameter added to the HashMap will be first added to the URL. Also the framework will encode all parameter values before appending them to the URL.
It will remove all parameters if they have null values in the passed parameters HashMap. This provides an easy way for developers to set a certain parameter’s value to null if they want to remove it.
It will remove any OA Framework internal URL parameters such as bcrumb, retainAM, and so on..
retainAM – If true, all the cached application modules will be retained. If false, all the cached application modules will be released.
Developers must use this parameter to control the release behavior of the cached appplication modules.
This method will ignore any retainAM=true or retainAM=false as a URL parameter or as part of parameters
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
3. 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);
}
}
4. 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.
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.
5. 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
6. If we have to initialize something during the page loading, which is the right place?
A. ProcessRequest() method of the Controller file is the right place.
7. What is the significance of ProcessFormData()?
For a ‘POST’ request the data on the page is binded to the view object in this method
8. Does ‘GET’ request result in calling ProcessFormData()?
No, only POST request calls that.
9. 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.
10. Where does the client BC4J objects get placed in the server?
A. They are located in the oracle.apps.<product>.<application>.server
11. Where does the server BC4J objects get placed in the server?
They are located in the oracle.apps.<product>.<application>.schema.server
12. Where does the Page and Controller related files get placed?
They are located in oracle.apps.<product>.<application>.webui
13. 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
14. 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.
15. What is a Database Connectivity(DBC) 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
16. 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.
17. Where is the view object(VO) initialization or query filtering done?
It is done with view object implementation class Ex. EmpVOImpl.java
18. 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.
19. 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
20. 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
21. How do you move personalization from one machine to another?
Using the functional administrator responsibility the xml file can be downloaded, this file contains the required personalization done on a particular page. The same can be used to upload in a different instance. Here XMLImporter utility can be also used.
22. 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
COMMENTS