You are on page 1of 23

RegionOAF

Region is a part of an Oracle Apps Framework page which acts as a container for the items
or components. By default the top most level of an OA Framework page has to be of the "page
Layout" region type.
In OA Framework or OAF the regions can be nested so as to provide the
desired layout to the OAF page. Each region is a java bean which acts as a container for the
sub-regions or items in any Oracle Application Framework page.
Regions which are parallel in the bean hierarchy, in an OAF page, are called as Siblings and the
regions inside a region in an OAF page are called Child regions. The same nomenclature is also
applied for Items in OAF. Hence, by default all the regions that you create become the child
regions of the page Layout region as mentioned earlier that the page Layout region is the top
most region in any OA Framework page.
Also every region in OAF has specific properties which can be given some values
while creation of the OA Framework page e.g. rendered property which allows the region to be
displayed onto the OAF page, as per Oracle Application Framework guidelines (called as OAF
standards) this rendered property can have 2 values namely true(visible) or false(hidden). If the
region in an OAF page is set to be hidden then all the children regions/items will by default be
rendered false once that OAF page is rendered on to screen. Even these properties can be changed
at runtime using a Java controller, but that needs an understanding on how to import the region
beans and then how to create handle of the bean and then how to set properties. However this is
not so much difficult to do but still some Java concept and Java
13

programming knowledge is needed to achieve this. This is called as runtime control of the bean
in OAF and is explained in detail for every region in the corresponding region type.
Every region has a specific way of representing the data onto the screen once the OA Framework
page is rendered. Hence while creation of a OAF page we have to very cautious in choosing the type
of regions. E.g. a defaultDoubleColumn type of region will create two columns and will automatically
render all the components created inside it in these two columns once the OAF page is rendered to
screen. There are various types of regions available in OA Framework.

The complete list of all the regions provided by Oracle Application Framework is given below.

advancedTable
bulletedList
cellFormat
contentContainer
contentFooter
defaultDoubleColumn
defaultFormStack
defaultSingleColumn
defaultStack
flexibleContent
flexibleLayout
flowLayout
footer
Gantt
graphTable
header
HGrid
hideShow
hideShowHeader
labeledFieldLayout
listOfValues
messageComponentLayout
navigationBar
pageButtonBar
pageLayout
query
rowLayout
shuttle
stackLayout
subTabLayout
switcher
table
tableLayout
train
tree

advancedTable:
It was earlier that OA Framework used OATableBean to render tables but now things have
changed and OAAdvancedTableBean extends OATableBean. The best part of this is that with
advancedtable provides declarative support for the functionalities which required programming
with simple table.
The magic doesnt ends here, OAAdvancedTableBean also provides declarative support to many of
the new features that were not available with OATableBean, just for an example features like
14

column span in a table column header were not available with OATableBean but is now
declaratively supported by OAAdvancedTableBean.
Advanced table has many rich features, some of which can be like a table can now have an
instruction text and even a tip, also table can have a navigation bar, selection column, add rows
button, control bar, recalculate and many more.
Advanced table even allows you to brand the table so that it looks more beautiful once it?s
displayed.
The branding options include:
1. RowBranding
2. ColumnBranding
3. NoBranding
By default? NoBranding? Option will be active.
Row Branding: Once you set the branding style in the property palette of advancedTable
region and run the page, you will note that the alternative rows of the table are in grey bands
of color. Even you have the option to choose the branding interval, by default the branding
interval is 1 and hence alternative row is displayed in grey brand color, if you choose 2 as
branding interval then the grey band row will appear after every 2 rows.
Column Branding: This is similar to row banding except that now rather that rows the columns
of your advanced table will be in the grey band branding style.
No Branding: This is the default branding style thats selected if you dont choose other styles,
in this style neither rows nor columns will be branded and all the rows and tables of the
advanced table will be displayed as mentioned in Oracle BLAF.
Some more features of advanced table are:
Text: This is the text that will be displayed on the top of the table once the OA Framework page
is rendered.
Records Displayed: This property can limit the number of records that can be displayed on the
screen once the advanced table is rendered. Be default the number of records displayed is 10.

Width: this is another important property of advancedtable. Here as the name suggests you
can enter the width of the table once the table is rendered. You can either enter the width in
pixels or in percentage. In order to enter the width of the table in pixel enter 500 or 600 in the
property palette. In order to enter the width of the table in percentage enter 70% or 80% in the
palette. Once you enter the width of table to be 100% the navigation links (Next and Previous)
will be displayed on top of the table. These links allow you to navigate to the other rows, apart
from those being displayed on the OA Framework page currently.
Controller Class: This is an optional property. If you want to perform some runtime action
then only you need to create a controller class where you will be handling the events and
navigations performed on the advancedTable.
Admin Personalization: Set to true if you want the admin to be able to personalize the
advancedTable region else false.
User Personalization: Set to true if you want the user to be able to personalize the
advancedTable region else false.

15

bulletedList:
In oracle application framework page the OAF BulletedList appears with a bullet prefixed to any
item present in this region.
For example - Suppose you have 3 items placed inside the BulletedList region type in an
Oracle Application Framework page, then all the 3 items will have a bullet attached as prefix
when the OA Framework page renders. But the only condition that OAF applies for making the
bullet as prefix is that each of the items should have its Rendered property set as true. Hence,
if bullet region is having 4 items in an Oracle Application Framework page and out of these 4
items, 2 items have the rendered property as false then you will find only 2 items with bullet
attached to it once the Oracle Apps Framework page renders on the browser.
Generally, Oracle Application Framework uses BulletedList to hold plain texts or links, but this
doesn't means that it cannot hold other regions or items. Oracle Apps Framework gives you the
freedom to add any other regions or items inside the BulletedList region style.
Oracle Application Framework allows you to specify the whether you want to show all the items
in columns or in the apps framework you can also set the number of rows that you expect to be
displayed at runtime.
To achieve the above mentioned functionality Oracle Application Framework provides you the
Height attribute property of the BulletedList. Let's consider one more example Suppose you have 10 items that have to be displayed in 2 columns when the Oracle Apps
Framework page is rendered. To make this happen all you need to do is to just set the height
property value as 2 in the JDeveloper Tool property palette. This makes the items 1-5 to come
in one column and the items 6-10 to be displayed in the second column. But there is a
restriction to the number of columns that you can create with the above approach. As per
Oracle Application Framework you cannot exceed the number of columns by 3, this means that
you cannot have more than three columns for a BulletedList region in an OAF page.
Corresponding web bean: OABulletedListBean
How to create BulletedList Item in OAF page?
Creating a BulletedList on an Oracle Apps Framework page is simple. Just follow the steps given
below.
1. Create a region on an OAF page using JDeveloper
2. Set the style property to BulletedList.
3. Set the properties of the newly created BulletedList region according to the requirement
and the standards of Oracle Apps Framework.
4. Create items of any item style as children in this region.
cellFormat:
In oracle application framework page the OAF CellFormat region is used inside RowLayout
region. CellFormat region is a container of regions or items.
It imparts the properties like columnSpan, rowSpan, vAlign, hAlign, etc.
Suppose you have 3 rows and 2 columns in a table. Now you want to merge 2 columns of first
row.
For this you can use rowSpan property of cell and will get the first of resulting in only one
column, i.e. now when you run OAF page, table will have total of 5 cells in it.
CellFormat allows you to control the vertical and horizontal alignment of item present in it. You
can achieve the same using vAlign and hAlign.
Suppose there is cell consisting of messageTextInput in it, messageTextInput should be top
justified and at the end of the cell in the Oracle application framework page. For this, set the
vAlign (Vertical alignment) property of cellFormat as top and hAlign (Horizontal Alignment)
property of cellFormat as right.
16

Note - It will not take care the alignment of the text of the webbean present in it. Like, in a
messageTextInput there is a text of VARCHAR data type, it will be only left aligned.
Corresponding web bean: OACellFormatBean
How to create cell Format Region in OAF page?
Creating a cellFormat region on an Oracle Apps Framework page is simple. Just follow the steps
given below.
1. Create a region on an OAF page using JDeveloper
2. Set the style property to cellFormat.
3. Set the properties of the newly created cellFormat region according to the requirement and
the standards of Oracle Apps Framework.
4. Create items or regions of any style as children in this region.
contentContainer:
In oracle application framework page the OAF ContentContainer region is used to display
additional information of the OAF page in Oracle BLAF ( Browser Look and Feel).
ContentContainer is having special features which will help it to differentiate from other
content of the OAF page.
Example: It can have different background color which can be different from the standard
background color of oracle apps framework page. This can be done by using Background Shade
property of the ContentContainer.
It can have border to it to identify it as a separate region. Content
Container can have items and regions of any style in it.

To add this into oracle application framework page, create a shared region in the OAF page for
ContentContainer.
Generally, BulletList region is placed in it, as we use ContentContainer to display additional
information, and that will be displayed pointwise. In the BulletList we can add further items or
regions in it as per the requirement.
ContentContainer will be generally displayed at the end (right side) of the Oracle Apps
Framework page.
Corresponding web bean: OAContentContainerBean
How to create contentContainer Region in OAF page?
Creating a contentContainer region on an Oracle Apps Framework page is simple. Just follow the
steps given below.
1. Create a shared region for the contentContainer
2. Create a region on an OAF page using JDeveloper
3. Set the style property to contentContainer
4. Set the properties of the newly created contentContainer region according to the
requirement and the standards of Oracle Apps Framework.
5. Create items or regions of any style as children in this region.
ContentFooter:
In oracle application framework page the OAF ContentFooter region was used to hold buttons
(links) at the bottom level of the Oracle Apps Framework page. It displays as a bottom line
which is separated from the page footer with the content of the oracle application framework
page and also known as "ski".
It is deprecated style.
Page buttons should be used instead of ContentFooter to hold buttons in it.
Corresponding web bean: OAContentFooterBean (deprecated)
17

defaultDoubleColumn:
In oracle application framework page the OAF DefaultDoubleColumn region was used to hold
items in two columns.
Prompt of items will be right justified and the input fields will be left justified. But it was not
fulfilling the Oracle BLAF (Browser Look and Feel) UI requirement/guidelines.
Hence, it is deprecated and messageComponentLayout should be used for better serving
the purpose of placing items in OAF page along with header region which is called before
messageComponentLayout in the OAF page.
Along with DefaultDoubleColumn layout, there was one more region known as
DefaultSingleColumn layout was present.
DefaultSingleColumn severs the requirement of placing items in one column; it is also
deprecated due to the same reason of not serving the purpose of Oracle BLAF UI.

Corresponding web bean: OADefaultDoubleColumnBean (deprecated)


defaultFormStack:
In oracle application framework page the OAF DefaultFormStack region was used to hold
regions or items in a stack format i.e. it was used when each region or items needs to come
in Oracle apps framework page one under another (stacked) either to the left side of the page
or right or center as per the requirement.
It is a deprecated region style.
stackLayout should be used instead of DefaultFormStack in current scenarios.
Corresponding web bean: OADefaultFormStackLayoutBean (deprecated)
defaultSingleColumn:
In oracle application framework page the OAF DefaultSingleColumn region was used to hold
items in a single column. Prompt of items will be right justified and the input fields will be left
justified. But it was not fulfilling the Oracle BLAF (Browser Look and Feel) UI
requirement/guidelines.
Hence, it is deprecated and messageComponentLayout should be used for better serving
the purpose of placing items in OAF page along with header region which is called before
messageComponentLayout in the OAF page.
Along with DefaultSingleColumn layout, there was one more region known as
DefaultDoubleColumn layout was present.
DefaultDoubleColumn severs the requirement of placing items in two columns; it is
also deprecated due to the same reason of not serving the purpose of Oracle BLAF UI.
Corresponding web bean: OADefaultSingleColumnBean (deprecated)
defaultStack:
In oracle application framework page the OAF DefaultStack region was used to hold regions or
items in a stack format i.e. it was used when each region or item needs to come in Oracle
apps framework page one under another (stacked) either to the left side of the page or right
or center as per the requirement.
It is a deprecated region style. StackLayout should be used instead of DefaultStack in current
scenarios.
Corresponding web bean: OADefaultStackLayoutBean (deprecated)

18

flexibleContent:
FlexibleContent region is used to identify content that can be placed in a flexibleLayout region.
The content can also be specified by referring to it. It represents available content which may or
may not be made use of; and thus acts as a resource to the page designer.
Corresponding web bean: OAFlexibleContentBean
flexibleLayout:
The flexibleLayout region can be used to define a customizable layout, as flexibleLayout regions can
be nested to form a customizable layout and can be positioned anywhere in the page.

A page can have a number of 'top-level' flexible Layouts; they do not have to be nested.
Corresponding web bean: OAFlexibleLayoutBean
flowLayout:
In oracle application framework page the OAF Default Stack region is used to hold buttons
or images in a horizontal line.
Suppose you have a table or advanced Table in oracle application framework page and you
want to define table actions to the table region, as soon as you create table action by default
flow Layout gets created as a child of table actions.
Region style can be changed to row Layout or can have the same flow Layout attached to
it. In case you want table actions to be performed only by using buttons then it's better to
use flowLayout instead of row Layout. If table action involves other item style i.e.
OAMessageChoiceBean or OAMessageTextBean then use rowLayout, because if you use
flowLayout is used then Oracle BLAF (Browser Look and Feel) of UI will get hampered, i.e.
alignment won't be proper.
Whenever you create page Status region in pageLayout region flowLayout will also be get
created automatically in it as a child.
In flowLayout region there can be any region or item attached to it as child of it.
Corresponding web bean: OAFlowLayoutBean
How to create flowLayout Region in OAF page?
Creating a flowLayout region on an Oracle Apps Framework page is simple. Just follow the steps
given below.
1. Create a region on an OAF page using JDeveloper
2. Set the style property to flowLayout.
3. Set the properties of the newly created flowLayout region according to the requirement
and the standards of Oracle Apps Framework.
4. Create items or regions of any style as children in this region
footer:
In oracle application framework page the OAF Footer region is used to hold links which are for
top-level applications, buttons (global), copyright information, privacy information (optional)
and About this page link (optional) components in it.
It is a child of pageLayout region.
It is shown at the end of the OA Framework page in the BLAF UI.
If we want to attach a "Return to?" link i.e. a back navigation it will also get added in the footer
region.
Corresponding web bean: OAFooterBean
19

Grantt:
In oracle application framework page the OAF Gantt region is used to hold create Gantt charts.
It retrieves the data from the BC4J objects.
It is mostly used for the project planning and scheduling information. It
is like a matrix i.e. it is having a vertical axis and a horizontal axis.

Suppose you want to use Gantt for project planning then Project will be at the vertical axis and
the time period will be placed in an horizontal axis.
It inherits the properties of the HGrid region by extending it, only the width property of HGrid
we cannot change thru the Gantt region.
Corresponding web bean: OAGanttBean
graphTable:
In oracle application framework page, through OAF GraphTable region you can draw graphs.
GraphTable may not use all the columns present in the GraphTable to plot the graph. If there
are multiple graphs depending on one GraphTable then each graph may use different set of
columns to plot in the OAF page.
GraphTable is based on the tableLayout region and inherits all their property.
We need to set a property of GraphTable named as Graph Render Style property as either graph
or both.
When we set the value as graph that time we can view one or more graph elements. And when we
set the property as both then we can view both the table data and the corresponding graph below
the table, and if you have multiple graphs then below the table there will be poplist item in the OAF
page from which we need to choose the graph which we want to display.

Corresponding web bean: OAGraphTableBean


header:
In oracle application framework page we create an OAF Header region to give separate title of
the page to give the information of the page functionality to the user.
By using Header region, page content and the header region gets seperated/partitioned for
more clear information display.
Header region is also used for some important message display on the Oracle application
framework page like Error, Warning, Information, etc at the top of the page.
By use of Header region, the page level action buttons/links will be displayed both at the top
of the page and the bottom of the OAF page.
Note: Header element does not support style Class attribute.
Corresponding web bean: OAHeaderBean
HGrid:
As from the name HGrid itself, it suggests hierarchy grid.
In an oracle application page OAF HGrid region is used when the data needs to be
represented in a hierarchical/tree structure.
You can use the Tree region to represent the tree structure but tree region in OAF emphasis on
the relationship of the objects of the hierarchy.
You can use HGrid to display the hierarchical structure along with the detail information of each
row/node. It gives the privilege of modifying the hierarchy by performing the action as add,
delete, update, etc.
HGrid has 2 special columns:
1. Focus Column.
2. Object Hierarchy Column.
20

hideShow:
In oracle application framework page, to provide the functionality to hide and show the items
and (or) regions we use HideShow region, i.e. all the items or region, which should be displayed
or hidden, should be a child of a region which will have a hide/show control.
By using hode/show control we can hide or show a part of the section of information or
the entire section.
Suppose you want to hide or show details of a particular object in an OA framework page,
hide/show region can be used. You can use hide/show region when you want to hide or show
the graph, which is present in an OAF page. You can use this even when a row of a table needs
to hide and shown on some action on OAF page.
Hide/show region can only provide its functionality on a single page at multiple parts. Nesting
can also be done.
Corresponding web bean: OAHideShowBean
hideShowHeader:
In oracle application framework page, to provide the functionality to hide and show the
items under a header we use HideShowHeader region.
In both the case of toggling i.e. hidden or shown header text will remain as it
is. In HideShowHeader region we can add items as we add in Header region.
Please refer Header region for more information on the properties of Header region.
Corresponding web bean: OAHideShowHeaderBean
labeledFieldLayout:
The labeledFieldLayout region lays out its children in columns; one column is for the "labels"
and the other for the "fields", with a gap in between.
The children are laid out across and down, the first child in each row takes the "label" position
and the second child takes the "field" position. The contents of each row are centered in the
available space.
The "labels" are always right aligned, and the "fields" left aligned.
With multiple columns, the children continue to be layed out across and down. For example,
with two columns, the third child will be used as the label for the first row and second column.
It also has support for the inline messaging beans where each inline messaging bean will
automatically occupy both a "label" and "field" position.
Corresponding web bean: OALabeledFieldLayoutBean
Note: The labeledFieldLayout component has been deprecated; use the
messageComponentLayout component instead. Please refer to the
messageComponentLayout section for information about messageComponentLayout
listOfValues:
A listOfValues region is rendered in a separate modal dialog containing a complex list of possible
values that can be selected as a valid value for an entry field on a transaction page or a field
within a table. Refer to the messageLovInput section for information on the properties of
messageLovInput.
A listOfValues region is rendered as a popup of separate OAF page region containing a list of
possible values, any of which can be selected as a valid value for an entry field on a transaction
page or a field within a table.
Corresponding web bean: OAListOfValuesBean
21

messageComponentLayout:
In oracle application framework page OAF messageComponentLayout is the most widely used
region to hold components.
It is restricted to message components, and it does not allow other regions to become its child.
The components, which are child of OAF messageComponentLayout region, will have, prompt
of the component will be right (end) aligned and the text field will be left aligned.
It serves the multiple column display of components in an OA framework page and also satisfies
the standard UI guidelines.
It is recommended that we should not display more than 3 columns in respect to follow the
UI guidelines.
In the OAF messageComponentLayout the spacing between the components are according to
the Oracle BLAF UI guidelines.
Corresponding web bean: MessageComponentLayoutBean
navigationBar:
In oracle application framework OAF NavigationBar is used to navigate to the next or previous
set of records.
You might have mostly saw NavigationBar attached with the table or advance table.
Suppose you have run a BC4J VO query that retrieved more than 10 records to be displayed in
a table. Then a NavigationBar will appear at the top and bottom of the table. By using the
NavigationBar link you can display the next 10 records, which are retrieved from the query.
NavigationBar can also be seen in the HGrid region, in case we expand a node and the child
retrieved are more than the record limit, that time we have to use NavigationBar link.
Note: No need to declare NavigationBar functionality explicitely.
Corresponding web bean: OANavigationBarBean
pageButtonBar:
In oracle application framework, OAF pageButtonBar is used when a set of buttons/action links
needs to be created at the page layout level.
PageButtonBar is the child of pageLayout region.
Buttons/action links will be displayed both at the top of the page just below the page title
and below the page footer line.
Corresponding web bean: OAPageButtonBarBean
pageLayout:
The pageLayout region is the highest-level layout element. It acts as a template for the entire
page. It, by default, has to be the top most region of the page. It supports several other regions
and navigation areas so as to maintain the Oracle Application Framework Standards.
Corresponding web bean: OAPageLayoutBean
query:
A query region is basically an extension of the stackLayout region.
A query region can contain the following:
1. Simple search panel
2. Advanced search panel
3. a results table
4. Other elements as indexed children
Simple search panel can contain any of the following
regions a) DefaultSingleColumn
22

b) DefaultDoubleColumn
c) DefaultStack
d) DefaultFormStack elements.
The advanced search panel can contain
a) Advanced Search element.
The results of a query are rendered using either a HGrid or a table. The table or HGrid
elements are added as indexed children of the query region.
A query region can have three types of search panels as listed below.
Simple
Advanced
Customize
Also the query region runs in three modes:
1. Default mode
2. Results Based Search (RBS) mode
3. Auto Customization Criteria (ACC) mode.
Default mode: Developer is responsible for defining the search panels and binding the results
of the search to the results table/HGrid.
Results Based Search (RBS) mode: Search panel is created dynamically using the queryable
property of the region items inside the nested table or HGrid indexed children
Auto Customization Criteria (ACC) mode: You have the flexibility of defining your own UI
for the search panels, but the binding is powered by the framework as long as items on the
panels are mapped to items in the results table/HGrid.
Set the User Personalization property of the table/HGrid region (under the query region) to True
if you want to support user-personalizable searches which are surfaced in a Views panel.
Corresponding web bean: OAQueryBean
rowLayout:
In oracle application framework page the OAF RowLayout region is used which will hold
CellFormat inside i.e. as a child to it.
RowLayout region can be defined as an independent region or it can be a child of a tableLayout/
advanceTable region to create a row of a table/advanceTable.
RowLayout provides horizontal alignment of items or regions as these items or regions will be
under cellFormat and rowLayout holds cellFormat in a horizontal line. Hence row contains cell
and cell in-turn contains items to it.
We use rowLayout only when other layouts are not supporting the requirement in a standard
way i.e. not following the Oracle BLAF UI guidelines.
Corresponding web bean: OARowLayoutBean
How to create rowLayout Region in OAF page?
Creating a rowLayout region on an Oracle Apps Framework page is simple. Just follow the steps
given below.
1. Create a region on an OAF page using JDeveloper
2. Set the style property to rowLayout.
3. Set the properties of the newly created rowLayout region according to the requirement and
the standards of Oracle Apps Framework.
4. Create cellFormat region as a child of rowLayout.
5. Create items or regions of any style as children in cellFormat region.
23

shuttle:
The shuttle region provides a means for moving items between two lists and reordering one
of these lists. Often the shuttle will be used to select items from one list by placing them in
the other.
Corresponding web bean: OAShuttleBean
stackLayout:
The stackLayout region is a layout element that lays out each of its children vertically.
Corresponding web bean: OAStackLayoutBean
subTabLayout:
The subTabLayout region has a child called "subTabs" that takes a subTabBar bean. subTabBar
bean contains link elements as its indexed children. subTabBar is rendered once on top.
The number of indexed children of subTabBar, which are the link elements, should be equal to
the number of indexed children of the parent subTabLayout.
The link elements are used to switch between the indexed children of the subTabLayout.
Corresponding web bean: OASubTabLayoutBean
switcher:
The switcher region is used in typical business requirements e.g. supopose we want to show
an LOV when one of the value of the defined attribute of the VO is selected and an
OAMessageTextInputBean when another value is selected in the VO i.e. it has a property,
"childName", which is used to render the named child under this name. The item to be
displayed on the OA Framework page is decided at runtime. A view name and a view attribute
have to be specifed to a switcher.
Corresponding web bean: OASwitcherBean
table:
As the name suggests a table region is used to display tabular data and also supports selection
(both single and multiple), sorting, record navigation, detail-disclosure and totaling but totaling
can be enabled for any column except for the first column in a table.
Corresponding web bean: OATableBean
tableLayout:
The tableLayout region is also of table type only and acts as a thin wrapper around the HTML's
table element. It contains a series of rowLayout elements for embedding other regions and
items.
Corresponding web bean: OATableLayoutBean
train:
The train region is used to signify the in progress page of a multi-page process. The highlighted
"step" indicates the currently active page. The train has one property, "selectedIndex", which is
the index of the selected "step".
Corresponding web bean: OATrainBean

24

tree:
As the name suggests that a tree region is used to display objects in a hierarchical format. It
segregates data into child/leaf nodes and parent nodes which can be either expanded or
collapsed. The purpose of tree is to allow users to promptly browse through composite sets of
hierarchical objects and access detailed information for a record by highlighting it in the tree.
The visual representation of the hierarchy using the tree also depicts the relationship
between objects with respect to one another.
Corresponding web bean: OATreeBean

ITEMS - OAF
An item in OAF is a java bean which allows a user to interact with the Oracle
Apps Framework page e.g. a text box or a choice box etc.
Components or items are always placed inside some region so that they are always displayed as
per the Oracle Application Framework standards. Every item or component has specific
properties which can be given some values while creation of the OA Framework page e.g.
rendered property which allows the bean to be displayed onto the screen it can be true(visible)
or false(hidden). Items get rendered on the Oracle Apps Framework page in the fashion as
described by the region in which that item has been placed either at declarative/design time or
at runtime.
Even these properties can be changed at runtime, but that needs an understanding on how to
import the beans and then how to create handle of the bean and then how to set properties.
However this is not so much difficult to achieve but still some programming knowledge is
needed to achieve this. This is called as runtime control of the bean and is explained in detail
for every item in the corresponding item type.
A complete list of all the items provided by Oracle Application Framework is given below.

button
exportButton
flex
formattedText
formParameter
formValue
image
link
messageCheckBox
messageChoice
messageDownload
messageFileUpload
messageInlineAttachment
messageLovChoice
messageLovInput
messageRadioButton
messageRadioGroup
messageRichTextEditor
messageStyledText
messageTextInput
rawText
resetButton
25

richTextEditor
selectionButton
separator
servletInclude
spacer
staticStyledText
submitButton
tip
urlInclude

button:
The button item style in Oracle Application Framework creates a push button. It allows the user to
trigger certain action in response to a click. To do this the Oracle Apps Framework gives the
property of fire action. The fire action property needs the name of the action to be fired e.g.

"buttonAction". Now, once the button is clicked the control goes to the processFormRequest
method to search for the buttonAction code. This all is handled by the OA Framework. In
the buttonAction code you need to write the business logic as per the requirement.
You cannot have children to this button bean.
Corresponding web bean: OAButtonBean
Import Path: import oracle.apps.fnd.framework.webui.beans.nav.OAButtonBean;
exportButton:
In Oracle Application Framework the ExportButton is used to:
Export the displayed data of a particular region or for all regions on an OAF page to a comma
separated value (csv) file.
o Only the regions that are displayed on the OA Framework will be exported.
o Each region on the exported file will have a row of column names followed by the results.
In Windows:
Clicking on the ExportButton will open a dialog according to which o
You can open the exported file and then save the same, or,

o You could save the file and then open it.


exportButton can be used as follows:
1. Exporting the data of all regions on a page.
2. Exporting data of a specific region on a page.
1. Exporting the data of all regions on a page:
A. Create a contentFooter region under the pageLayout region of that OAF Page.
B. Add an "ExportButton" to the contentFooter region.
C. If there is more than one button which needs to be added to the contentFooter, then all the
buttons should be put under a flowLayout region, and this flow layout should then be added to
the contentFooter.
2. Exporting data of a specific region on a page:
A. Create an "ExportButton" under the region whose data needs to be exported.
B. Now, in the container object, position this ExportButton and set a view usage name for this
ExportButton. The data of the attached VO will be exported to a CSV file.
It extends the OA Framework's submitButton and inherits all the properties from it.
26

Corresponding web bean: OAExportBean


Import Path: import oracle.apps.fnd.framework.webui.beans.form.OAExportBean;
flex:
Oracle Application has two types or styles of flex item styles. In other words you can say that
there are two types of flex fields in Oracle Application, they are:
1. Descriptive flex field.
2. Key flex field.
1. Descriptive flex fields: It provides a customizable "expansion space" which can be used to
track additional information, important and unique to a customer's business, which would not
otherwise be captured by the form.
2. Key flex fields: They are the key building block for the business group and are made up of
meaningful segments identifying business entities like Position, Job, and Grade etc.
By using flex item style, we create the complete structure of key flex field and descriptive flex
field as it is declared in Oracle Applications.
Corresponding web beans: OADescriptiveFlexBean, OAKeyFlexBean
import oracle.apps.fnd.framework.webui.beans.OADescriptiveFlexBean;
import oracle.apps.fnd.framework.webui.beans.OAKeyFlexBean;

formattedText:
You may have guessed from the name itself that a formattedText item style will accept a string.
In OAF the FormattedText accepts the string in one of its attribute named as "Text" and
contains a very limited set of HTML markup and outputs formatted results.
Oracle Apps Framework developers, who need more of HTML functionality must use the rawText
bean. E.g. formattedText bean won't support the use of HTML tables or HTML links; hence OAF
developers have to use either tableLayout and link beans or use just the rawText bean.

formattedText bean provides a limited ability to use a single source for translated or userprovided FormattedText without parsing or filtering. It supports more attributes than the
rawText bean; e.g. it supports styleClass.
HTML markups supported by FormattedText are:
In the CSS attributes "class", "style" and "href" are the only attributes that are supported;
all the other CSS attributes others are ignored.
Corresponding web bean: OAFormattedTextBean
Import Path: import oracle.apps.fnd.framework.webui.beans.OAFormattedTextBean;
formParameter:
In Oracle Apps Framework the formParameter item style provides the functionality to act as a
placeholder for submission parameters. Suppose you want a user to fill his credit card details
and then you want to call a payment gateway by passing his credit card information, then you
will use the formParameter bean to hold the values of the credit card filled by the user in the
OAF page.

27

Oracle Application Framework also provides the formValue bean for holding the values, but
there are differences between formParameter and formValue beans of OAF, these are listed
below.
1. formParameter won't support a "value" attribute. Instead, the value is set only at form
submission time.
2. A formParameter with a particular name can be added N number of times to a form without
ill effects; only one instance will appear. This is noticeably different from the formValue, where
reuse will cause the same value to appear multiple times in the form submission.
Corresponding web bean: OAFormParameterBean
Import Path: import oracle.apps.fnd.framework.webui.beans.form.OAFormParameterBean;
formValue:
In Oracle Apps Framework the formValue bean is used to add value that will be submitted with
a form, but the key point to mention is that value is not displayed to the user.
To make the formValue bean get a value the formValue's ViewName and ViewAttribute has to
be mapped to a View Object and as soon as that View Object is executed the formValue get's
the value of the mapped attribute.
Corresponding web bean: OAFormValueBean
Import Path: import oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean;
image:
Suppose you want to show an image on to an Oracle Application Framework page then you
have to use the Oracle Apps Framework provided Image bean. This bean has to be mapped to
an image so that the image can be displayed to once the OAF page is rendered.
For example when we see an update column in a table, that column uses image bean to display
the image of update icon.
Corresponding web bean: OAImageBean
Import Path: import oracle.apps.fnd.framework.webui.beans.OAImageBean;
link:
The Oracle Application Framework provides the Link bean so that you can redirect the control
to any other page once the Link bean has been clicked. The link bean item style creates an
HTML link tag which can then be redirected to some other page as required.
To open a new browser on the click of the link bean from an OAF page you just need to make
the target property of the link bean to _blank.
Corresponding web bean: OALinkBean
Import Path: import oracle.apps.fnd.framework.webui.beans.nav.OALinkBean;
messageCheckBox:
In order to create a check box in an Oracle Application Framework page the messageCheckBox
bean is used. It is created with the user's defined inline text which acts as a prompt once the
Oracle Apps Framework page is loaded.
28

MessageCheckBox serves the purpose of one or multiple


selection. Corresponding web bean: OAMessageCheckBoxBean
ImportPath: oracle.apps.fnd.framework.webui.beans.message.OAMessageCheckBoxBean;
messageChoice:
In order to make a drop down box in any Oracle Application Framework page the
messageChoice bean is used. The messageChoice bean gives the user the functionality to
select a value from the drop down list in an Oracle Apps page. People often get confused
between the MessageChoice and the List Of Values (LOV), whereas there are huge differences
between both. Value of the dropdown list of MessageChoice bean comes from the BC4J object.
Corresponding web bean: OAMessageChoiceBean
Import path: import oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean;
messageDownload:
The MessageDownload bean is a very special one in Oracle Apps Framework. It's special
because it allows the user to download a file from the middle tier to the client's machine directly
from the OAF page.
Corresponding web bean: OAMessageDownloadBean
ImportPath:oracle.apps.fnd.framework.webui.beans.message.OAMessageDownloadBean;
messageFileUpload:
In Oracle Apps Framework the messageFileUpload item style is created as a combination of the
fileUpload and inlineMessage controls. The fileUpload control adds a widget that can be used to
upload a file right from the Oracle Application Framework page. Any OAF page that contains
this control must have attribute "usesUpload" set to true.
Corresponding web bean: OAMessageFileUploadBean
ImportPath:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageFileUploadBean;
messageInlineAttachment:
In any Oracle Apps Framework page the messageInlineAttachment item style is used to display
attachments in a message bean.
Corresponding web bean: OAMessageInlineAttachmentBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageInlineAttachmentBean;
messageLovChoice:
The Oracle Application Framework creates a messageLovChoice item style as a hybrid between
a messageLovInput and a messageChoice. The messageLOVChoice bean appears as a torch
icon on the OAF page on the right side of a messageChoice.
Once the torch is clicked a new region will be opened, this region is called as the LOV region in
Oracle Application Framework terms, the LOV region will allow the user to search and select a value
from the available ones. Once the value is selected the region will close automatically, the

29

control will return back to the base OAF page and the choice box will display the value
selected from the LOV region.
Corresponding web bean: OAMessageLovChoiceBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageLovChoiceBean;
messageLovInput:
In Oracle Apps Framework the messageLovInput item style is a combination of the lovInput and
inlineMessage controls.
Note: messageLovInput can have two or more lovMaps created under it, and each of those
lovMaps can have the Criteria Item property set. However if you set the Criteria Item property
on more than one lovMap, at runtime when the user invokes an LOV, selects a value from the
LOV, and then re-invokes it, both the entered criteria are used. In this case, deleting the value
from the search item will not enable the user to query all records from the LOV table's view
objects.
Corresponding web bean: OAMessageLovInputBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageLovInputBean;
messageRadioButton:
The messageRadioButton item style in Oracle Application Framework is a combination of the
radioButton and inlineMessage controls. It is used to create a radio button using which a user
can select or deselect a value in an OAF page.
Corresponding web bean: OAMessageRadioButtonBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageRadioButtonBean;
messageRadioGroup:
The Oracle Apps Framework creates the messageRadioGroup item style as a combination of the
radioGroup and inlineMessage controls. You can have many radio buttons in the
messageRadioGroup but only one of the radio buttons can be selected at a time. This is used
wherever you want user to select only one value from many choices available. Suppose in your
OAF page you want the user to select a payment method out of the three available options
namely Credit Card, Pay Pal or Cash on Delivery (COD), then either you can use messageChoice
bean or you can use the messageRadioGroup to achieve the same.
Corresponding web bean: OAMessageRadioGroupBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageRadioGroupBean;
messageRichTextEditor:
The messageRichTextEditor item style in Oracle Apps Framework page provides rich text editing
capability within the OAF page.
Using this region the users can format the text same as MS Word or other word processing
tools. It has the capacity to hold the text in bold, italics, underlined, colored or any other
30

format. A user can even add bullets, numbers etc to his text. Also, the user can highlight the
text or write the text in different colors, is also gives the user the functionality to copy the text
from any word processing tools and paste the same.
The only condition that Oracle Application Framework puts for the
messageRichTextEditor is that it can be placed within any region except search regions or
tables. Also, the browser should support IFRAMES for the rich text editor to work.
Corresponding web bean: OAMessageRichTextEditorBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message. OAMessageRichTextEditorBean;
messageStyledText:
In Oracle Apps Framework the messageStyledText item style is a combination of the styledText
and inlineMessage controls. It is used to display a prompt and a value against that prompt. For
example you want to display the percentage of tasks done, then you need the name of the
tasks to come as labels and the percentage of the tasks completed will be fetched from the
View Object.
Task1: 90%
Task2: 50%
Here in the above example Task1 and Task2 are the labels that you give to the
messageStyledText and the figures 91 and 50 are the values fetched by the View Attributes of
the View Object attached with the messageStyledText to display the value.
Corresponding web bean: OAMessageStyledTextBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message. OAMessageStyledTextBean;
messageTextInput:
The messageTextInput in Oracle Application Framework provides an item which acts as a text
box so that a user can enter the values into it and can save the same once the entered
values passes the BC4J validation if any. It is a combination of the textInput and
inlineMessage controls.
You can also write a prompt for the text box to specify the purpose of the text box in the label
field provided by the Oracle Apps Framework.
Corresponding web bean: OAMessageTextInputBean
Import Path:
import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
rawText:
The rawText item style supports output of unescaped text. Use of this class means assuming full
responsibility for generating proper HTML. Clients should strongly consider using elements in
the HTML namespace instead of this class. In particular, this class does not attempt to encode
or escape characters for NLS or HTML compliance.
Corresponding web bean: OARawTextBean
Import Path: import oracle.apps.fnd.framework.webui.beans.OARawTextBean;
31

resetButton:
Suppose you want to create a button which will clear all the contents that a user has filled in
the form in one shot, in these cases you can use the ResetButton provided by Oracle Application
Framework. In the push of the ResetButton all the contents placed in all the items of that OAF
Page will be cleared and become blank. In simple words the ResetButton is used to reset the
contents of the whole OAF Page.
Corresponding web bean: OAResetButtonBean
Import Path: import oracle.apps.fnd.framework.webui.beans.form.OAResetButtonBean;
richTextEditor:
The richTextEditor item style provides rich text editing capability within the OA Framework. It
can be placed within any region except search regions or tables. The component allows users to
author, edit and view rich text content in a browser that supports IFRAMEs.
The richTextEditor item style extends messageTextInput and can be used to provide rich text
editing capabilities where they are required. Please refer to the messageTextInput section for
more information on all richTextEditor properties.
Note: The richTextEditor item style has been deprecated; use messageRichTextEditor instead.
Corresponding web bean: OARichTextEditorBean
Import Path: import oracle.apps.fnd.framework.webui.beans.message.OARichTextEditorBean;
selectionButton:
The SelectionButton in Oracle Application Framework creates a button that can select the whole
row of a table.
The restriction that Oracle Apps Framework puts for the SelectionButton is that it can be
created only under a singleSelection or multipleSelection named child in a table region.
SelectionButton inherites all the properties from submitButton hence please refer to the
submitButton section for more information on all submitButton properties.
Corresponding web bean: OASelectionButtonBean
Import Path: import oracle.apps.fnd.framework.webui.beans.form.OASelectionButtonBean;
separator:
The separator bean creates a horizontal line on the OAF page so that there is a clear
demarcation between the components placed on any Oracle Application Framework page. It is
rendered as a dashed horizontal line once the OAF page is rendered.
Corresponding web bean: OASeparatorBean
Import Path: import oracle.apps.fnd.framework.webui.beans.layout.OASeparatorBean;
servletInclude:
The servletInclude item style allows you to include HTML content loaded from a local Servlet
or JSP under the parent region directly from the Oracle Application Framework page.
32

Corresponding web bean: OAServletIncludeBean


Import Path: import oracle.apps.fnd.framework.webui.beans.include.OAServletIncludeBean;
Spacer:
The spacer item style inserts empty space in a page. Spacer Beans occupy a fixed amount
of space in an HTML layout.
Suppose you want to have some gap in between the regions or in between the items placed in
any Oracle Application Framework page then you can use the Spacer item type provided by
Oracle Apps Framework. The spacer item style has height and width properties so that you can
specify either horizontal, vertical or even both types of spaces in the Oracle Apps Framework
page.
Corresponding web bean: OASpacerBean
Import Path: import oracle.apps.fnd.framework.webui.beans.layout.OASpacerBean;
StaticStyledText:
The staticStyledText item style extends styled Text. All attributes supported by styled Text are
inherited by staticStyledText.
See the section on styled Text for a list of attributes available on the styled Text element.
Corresponding web bean: OAStaticStyledTextBean
Import Path: import oracle.apps.fnd.framework.webui.beans.OAStaticStyledTextBean;
Submit Button:
The Submit Button item style is used to submit the OAF Page. The destination attribute of the
submit Button is always ignored and in place of it the destination of the form is used as
destination by Oracle Apps Framework.
It also has the fire action property that you can use to handle the validations for the values
being submitted with the form.
Corresponding web bean: OASubmitButtonBean
Import Path: import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
Tip:
The tip item style provides page or section level hints to the user. This is a very essential
component that Oracle Apps Framework as there is always a demand for tips to be displayed
once the mouse is hovered over any component.
Typically, the only indexed child of the tip will be a Text Node, but as many children as
necessary can be added and will be laid out as with a flowLayout.
Corresponding web bean: OATipBean
Import Path: import oracle.apps.fnd.framework.webui.beans.OATipBean;

33

UrlInclude:
The urlInclude item style allows you to include HTML content loaded from an external source
under the parent region.
Corresponding web bean: OAUrlIncludeBean
Import Path: import oracle.apps.fnd.framework.webui.beans.include.OAUrlIncludeBean;

Lov -(List of values)


In Oracle Apps Framework the messageLovInput item style is a combination of the lovInput and
inline Message controls. Lov is used to displays the list of values from data base in separate
region, when ever user clicks on torch icon. Where user can search the value and do the
selection.
Note: messageLovInput can have two or more lovMaps created under it, and each of those
lovMaps can have the Criteria Item property set. However if you set the Criteria Item property
on more than one lovMap, at runtime when the user invokes an LOV, selects a value from the
LOV, and then re-invokes it, both the entered criteria are used. In this case, deleting the value
from the search item will not enable the user to query all records from the LOV table's view
objects.
Steps to create a LOV:
Create new bc4j package
imp.oracle.apps.po.student.lov.server

Create new Application module


Create new view object

LOVAM
LOVVO

Query: SELECT VENDOR_NAME, VENDOR_ID FROM PO_VENDORS;


Add LOVVO in LOVAM
Create shared region

Type: listOfValues
Create new table using wizard
Attributes set below properties:
VendorID:
seacrhAllowed :True
Sort Allowed : Ascending
Sort sequence: First
Vendor Name:
Search Allowed: True
In a page create new item for supplier and set the below properties
34

Type: messageLovInput
External Lov: imp.oracle.apps.po.student.lov.webui.supplierLovRN
Lov mapping:
Lov Region: VendorName
Return: Supplier
Criteria: Supplier

Message Choice (Picklist or Poplist )


In order to make a drop down box in any Oracle Application Framework page the message
Choice bean is used. The message Choice bean gives the user the functionality to select a
value from the drop down list in an Oracle Apps page. People often get confused between
the MessageChoice and the List Of Values (LOV), whereas there are huge differences
between both. Value of the dropdown list of Message Choice bean comes from the BC4J
object.
Steps to create a messageChoice:
Create new bcj4 package
imp.oracle.apps.po.student.poplist.server
Create new view object

SupplierVO

Query: SELECT VENDOR_NAME,VENDOR_ID FROM PO_VENDORS;


Add it in root Application module
Create a item in page
Type:
OAMessageChoice

Set below properties:


Picklist view definition: imp.oracle.apps.po.student.poplist.server.SupplierVO
Picklist Disaply Attribute: VendorName
Picklist Value Attribute : VendorId

Picklist
Picklist
Picklist
Picklist

view definition: Automatically executes the vo query on page load


Disaply Attribute: The attribute name you want show in the front end
Value Attribute: The attribute name you want to save in the back end DB.
view instance: Need to manually execute the query.

You might also like