Oracle OAF Interview Questions and Answers

1. What is Activation and Passivation in OAF?
Answer: 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. This restoration of data is called Activation. Passivation in OAF is done implicitly when the appropriate profile options are enabled.

2. what is a Javabean?
Answer: 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.

3. 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. The 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 the 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.

4. Which is the component responsible for user actions?
Answer: The controller is the object. The code present in ProcessFormRequest gets executed upon the user action.

5. What is MDS?
Answer: MDS is a 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.

6. What is Personalization?
Answer: 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. 

7. What is XML?
Answer: 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.).

8. What is a switcher in oAF and when it is used?
Answer: A switcher controls, that allows the selective display of information. For example, if you want to display an image for update enabled and update disabled you can use switcher.

9. What is BC4J?
Answer: Business Components for Java is JDeveloper’s programming framework for building multi-tier database applications from reusable business components. These applications typically consist of:

• A client-side user interface is 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.

10. what is the difference between auto customization criteria and result based search?
Answer: 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 search criteria.

11. What is an EO?

  • Map to a database table or other data source
  • Each entity object instance represents a single row
  • Contains attributes representing database columns
  • Fundamental BC4J object through which all inserts/updates/deletes interact with the database
  • A central point for business logic and validation related to a table
  • Encapsulates attribute-level and entity-level validation logic
  • Can contain custom business methods.

12. What is Root Application Module?
Answer: Each page layout 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 retain this application module (not return it to the pool) when navigating from page to page within the transaction task.

13. What are the 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

14. What is the Association Object?
Answer: 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.

15. How do you map the LOV created to your base page?
Answer: One of the items in the page has to be MessageLOVInput which extends the new LOV region, apart from this LOV mapping between the base page and LOV region have to be created. 

16. What is Validation Application Module?
Answer: 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 composition would have an associated validation application module.

17. What is an Attribute Set?
Answer: Bundles of the 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.

18. Are there any limitations in using Oracle XE?
Answer: XE is free but Oracle has built certain limitations into the product. The first limitation is memory. Oracle Database XE can address only 1GB of RAM. This limitation mainly affects how many users can access the database concurrently and how well it performs. The second limit is that XE will only use one CPU. XE will run on a multi -CPU computer but won’t scale up to use those CPUs. This functionality requires Oracle Database Standard Edition or Enterprise Edition. The third limit is that only a single XE database can run on any given computer. You do not need a database for each application. Instead, Oracle uses the concept of schemas to separate applications. Finally, a 4GB limit is enforced on disk space. 4GB is a huge amount of storage for most applications. You can also use APEX to link to other databases (on other servers) for more storage as needed.

19. What is the difference between customization and extension?
Answer: 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

The 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 a New application/module
  • Create a New page
  • Create New attribute
  • Extend/Override defaults & validations.

20. What is an AO?
Answer: An association object is created where we link EO’s. For example, take the search page where we link the same EO to form an 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 AO. 

21. What is the main Controller component in OAF?
Answer: OAController is the main class and our controller will become a subclass of it.

22. How do you create a view object?
Answer: 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. 

23. What is UIX?
Answer: 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.

24. What is a VL?
Answer: 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.

25. What is 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

26. What is root?
The application module which is associated with the top-level page region (the pageLayout region) is the root application module.

27. What is query Bean?
Answer: QueryBean is used to execute and return the results of a query on behalf of the QueryPortlet application.The 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 a New application/module
  • Create a New page
  • Create New attribute
  • Extend/Override defaults & validations

28. What is APEX syntax?
Answer: APEX syntax has different features such as a variable declaration to store the different values in the memory. The queries will be like SOQL which will be used to execute the queries, loop statements to perform the iterations in performing the operations, flow control statements can be used to control the flow execution whether to start or stop the execution process, DML statements can be used to manipulate the data by executing the queries.

29. Why can’t Root AM be extended?
Answer: 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 gets worked out.

30. What is the substitution?
Answer: 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.

31. What is ‘Partial Page Rendering’ PPR?
Answer: 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. 

32. what is MVC Architecture?
Answer: 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.

33. What is the difference between inline lov and external lov?
Answer: 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 love in the properties section “External LOV” of the item.

34. How do you add a link to OAF Page?
Answer: Create a new item with style as a link and give its destination URI property which is the URL where you want to navigate to.

35. What is View Link?
Answer: Establishes a master/detail relationship between two view objects.

36. What is BLOB datatype?
Answer: A BLOB data type is a binary string with a varying length which is used in storing two gigabytes memory. Length should be stated in Bytes for the BLOB.

37. What are the SET operators?
Answer: The following are the advantages of APEX:

  • No license required it is free.
  • To build an application it is a fast learning curve for developers.
  • We can build web applications that are fast & secure through APEX.
  • There is a lot of scope for customization of the
  • application as per our requirement.
  • Deployment of application is very simple as
  • “Import & Export”. If any hard code with reference to values varies between environments are avoided.
    Apex Framework & meta-data is stored in Oracle tables. It runs on live Oracle DB’s.

38. What is the sequence of Personalization override?

  • Responsibility Level
  • Site Level
  • Function Level
  • Organization Level
  • User Level

39. What is Entity Expert?
Answer: A special singleton class registered with an entity object (EO) that performs operations on behalf of the EO.

40. Why Should we give retainAM=Y?
Answer: 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.

41. What is the difference between auto-customization criteria and result based search?
Answer: Results based search generates search items automatically based on the columns on the results table.

In Auto-customization search we need to set what all fields are required to display as search criteria.

42. What are all the components of BC4J?
Answer: Following are the components of BC4J:
1. Entity Object – EO encapsulates 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.
2. 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 the update.
3. 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.

43. What is a Controller?
Answer: The controller is the java file and can be associated with a complete OAF page or to a specific region.
There are several tasks you will do routinely in your code.
1. Handle button press and other events
2. Automatic queries
3. Dynamic WHERE clauses
4. Commits
5. JSP Forwards
The logic for accomplishing all these tasks is written in the controller.

44. Which package should include EO and AO?
Answer: The EO and AO will be present in the schema. server package.

45. What is the extension?
Answer: The 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.

46. What for isPreparedForExecution() and executeQuery() methods used?
Answer: isPreparedForExecution function will check whether all parameters are assigned properly and the 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 the database into VO cache.

47. When is the process request method called?
Answer: PR method is called when the page is getting rendered onto the screen.

48. How does personalization take its effect at runtime?
Answer: 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 upgraded safe.

49. What are Validation View Objects?
Answer: They are the VVO’s used in the validation of attributes, they are the BC4J components and have their AM ie VAM Validation Application Module.

50. What is the pattern used in developing any OAF component?
Answer: 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

Note: Browse latest Oracle  interview questions and    Oracle tutorial. Here you can check  oracle oaf Training details and   Oracle  training videos for self learning. Contact +91 988 502 2027 for more information.

Leave a Comment