Pages

Showing posts with label OAF. Show all posts
Showing posts with label OAF. Show all posts

Tuesday, September 13, 2016

OAF (Oracle Applications Framework) Introduction

Oracle uses Oracle Applications Framework, aka OAF, to build web based pages in Oracle EBS applications. OAF is XML and JAVA based framework. End users or consultants can customize Oracle EBS applications using OAF technology. Following are the types of customizations that end users can do using OAF.
  • Controller Extension
  • BC4J Substitution
    • VO Substitution
    • AM Substitution
  • Enhancements to existing applications like building new pages.
OAF is built based on the MVC architecture. MVC stands for model, view and controller and this MVC architecture has been widely spread across industry.


Below is a layered architecture followed by OAF framework which is based on the MVC architecture.

In OAF, code components are majorly classified into view components, BC4J components and controller components. Each database table record that is part of the application is represented by an EO (Entity Object). A list of database table records that are represented by EOs are collected into VO (View Object). AM (Application Module) behaves as a content container within the model layer that holds all the VOs pertaining to a transaction. CO (Controller Object) responds to user actions and talks to AM to fetch data or perform transactions. In OAF UI (User Interface) components are built in XML technology. Below is a simplified representation of OAF, aka Onion structure. This picture is borrowed from Oracle Crop.


How to create train step process in OAF

A train step process can be created in OAF by following below steps.
1. Create all the pages that are to be displayed in the train. A sample page is shown below.

2. Create a page button bar.
3. Add navigation bar to the pageButtonBar. Add buttons like Cancel, Submit,.. etc.

4. To this navigation bar add the pages created in step1.

5. Create a train.

6. Add the pages created in step1 to it.

7. Insert the train bar in all the pages.

8. Insert the pageButtonBar in all the pages.

9. Code the controller of each page to handle Cancel and Submit buttons.

10.  As an example we have created a train for creation of Order. Following is the first page of train that displays the Order Header.

11. Following is the second page of the train

12. Following is the third page of the train

13. Following is the final review page where user can submit the transaction.