OAF Interview Questions And Answers - Part1

Frequently Asked Questions And Answers In Oracle Application Framework [OAF]

OAF Interview Preparation,OAF Job Questions,OAF Concepts

Through this article I am starting a new series of interview questions and answers for oracle application framework(OAF). There are very few interview resources available in the internet for OAF. Please suggest more interview resources if you know. Your name and contribution will be published here.

1. 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:

  1. A client-side user interface written in Java and/or HTML.
  2. One or more business logic tier components that provide business logic and views of business objects.
  3. Tables on the database server that store the underlying data.

2.What are all the components of BC4J?
Following are the components of BC4J:
  1. 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.
  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 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.

3. What is an EO? And what are its primary functions?
  1. EO encapsulates the business logic and rules.
  2. EO’s are used for Inserting, Updating and Deleting data. 
  3. We can also link to other EO’s and create an Association object.
  4. Map to a database table or other data source
  5. Each entity object instance represents a single row
  6. Contain attributes representing database columns
  7. Central point for business logic and validation related to a table
  8. Encapsulates attribute-level and entity-level validation logic
  9. Can contain custom business methods
4. What is a VO? And what are its primary functions?
  1. View object encapsulates the database query.
  2. It is used for selecting data.
  3. Are used for joining, filtering, projecting, and sorting your business data
  4. Represent a query result
  5. It provides iteration over a query result set.
  6. Can be based on any number of entity objects if the underlying UI is for update.
  7. Can also be constructed from a SQL statement
  8. It provides a single point of contact for getting and setting entity object values.
  9. It can be linked together to form View Links.
5. What is an AO(Association Object)?
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 its a President then there is no manager associated. This is a perfect example to understand the AO.

6. What is a VL(View Link)?

A view link is an active link between view Objects(VO). 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.

7. 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.

8. Which package should include EO and AO.
The EO and AO will be present in the schema.server package.

9. 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.

10. What is a Controller?

Controller is the java file and can be associated to a complete OAF page or to a specific region.
Controller is responsible for handling following actions on the pages:
  1. Handle button press and other events
  2. Automatic queries
  3. Dynamic WHERE clauses
  4. Commits
  5. JSP Forwards
Relevant Article:
OA Framework Interview Questions And Answers - Part2 
OA Framework Interview Questions And Answers - Part3



  1. How to call the workflow in oaf just give the briefly

  2. Hi Bru,

    This is indeed great! But I think perhaps you are generally referring ,which is getting unsustainable.

    I need to check various columns of a particular table to see if they are not really being populated or the data is always the same. So that we can perhaps remove some columns going forward. This table will be filtered by std_job_no column as i have a list of values for this column which pertain to a particular area of the data.

    To retrieve the column names for the table i have written this which produces the correct results.. note i do not require std_job_no column as i will be using this later as part of the group by query.


    Now i want to loop through these column names and substitute column_name into the following query

    from msf690
    where std_job_no in (
    '009045', '009053', '009188', '009189', '009190', '009236', '009275', '009310', '009319', '009320', '009321', '009322', '009323', '009324', '009325', '009326', '009327', '009328', '009419', '009459', '009460', '009461', '009462', '009463', '009464', '009582', '009590', '009591', '009594', '009616', '009617', '009618', '009619', '009620', '009621', '009622', '009623', '009624'
    and dstrct_code='RTK1'

    So i would then get the list of all values for each column name and how often they are populated.

    It should be something along the lines of..


    FOR RRR IN (

    EXECUTE IMMEDIATE 'select ' ||
    from msf690
    where std_job_no in (
    '009045', '009053', '009188', '009189', '009190', '009236', '009275', '009310', '009319', '009320', '009321', '009322', '009323', '009324', '009325', '009326', '009327', '009328', '009419', '009459', '009460', '009461', '009462', '009463', '009464', '009582', '009590', '009591', '009594', '009616', '009617', '009618', '009619', '009620', '009621', '009622', '009623', '009624'
    and dstrct_code='RTK1'

    and then i want to dbms_output this without inserting the values into a table as I don't have permissions to create tables.

    Great effort, I wish I saw it earlier. Would have saved my day :)




Account Payables,1,Advance Table In OAF,1,AME,1,AOL Concepts,19,AP Holds,1,Apps Initialization,1,Blanket Purchase Orders,1,Blanket Releases,1,Careers,9,Common Errors and Solutions,2,Concurrent Programs,10,Contract Purchase Orders,1,Corporate Culture,3,Corporate Ladder,3,Customer Interface,3,Customization,1,De-Normalization,1,EAM,1,EBS Tutorials,10,Education,16,Emterprise Asset Management,1,English,1,Enterprise Asset Management,1,Entrepreneur,1,Error Fixes,1,Executables,2,Extension,1,fnd_user,1,FNDLOAD,1,Global Agreements,1,Guest Posts,7,Handy Scripts,63,Health Tips,1,Important Apps Queries,1,Infographic,3,Interview Preparation,62,Interview Q/A,68,Inventory Org ID,1,Iproc,4,Iprocurement,4,IT,3,jDeveloper,1,Job Search,1,Key Tables In Oracle Apps,5,Learning English,1,MDS,1,Metadata Tables,2,Multi Org Architecture,2,Normalization,1,O2C,1,OAF Interview,50,OAF Personalization,1,OAF Tutorials,52,OCI,1,Operating Unit,1,Oracle 10g,1,Oracle 11g,1,Oracle Access Manager,1,Oracle ADF,1,Oracle Alerts,2,Oracle AP,12,Oracle Apex,1,Oracle APIs,4,Oracle Application Object Library,19,Oracle Applications,10,Oracle Approvals Management,1,Oracle Apps,4,Oracle Apps DBA,2,Oracle Apps Interviews,36,Oracle Apps Tips,9,Oracle Apps Tutorials,98,Oracle AR,18,Oracle Assets,2,Oracle BAM,1,Oracle BI Publisher,1,Oracle BPEL,1,Oracle BPM,1,Oracle Cloud,1,Oracle Cloud Infrastructure,1,Oracle Dabase Structure,2,Oracle Database Architecture,2,Oracle Database Key Tables,3,Oracle EAM,2,Oracle EBS,5,Oracle Financials,2,Oracle Forms And Reports,17,Oracle Forms Interview Questions,6,Oracle Forms Tutorials,6,Oracle GL,4,Oracle Holds,1,Oracle HRMS,10,Oracle Human Resources,1,Oracle Inventory,4,Oracle Payables,1,Oracle Payroll,1,Oracle POTutorials,1,Oracle Purchasing,7,Oracle Reports Interview,9,Oracle Reports Tutorials,3,Oracle SOA,1,Oracle System Administrator,4,Oracle Workflow,4,Order Management,2,Organization ID,3,Organizations,3,Performance Tuning,2,Personalization,1,PL/SQL Block,1,PL/SQL Interview Questions,11,PL/SQL Scripts,44,PL/SQL Tutorials,53,Planned Purchase Orders,1,PO,1,PO Action History,1,PO_ACTION_HISTORY,1,POracle Purchasing,1,PR,1,Procedures And Functions,2,Profile Options,2,Purchase Orders,1,Purchase Requisition,2,Receipts,1,Request Groups,1,Responsibility,1,Shell Script,1,SOA Tutorials,4,Social Media,1,Software Industry,2,Software Tools,1,SQL And PL/SQL Interview,38,SQL Interview,52,SQL Scripts,38,SQL Tutorials,43,Standard Purchase Orders,1,Troubleshooting,1,Unexpected error,1,Unix/Linux Commands,3,User,1,Value Sets,1,Weblogic,1,XML Publisher,4,
Oracle Apps Guy: OAF Interview Questions And Answers - Part1
OAF Interview Questions And Answers - Part1
Oracle OAF Interview Questions and Answers,basic to advanced OAF Interview Questions and Answers,A series of OAF Interview Questions and Answers for beginners,intermediate level and advance level professionals.
Oracle Apps Guy
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content