All About Regions in OAF

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 OA 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 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 JavaA�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
  • trainA�
  • tree

advancedTable:

EarlierA�OA Framework had OATableBean to render tables but now OAAdvancedTableBean has been introduced which extends OATableBean. The best part of this is that with advancedtable provides declarative support for the functionalities which required programming with simple table.

OAAdvancedTableBean also provides declarative support to many of the new features that were not available with OATableBean, just for an example features likeA�column span in a table column header were not available with OATableBean but isA�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 ita��s displayed.

The branding options include:

  1. RowBranding
  1. ColumnBranding
  1. 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 thata��s selected if you dona��t 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.

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?a��

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
  1. Set the style property to BulletedList.
  1. Set the properties of the newly created BulletedList region according to the requirement and the standards of Oracle Apps Framework.
  1. Create items of any item style as children in this region.

cellFormat:

In OAA�page, 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.

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
  1. Set the style property to cellFormat.
  1. Set the properties of the newly created cellFormat region according to the requirement and the standards of Oracle Apps Framework.
  1. 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
  1. Create a region on an OAF page using JDeveloper
  1. Set the style property to contentContainer
  1. Set the properties of the newly created contentContainer region according to the requirement and the standards of Oracle Apps Framework.
  1. 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)

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)

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
  1. Set the style property to flowLayout.
  1. Set the properties of the newly created flowLayout region according to the requirement and the standards of Oracle Apps Framework.
  1. 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

gantt:

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.

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

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
  1. Advanced search panel
  1. a results table
  1. Other elements as indexed children

Simple search panel can contain any of the following regions

  1. DefaultSingleColumn
  2. DefaultDoubleColumn
  3. DefaultStack
  4. 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
  1. Results Based Search (RBS) mode
  1. 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
  1. Set the style property to rowLayout.
  1. Set the properties of the newly created rowLayout region according to the requirement and the standards of Oracle Apps Framework.
  1. Create cellFormat region as a child of rowLayout.

Create items or regions of any style as children in cellFormat region.

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

Show my latest post here