0% found this document useful (0 votes)
438 views32 pages

OAF Class 1 & 2

The document discusses Oracle Applications Framework (OAF). It provides an overview of OAF, its advantages, and when it is necessary to use OAF in Oracle applications. It also compares OAF to other frameworks like Forms and Application Development Framework (ADF). The document outlines the prerequisites for learning OAF and the roles and responsibilities in OAF development. It provides details on the Model-View-Controller (MVC) architecture used in OAF.

Uploaded by

Guru Prasad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
438 views32 pages

OAF Class 1 & 2

The document discusses Oracle Applications Framework (OAF). It provides an overview of OAF, its advantages, and when it is necessary to use OAF in Oracle applications. It also compares OAF to other frameworks like Forms and Application Development Framework (ADF). The document outlines the prerequisites for learning OAF and the roles and responsibilities in OAF development. It provides details on the Model-View-Controller (MVC) architecture used in OAF.

Uploaded by

Guru Prasad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 32

OAF Class 1

Introduction
1) OAF

Earlier HTML pages, JTF, Self-service pages, Started with JSP(performance).

Springlets, J2EE and the other all frameworks(Partially built in application).

 OAF are web based application. OAF pages can support to the Mobile applications

Oracle Applications Framework is the Oracle Applications development and deployment platform for
HTML-based business applications

OA Framework consists of a set of middle-tier runtime services and a design-time extension to Oracle10G
JDeveloper called Oracle Applications Extension (OA Extension).

2)Advantages of OAF

End User Productivity

Enterprise-Grade Performance and Scalability

Developer Productivity

Application Customizability

Open Standards

3)Necessary to Use OAF in Oracle apps


a) Integration
b) Security
c) Customizations

4) Diff b/w OAF and Forms

OAF Forms
1)OAF pages followed with MVC Architecture As 1) Forms followed only Client /server
well as Client /server Architecture Architecture
2)OAF pages are web application 2)Forms are not web application
3)OAF pages can interact mobile devices 3)Forms cannot interact mobile devices
4)OAF pages are light weight components 4)Forms are light weight components compare
to OAF.
5)OAF pages are look and feel is good 5)N/A
6)OAF page start with Region->Items 6)Forms start with window->canvas->blocks-
>fields
7)OAF pages will be there in JAVA_TOP 7)Forms will be there in AU_TOP

1
5) Diff b/w OAF and ADF.

OAF ADF
1)OAF Follows MVC Architecture 1)ADF follows MVC1 and MVC2 Architecture
2)OAF can integrate only Oracle EBS. 2)ADF can integrate any other ERPS
3)OAF Does not support Drag and Drop 3)ADF does support Drag and Drop Options
Option
4)OAF page cannot see the lay out at design 4)ADF can see the lay out at design time
time

Prerequisites for LEARNING OAF:

You need to have an Oracle Apps 11i or higher environment to play around with.

Basic knowledge of java is needed. Rather I would say basic knowledge of OOP [Object Oriented
Programming] is needed. I mean just the concepts.

Understand MVC concept

Roles and responsibilities in OAF:

1)Development of OAF pages from scratch (Custom Modules)


2)Customization of OAF pages from existing custom application(only Custom Modules)
3)Personalization of OAF pages from existing standard OR CUSTOM oracle Pages(Standard module and custom
module)
(With out touching of oracle std code)
4)Extension of OAF pages from existing standard oracle Pages(only oracle Std pages)
(With touching of oracle std code)
5)Upgradation of OAF pages from LOWE VERSION of apps to higher version of apps(11i to R12)

2
MVC Architecture:
M V C

Model View Controller

Front End

Table, View, Synonym Etc(Entity Object EO) Http


Get(ProcessRequest)
HttpPost(ProcessForm Request)
Queries (ViewObject VO)
Primary and foreign key(Entity Association(AO))
All the joins from tables, ViewLinks(VL)
Packages, Proc, func, triggers, sequences, commit, rollback(OADB Transactions)

Empno 101

GO

EmpNO Ename Salary

3
MVC Architecture In Details:

1)OAF Follows J2ee Architecture , J2EE follows MVC Architecture Ultimately OAF also follows MVC
Achitecture.
2)MVC is clean design interface b/w model /view /Controller

OverView of Model:

1)Model will interact all the DB Objects and DB Transactions


2)Model will implement all the BC4J Components
BC4J: Represents the Directory Structure of All your Objects
3)BC4J Consist of 3 types
a) Entity Object and associations
b) ViewObjects and ViewLinks
c) Application Module

EntityObject:

1)Entity Object represents DB table,Views,Synonym and snap shots


2)All the EntitytObjects End with EO
EmployeeEO
3)Performing the DML operations on OAF page , must have to create an EntityObject
4)When you create an EntityoBject Framework will create one java file
EmployeeEOImpl.java

Two types of EntityObjects:

I. Java Based Entity Object -- Performing the DML Operations on Oracle Custom Tables , will go for Java
Based Entity Object
II. PL/SQL Based EntityObject -- Performing the DML Operations on Oracle Standard Tables , will go for
PL/SQL Based Entity Object

EnityAssociations:

1)Association is relationship b/w two two entityObjects having one common column
2)to perfom DML operations on Master details data
3)All the EntityAssociation objects end with AO.
eX: DeptEmpAO
A)ON Delete Cascade
B)ON Update Keys
c)ON Update History Columns

ViewObjects and ViewLinks(VO and VL):

1)ViewObjects will be access all Sql Queries


2)All the ViewObjects end with VO
SuppliersVO
4
3)When you create the VO TWO JAVA FILES will be create.
SuppliersVOImpl.java (Single record Level Validation)
SuppliersVORowImpl.java(Multiple rows validation)
Example Header and lines

Types of viewObjects:

a)Automatic VO -- Automatically Query stmt will generate


Automatic VOS are linking with EnityObjects (to perform the DML operations and as well as fetch)

b)ManualVO-- Manually write SQL Query


(to display the data on the page and search operations)

ViewLinks:

1)Relatship b/w two vo's, having one common column


2)All the VIewLink Objects End with VL
DeptEmpVL
3)TO Display Master details data on the page through ViewLink.

ApplicationModule:

1)Interface b/w All the DB Objects with OAF page


(All the EO,VOS routed to the page via AM)
2)All the Application Module Objects End with AM
SupplierInfoAM
3)When you create an AM , one java file will create
SupplierInfoAMImpl.java

TWO Types of AM
1)Root Application Module : Attaching AM to the Root Region of the pagecalled as Root Application Module
Ex:Accessing VOS to all of the sub regions
2)Nested Application Module:
Attaching AM to the Sub Region of the pagecalled as Nested Application Module.
Ex:Accessing VOS to with specific to sub region.

OAF page Output process in Jdeveloper:


Jdeveloper

EmployeePG -> UIX -> Page will be rendered


a)Empno
c)Sal
b)ename
E)JOB

<Empno prmopt -emp no, size -40, -------- Empno -TextINPUT/>

OAF page Output Process in Oralce apps Server:

1)EmployeePG ->Move the file respective top :


5
2)Run the XML importer script for the page:
import D:\OAF\jdevhome\jdev\myprojects\vamshi\oracle\apps\po\department\webui\ EmployeePG.xml -
rootdir D:\OAF\jdevhome\jdev\myprojects -username apps -password apps -dbconnection
"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=apps.ora.com)(PORT=1521)))(CONNECT_
DATA=(SERVICE_NAME=VIS)))"

MDS Table -
 JDR_PATHS --all the paths
 JDR_COMPONENETS
 JDR_ATTRIBUTES

Controller :

1)Controller Interacts Web browser activities.


2)Controller will taken care Http Get/Http Post
3)All the Controller Objects End with CO.
SupplierCO.java

In Controller we have 3 methods:

ProcessRequest -HttpGet -- on the page load display any default data will go for Process Request.
ProcessFormRequest-HttpPost -- after web page opens , perform any actions on the webpge will go for
Process Form Request
Ex: Button Press,Link Press,TabOuts
ProcessFormData-HttpGet/HttpPost -- optional Method in controller .

Two parameters in Controller:


1)OAPageContext (in built class which oracle already developed)
2)OAWebBean(in built class which oracle already developed)

public void abc()


{
}
public int abc()
{

}
public void ProcessRequest(OAPageConText opc, OAWebBean owb)
{
1)to get the Apps Context Values
opc.getUserName();
int vuid=opc.getUserId();
opc.getMessage("Message Name from AOL");
opc.getStructureCode("KFF Title");
opc.getFunctionId();
6
....
....
.....
....
2)to get the value from page
String vsname=null;
SupplierName
Dell
vsname=opc.getParemeter("SupplierName");
System.Out.PrintLn("Print suppliername"+vsname);

3) navigating to another page

Page 1 Page2

Next

opc.setforwrdurl("page2 path");

4)
page1 code
vsname=opc.getParemeter("SupplierName");
opc.putsessionvalue("abc", vsname);
page5 code
String ssname=pageContext.getSessionvalue("abc ");

OAWebBean:
OAWebBean Represents the Item Proeperties:

1)MessageTextInput -- OAMessageTextInputBean
2)MessageStyleText -- OAMessageStyleTextBean
3)MessageLOVINnput -- OAMessageLOVInputBean
4)SubmitButton -- OASubmitButtonBean
5)MessageCheckBox -- OAMessageCheckBoxBean
..
..
...
Etc...
EmpName dell -- MessageTextInput

Paid -- MassageCheckBox
Ac --MassageCheckBox
-- SubmitButton
Apply

OAMessageTextInputBean omtib = owb.findchildrecursive("EmpName");


omtib.setText("dell");
OAMassageCheckBoxBean Objomcib = owb.findchildrecursive("Paid");
omcib.setchecked(true);
OAMassageCheckBoxBean Objomcibb=owb.findchildrecursive("AC");
omcib1.setchecked(true);

7
OASubmitButtonBean osbb=ob. findchildrecursive("Apply ");
osbb.setdiabled(true);
Save Next

EmpName
30
EmpName
50

china org id - 204


brazil org id -205

if(opc.getOrgId().equlas("205")
{
OAMessageTextInputBean mbean=ob.findchildRecursive("EmpName");
mbean.setwidth("50");

Onion Structure in OAF:

8
BC4J(Business Components for java) FileStructure:

AM AND VO -> BC4J
XXAAM.oracle.apps.po.xxname.server
[CLIENT NAME].Oracle.apps.[application short name].[component name].server

Entity Object(EO) -> BC4J


XXAAM.oracle.apps.po.xxname.schema.server

LOV ->BC4J
XXAAM.oracle.apps.po.xxname.LOV.server

Poplist ->BC4J
XXAAM.oracle.apps.po.xxname.poplist.server

Controller & Page
XXAAM.oracle.apps.po.xxname.webui

9
OAF Class 2
Jdeveloper Configuration in ORCALE APPS Environment:

1)Identify the OAF Jdeveloper patch


About this page ->Technologycomponenets
(Note: For any Oracle apps Version have One JDeveloper patch).

How to Find the


Correct Version of JDeveloper for OA Extensions.docx

Oracle Apps Version Jdeveloperpatch


R12.1.1 p6908968_R12_GENERIC
R12.1.3 P8901234
R12.2.2 P989789

Patch Contains 3 Folders

1) JdevBin -- contains import,export,jpx import,xliffextact,xliffimport, jdeveloper tool


(Path(import,export,jpx import,xliffextact,xliffimport) ->D:\drive_path\jdevbin\oaext\bin)
Jdeveloper tool ->D:\drive_path\jdevbin\jdev\bin
2) JdevHome -- All the project related files(Eo,vos,am,pages,co,vl,ao
3) JdevDoc -- All the documentation of OAF
2)set the environment variable for windows

Variable name - JDEV_USER_HOME


Variable value - D:\OAF_May\jdevhome\jdev

10
3)Get the DBC FILE from oracle inst top and put into jdeveloper patch
About this page ->Java System Properties

11
From -> About this page ->Java System Properties
To -> D:\drive_path\jdevhome\jdev\dbc_files\secure

4)make the short cut of jdeveloper to desktop


From -> D:\OAF_May\jdevbin\jdev\bin

5)open the jdeveloper ->create database connection.

12
a) Connectio NAME - Vision
Connection Type -OracleJDBC ->Next
b) uname - apps , pwd - apps

13
6) set the Default Project Properties.
Tools ->Default Project Properties

14
Front End Uname -Operations
Password - welcome

15
16
17
Sample Exercises:

1) Develop Simple OAF page.

a) Create Java Workspace(.jws)

Click on ok.
Next ->

18
b) Create Java Project

Next->Next->Next->Finish.

c) Create a page.

19
20
d) Create An Application Module in Respective BC4J.

21
22
Next->Next->Next->Finish

e) Attach AM to the page

f) Give window Title and Title name of the page

g) Run the page

2) Display Images on the page


3) Display Regions and Items on the page
4) Display Apps Context Values on the page
5) Display Exceptions messages with Dynamically.
6) Swapping the value from one field to another field
7) Sum of two numbers
8) Display data to OAF page from DB.
9) Search Pages
a) Automatic Search
1) Simple Search page
2) Advanced Search Page
b) Result Based Search
c) Manual Search page.

23
In Detail

2)Display images On the page:


1) Create a Page
2) put the custom image in below Directory in local
D:\OAF_May\jdevhome\jdev\myhtml\OA_MEDIA.
3) Select the corporate brand image and select the image URI

4) to place the image in the server to find oa media directory in the putty.

24
or
About this page ->Java System Properties

25
Display Regions and Items on the page:

1)Message Component layout.

Test1 Test2 Test3

Test 4 Test5 Test6

Importance : Row and Columns

26
2)Header

Header region

test test1 Test2

test2 Test3 Test4

3)Row Layout:

Create new region Style as RowLayOut


Importance : Horizantal Alignmenet
Vertical Alignmenet

27
4)Default Double Column.
Importance - by default it would be two column format...

5)Default Single Column


Importance - by default it would be a single column format.
Hide header Property .
Note: Lay out look like header region style , but here we have property called Hide header - True

6)Page Button Bar.


By Default Buttons will display top Rigt side and bottom right side.

7)Hide Show
Importance - to hide and show the items

8)Hide Show Header.


Importance Hide and show with Header Format.

9)Sub Tabs
Importance the regions would be tabbed format..

10)table
Table Region will display the data based on the select stmt execution.

11)Advanced Table.

a) Add rows
b) Split Cloumn

28
c) Total Option

12)Hgrid
13)Switcher
14)Train
15)Table Layout
16)Graph table
17)Query
18)Bulletted List.
19)Advanced Search
20)POPUP

Items or Field or Beans:

Item Creattion Screen

29
1) MessageTextInput
2) MessageStyleText
3) MessageCheckBox
4) MessageRadioButton
5) MessageChoice
6) MessageLOVINPUT
7) Button
8) SubmitButton
9) ResetButton
10) ExportButton
11) Tip
12) MessageRichTextEditor
13) MessageFileUploadBean
14) Form value
15) StaticStyleText
16) Spacer
17) link
18) AttachmentImage
19) Flex
20)

30
31
32

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy