Monday, 20 February 2012

OAF Interview Questions


  1. How do u implement LOV? What is dependent LOV?
    2. I am not able to see about this page link, how do i get it?
    3. I am not able to see personalize this page link?
    4. How do u migrate ur customization form one environment(instance) to other?
    5. About MVC Acchitecture.
    6. Where you do validation?
    7. What is passivation?
    8. What is Validation VO (VVO) & PPR?
    9. How do you extend a VO? How do u substitute a VO and why?
    10. How to do personalization? When do you go for personalization and when for extension.
    11. How to print current date in OAF page?
  1. What do you mean by extending a View Object? Extending a Controller Object? what are the practical cases in which I am required to do that?

    2. what is bean area and in which practical cases am I requierd to extend the Bean Area?

    3. If I am required to add a checkbox (say for e.g,) on an OAF page, Is extending the Controller Object mandatory? where do I extend the Controller Object, in Jdeveloper?
    If I need to see whether my changes have taken effect, where should I deploy the changed OAF page? (Here I am not talking about deploying a new custom application developed in OAF. I am just asking what are the steps to see my changes take effect).

    4. If I am required to add a checkbox on an OAF page, what are the steps to do that and what are the steps to see my changes take effect? (like in forms customization whenI deploy the fmx file on the top like ap or po top then I can see the changes)
  2. how can i make attachment field as mandatory
  3. Changing a profile value at the controller level
  4. copy personalization from one responsibility to another
  5. How to post changes of EO backed VO to DB without commit?
  6. How to cancel the newly created record
  7. Retain transient attribute value attached to Radio button
  8. Currency Formattin in Oaf
  9. Dynamic VO







Beginners
Ans:
Ans: 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.
Ans; View object encapsulates the database query. It is used for selecting data. It provides iteration over a query result set.VO’s are primarily based on Eo’s. It can be used on multiple EO’s if the UI is for update. It provides a single point of contact for getting and setting entity object values. It can be linked together to form View Links.
Ans: An association object is created where we link EO’s. For example take the search page where we link the same EO to form a association between the manager and employee. Every employee should have a manager associated. But if it President then no there is no manager associated. This is a perfect example to understand the AO.
Ans: A view link is an active link between view links. A view link can be created by providing the source and destination views and source and destination attributes. There are two modes of View link operation that can be performed. A document and Master/Detail operation.
Ans: UIX is an extensible, J2EE-based framework for building web applications. It is based on the Model-View-Controller (MVC) design pattern, which provides the foundation for building scalable enterprise web applications.
Ans: MVC Architecture is a Model View Controller Architecture. The controller responds to user actions and directs application flow. The model encapsulates underlying data and business logic of the application. The view formats and presents data from a model to the user.
Ans: O is located in the View Layer which is responsible for presenting the data to the user.
Ans: The EO and AO will be present in the schema.server package.
Ans: Inline lov is a lov which is used only for that particular page for which it was created and cannot be used by any other page.External lov is a common lov which can be used by any page. It is a common component for any page to use it. It can be used by giving the full path of the lov in the properties section “External LOV” of the item.
Ans: JavaBeans is an object-oriented programming interface that lets you build re-useable applications or program building blocks called components that can be deployed in a network on any major operating system platform.
Ans: QueryBean is used to execute and return the results of a query on behalf of the QueryPortlet application.
Ans: Results based search generates search items automatically based on the columns on the results table.
In Autocustomization search we need to set what all fields are required to display as a search criteria.
Ans: MDS is MetaData Service. When a web page is broken into small units like buttons,fields etc they are stored in a database. These are not stored as binary files but as data in tables. The data are present in JDR tables. MDS provides service to store & return page definitions. MDS collects those definitions in components/fields in a meaningful manner to build a page.
Ans: XML is a markup language for documents containing structured information.
Structured information contains both content (words, pictures, etc.) and some indication of what role that content plays (for example, content in a section heading has a different meaning from content in a footnote, which means something different than content in a figure caption or content in a database table, etc.).
Ans: Customization is under direct user control. The user explicitly selects between certain options. Some customization examples include:
Altering the functionality of an application
Altering existing UI
Altering existing business logic
Extension is about extending the functionality of an application beyond what can be done through personalization. Some extensibility examples include:
Add new functional flows
Extend or override existing business logic
New application/module
New page
New attribute
Extend/Override defaults & validations
Ans: Personalization enables you to declaratively tailor the UI look-and-feel, layout or visibility of page content to suit a business need or a user preference. Some personalization examples include:
• Tailor the order in which table columns are displayed.
• Tailor a query result.
• Tailor the color scheme of the UI.
• Folder Forms
• Forms Personalization
• Oracle Application Framework (OAF)
Ans: The application module which is associated with the top-level page region (the pageLayout region) is root application module.
Ans: The AM should be retained whenever you are navigating away from a page and when you know that there is a possibility to come back to the page again and data is to be retained. Example : Any navigation link that opens in a new page or any navigation which has a back button to come back to the initial page.
The AM should not be retained for two independent pages, especially if they have common VOs which fetch different result sets. In such cases, retaining the AM may not remove the cache of VOs and so the result may not be as expected.
Ans: The basic intention of the breadcrumb is to let the user know of the navigation path he took to reach the current page.
Ans: Search in oracle.metalink.com as Jdev with OA Extension.
Ans:
Jad is one of the tool for decompiling the java class.

EXPERT
Ans: setmaxFetchSize just determines how much data to be sent at a time.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: A HGrid, otherwise known as a hierarchy grid, allows users to browse through complex sets of hierarchical data.
Ans: VO,AM,Page
Ans: A switcher is a control, that allows the selective display of information.For example if you want to display a image for update enabled and update disabled you can use switcher.
Ans: processForRequest
processRequest
Ans: processRequest
Ans: Want to answer this section? use the comment section.
Ans: EO.
Ans: createRow creates a row in the VO.
Ans: if ("update1".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
Here update1 is the event.
Ans: When you want to display buttons on top and bottom of the page then you create a region as pageButtonbar and create buttons within this region.
Ans: Create a new item with style as link and give its destination uri property which is the url where you want to navigate to.
Ans: PageLayoutRN
Ans: Want to answer this section? use the comment section.
Ans: We can use the debugger option .Set breakpoints and run the page in debug mode.
Ans: To call a PL/SQL API from OAF, we use OracleCallableStatement or CallableStatement
Ans: Not necessary. If you are creating a record then we need a EO.
Ans: Want to answer this section? use the comment section.

Ans: If you set the property to True it shows that there will no validation that will occur on the web tier as part of the form submit.
Ans: It is an expression that will either return TRUE or FALSE.
Ans: SPEL is used in places where you want to show or hide an item programatically.
Ans: PPR is Partial Page rendering. Which means that only a particular part of the page is refreshed and not the entire page.
Ans: [*]Hiding/Showing Objects[/*]
[*]Required/Optional[/*]
[*]Disabled/Enabled[/*]
[*]Read only/Updatable[/*]
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Create an arrayList of exceptions then do a raiseBundledException.
Ans: Fires when page submit happens..
Ans: 1.Identify VO to be extended.And Copy to your machine from server.
2.Create new Vo in xx.oracle.apps package and extend parent VO.
3.Create substitution in jdev.
4.Deploy extended VO to $JAVA_TOP.
5.Load jpx file to database using jpximporter..
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: 1.Login to the application.
2.Click on Functional Administrator responsibility.
3.Click on Core Services Tab.
4.Click on Profiles.
5.Enter Pers%Self% in Name and click Go.
6.In the results you will see Personalise Self-Service Defn.Update it and enter Yes in the Site Value
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/ -username <>-password <>-dbconnection "(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=[LINK=http://cpa51d.cpa.bdoutsource.com/][/LINK])(PORT=1558)) (CONNECT_DATA= (SID=<>) ) )" -rootdir . ;
Ans: : $APPL_TOP/icx/11.5.0/mds/por/ -- for purchasing
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Extraordinary
Ans: passivation is the process of saving application state to a secondary medium (the database) at specific event
points so it can be restored (activated) when needed.
Ans: Want to answer this section? use the comment section.
Ans: OADBTransaction transaction = getOADBTransaction();
Number employeeId = transaction.getSequenceValue("SEQ Name");
setEmployeeId(employeeId);
Ans: All OAF validations are done in the Entity Object.
Ans: To copy multiple rows you can add the multipleSelection item for the table.Check which row is selected and write code for implementing this.
Ans: With the transaction unit identifier, you can indicate when a specific UI task begins and ends, and if the user navigates in an unexpected manner such as using the browser Back button. You can check the transaction unit status and react to ensure that inappropriate actions are not performed and unwanted data in the BC4J cache is not committed.



Ans: Dependent poplist can be implemented by enabling firePartialAction and capturing the event for the source poplist and passing the value selected in the source to the method where we set the where clause and execute the query for the destination poplist.
Ans:
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
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.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Want to answer this section? use the comment section.
Ans: Right click on the EO and click Synchronise.
Ans: Want to answer this section? use the comment section.
Ans: pageContext.getOANLSServcies().formatCurrency(num,"USD");
Ans: Want to answer this section? use the comment section.

3 comments:

  1. Ans13: No, you cannot extend the root AM, because the root AM only loads the substitution from the repository.

    ReplyDelete
  2. Ans 12-setForwardURL()-
    This method passes the request from one page to another page.
    setimmediateURL()-
    when this method is called the another page is called without executing the other lines on the page from where the method is called.

    ReplyDelete
  3. Ans 27 - There are 3 types of exceptions can be thrown on OAF pages (java).
    a) Warning – This will display as warning and show custom message
    b) Information - This will display as information and show custom message
    c) Error – This will display your custom message as error and stop the flow.

    In java (OAF) we use try catch block to handle exceptions.
    Try Block – All logic should be kept in a try block to handle exceptions
    Catch Block – Once control find any exception in try block, it goes to catch block. Catch block will be used to handle the raised exception.

    Example -
    try{
    custom code{
    ……………;
    …………….;
    }

    throw new OAException("Sandeep"); // Raise Exception Manually

    }catch(Exception e)
    {
    throw new OAException("Exception " +e, OAException.WARNING);
    // For Warning Message
    throw new OAException("Exception " +e, OAException.INFORMATION);
    // For Information Message
    throw new OAException("Exception " +e, OAException.ERROR);
    // For Error Message
    }

    If exception occurs in custom code, control will come to catch block and it will print the relative exception message on the screen.
    If there is no exception in custom code, control will read last line. Which is to throw exception manually and send control to catch block.
    Error message in this case will be as “Exception oracle.apps.fnd.framework.OAException: Sandeep”

    ReplyDelete