OAF Class 1 & 2
OAF Class 1 & 2
Introduction
1) OAF
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
Developer Productivity
Application Customizability
Open Standards
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
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.
2
MVC Architecture:
M V C
Front End
Empno 101
GO
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:
EntityObject:
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
Types of viewObjects:
ViewLinks:
ApplicationModule:
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.
MDS Table -
JDR_PATHS --all the paths
JDR_COMPONENETS
JDR_ATTRIBUTES
Controller :
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 .
}
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);
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
7
OASubmitButtonBean osbb=ob. findchildrecursive("Apply ");
osbb.setdiabled(true);
Save Next
EmpName
30
EmpName
50
if(opc.getOrgId().equlas("205")
{
OAMessageTextInputBean mbean=ob.findchildRecursive("EmpName");
mbean.setwidth("50");
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
9
OAF Class 2
Jdeveloper Configuration in ORCALE APPS Environment:
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
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:
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
23
In Detail
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:
26
2)Header
Header region
3)Row Layout:
27
4)Default Double Column.
Importance - by default it would be two column format...
7)Hide Show
Importance - to hide and show the items
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
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