Sunday, June 17, 2012

OA Framework Interview Questions


1. What is an EO?
a. Map to a database table or other data source
b. Each entity object instance represents a single row
c. Contains attributes representing database columns
d. Fundamental BC4J object through which all inserts/updates/deletes interact with the database
e. Central point for business logic and validation related to a table
f. Encapsulates attribute-level and entity-level validation logic
g. Can contain custom business methods

2. What is a VO?
a. Represent a query result
b. Are used for joining, filtering, projecting, and sorting your business data
c. Can be based on any number of entity objects
d. Can also be constructed from a SQL statement

3. What are the methods in controller?
ProcessRequest and processformrequest

4. What is a Controller?
Controller is the java file and can be associated to a complete OAF page or to a specific region.
There are several tasks you will do routinely in your code.
Handle button press and other events
Automatic queries
Dynamic WHERE clauses
Commits
JSP Forwards
The logic for accomplishing all these tasks is written in controller

5. When is the processRequest method called?
PR method is called when the page is getting rendered onto the screen

6. When is processFormRequest method called?
PFR method is called when we perform some action on the screen like click of submit button or click on lov

7. What is extension?
Extension is when you take an already existing component ex an OAF page or a region and then add some more functionality to it without disturbing the original functionality.

8. What is personalization?
Oracle Apps Framework has an OA Personalization Framework associated with it so that you can personalize any OAF page in an Oracle E-business Suite application without changing the basic or underlying code of that OA Framework page, Oracle Application Framework makes it very easy to personalize the appearance of the page or even the personalization of data displayed on to an OA Framework page.

9. What are levels of personalization?
1. Function Level
2. Localization Level
3. Site Level
4. Organization Level
5. Responsibility Level
6. Admin-Seeded User Level
7. Portlet Level
8. User Level

-=-=-=-=-=-========================

Oracle Application Framework (OAF) facilitates consultants (both Technical and Functional) to cater to the daily requirements of their clients by enabling them to personalize, customize, extend and also develop new OAF pages and embed the same back into Oracle Applications. By using OA Framework a developer can:
  create new OAF pages
  personalize the pages
  customize the existing (seeded) pages
  extend the existing (seeded) pages
to meet variuos business needs.

So what's the basic difference between personalization, customization, extension and development

1. Personalization: With this you can alter or tailor the look and feel of pages e.g. you can change the label of a text box, you can hide or show a component based on the logged in user or at the responsibility level or at site level itself.

2. Customization: Using this you can add the business logic to the already existing controller code e.g. suppose that you want to add one more validation at the click of some button.

3. Extension: Extension means that you are using the already existing functionality and also adding some more of yours e.g. you want to add some more where conditions to a seeded View Object (VO) query.

4. Development: Using development you can create new OAF pages and embed the same to Oracle Apps Instance to cater to the business needs of the clients.

Now depending upon the layout, complexity and business needs an OAF page can be built up by one or many regions. region is a part of a page which acts as a container for the items or components. By default the top most level of a page has to be of the type "pageLayout" region type.

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 "pageLayout" 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 pageLayout region as mentioned earlier that the pageLayout 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 propoerty 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 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 region provided by Oracle Application Framework is given below.
advancedSearch      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
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.
attachmentImage      attachmentLink      attachmentTable      button      exportButton      flex      formattedText      formParameter      formValue      image      link      messageCheckBox      messageChoice      messageDownload      messageFileUpload      messageInlineAttachment      messageLovChoice      messageLovInput      messageRadioButton      messageRadioGroup      messageRichTextEditor      messageStyledText      messageTextInput      rawText      resetButton      richTextEditor      selectionButton      separator      servletInclude      spacer      staticStyledText      submitButton      tip      urlInclude
Oracle Apps Framework has an OA Personalization Framework associated with it so that you can personalize any OAF page in an Oracle E-business Suite application without changing the basic or underlying code of that OA Framework page, Oracle Application Framework makes it very easy to personalize the appearance of the page or even the personalization of data displayed on to an OA Framework page.
Note:
1. As per Oracle Application guidelines and standards Oracle only supports the use of OA Personalization Framework to personalize OA Framework-based applications.
2. Oracle Application Framework pages which are created dynamically or pages that are created using code at runtime which do not have an OA Extension metadata behind them cannot be personalized using OA Personalization Framework.

By default OA Framework comes with the base product metadata, hence all the personalization that we do sits on top of the base metadata personalization. This means that before performing any personalization whatever we see in an OAF page is the base meta data personalization and once we have personalize the page we can see our personalization in a jiffy. This also means that we can never overwrite the base metadata personalization that comes with the OA Framework, which in turn means that the base personalization cannot be changed or deleted and our personalization are always separated from the base personalization.
Thus, we can always extract the personalization that we have done on an OAF Page from instance and save it to a flat file and can directly upload the same personalization to the same page in another instance. Also, any patch or upgrade has been applied to the oracle apps instance will deleted our personalization and will revert to the original base metadata personalization. Hence, it
s always advisable to save all the personalization that we have done to a flat file so that the hard work that we have put in never gets lost forever. Once the patch application or upgrade activity has been finished we can again upload the previously saved personalization to the page in oracle apps instance.

Let
s now have a look at other personalization details like (can also be asked in interviews;) )
a. Levels of personalization
b. What are the features of OA personalization Framework.
c. The profile options used by OA Personalization Framework


The different levels of personalizations
There are many levels of personalization as per OA Personalization Framework and each level has its own use and requirement. It totally depends on the business requirement that which type of personalization we want to have on an OA Framework page.
Before we go any further let
s answer a simple question?
Q. Why there are many levels of personalization in OA Framework? What
s the need?
A. Various levels of personalization are required for different type of audiences that may be using the same OA Framework page. If we see from system administrator point we will be able to see that there are various personalization levels like Functional, Localization, Site, Organization, Responsibility and Admin-Seeded User level. Whenever a personalization is made at any of the above mentioned level then that personalization is available to all the audience at that level. As all the personalization mentioned above should be done by an expert system administrator hence these personalizations are collectively called as Administrator Level or Admin Level Personalizations. User or portlet level personalizations can be done by any end user can will always be visible to that end user only and hence called as end user personalization.

Let
s come back to the track and understand the Personalization levels which can be categorized as:
1. Function Level
2. Localization Level
3. Site Level
4. Organization Level
5. Responsibility Level
6. Admin-Seeded User Level
7. Portlet Level
8. User Level

Function Level:
Before we understand the function level of personalization, let
s first understand what a function in Oracle Application is.
In layman terms, a function can be termed as a hyperlink to another page where as in Oracle Apps terms a function is a token having a unique name under a responsibility.
Oracle Application Personalization Framework allows you to make personalization at function level so that the personalization performed will always be available if the specific function is in context. Let
s take an example to understand in an easier way.
Suppose, you have an OA Framework page which has a region and this region has components which accepts the Name and the email address of the user. Now if we want that this region should be updateable when the OAF page is navigated from one function (FunctionA) and the same region should be non-updateable once the same OAF page is navigated from other function (FunctionB). To achieve this we have to create a function level personalization so that the personalization makes all the fields in the region to be read-only once the page is navigated via functionB and all the fields to be updateable once the OAF page is navigated via FunctionA.
Note: There can be only one set of personalization per region per function, but we can have as many functions and personalization as needed, provided that these functions can be brought into context at runtime either by passing them as parameters from URL or by linking these function to menus.

Localization Level:
As the internet has grown around the world the same way has the software grown. Oracle Application being an e-business suite understand that the globalization of the business has made the world very small and the demands of entrepreneurs very complex.
Now what Oracle Application Personalization Framework means by Localization Level of personalization is that an end user in one place can see a personalization and the end user at another place would not be able to see that personalization provided that both the end-users are identified in different locales.
Again let
s take an example to understand this form of personalization:
Suppose we have end users in USA and also in UK. Now suppose that there is an OA Framework page where the end users can view their salary slips. The end user in USA wants to see the currency in USD where as the other end user wants to see the currency in GBP. In order to achieve these types of scenarios Oracle Application Personalization framework has enabled this level of personalization. Hence once a localization level of personalization has been enabled on the currency field of the said salary OAF Page this can be easily achieved. The exchange rate can be taken from the exchange as applicable.

Site Level:
A site in Oracle Application terms is an instance of the Oracle E-business suite. As per developers we call it instance and know by names like DEV instance, QA instance and Production (PROD) Instance. All the instances are sites as per Oracle Application e-business suite. Hence, any personalization done at the site level affects the complete instance irrespective of anything. An example of Site Level personalization can be like if you want to change the label of the table so as to match the corporate standards of your business. All the site level personalization should be done after well scrutiny and thought process.

Organization Level:
An org or organization is Oracle Application is a business unit, as per Oracle Application e-business suite an Organization can be a either a plant or warehouse or department etc. All the personalization performed at the organization level will affect all the users belonging to that organization. For example we can hide some of the fields from an O Framework page for an organization if we understand that those fields are not germane to the organization.

Responsibility Level:
Again before we go any further into this level let
s first understand what a responsibility in Oralce Application is. In simple layman terms a responsibility is a folder sort of structure that we see once we login to oracle application, where as in terms of Oracle Application e-business suite responsibility has a very deeper meaning. In oracle application terms a responsibility represents a specific level of authority in an application. A responsibility allows us to access functions that fall under the responsibility, menus that are attached to the responsibility, pages, and data any much more. Now, when we make a personalization at any responsibility level the personalization is available only if we navigate through that responsibility. For example suppose there is a page that shows the requisition lines( both open and closed) now the business requirement is like all the users using responsibility want to see only the open requisition lines and the other users using responsibilityB want to see the closed lines only. In this situation, we can create a responsibility level of personalization to the OA Framework page so that once a user navigates to OA Framework page from responsibilityA using a function, he/she will be able to see only the open requisition lines and the other user navigating via responsibilityB using the same function will be able to see the closed requisition lines only.

Oracle Application Framework (OAF) facilitates consultants (both Technical and Functional) to cater to the daily requirements of their clients by enabling them to personalize, customize, extend and also develop new OAF pages and embed the same back into Oracle Applications. By using OA Framework a developer can:
  create new OAF pages
  personalize the pages
  customize the existing (seeded) pages
  extend the existing (seeded) pages
to meet variuos business needs.

So what's the basic difference between personalization, customization, extension and development

1. Personalization: With this you can alter or tailor the look and feel of pages e.g. you can change the label of a text box, you can hide or show a component based on the logged in user or at the responsibility level or at site level itself.

2. Customization: Using this you can add the business logic to the already existing controller code e.g. suppose that you want to add one more validation at the click of some button.

3. Extension: Extension means that you are using the already existing functionality and also adding some more of yours e.g. you want to add some more where conditions to a seeded View Object (VO) query.

4. Development: Using development you can create new OAF pages and embed the same to Oracle Apps Instance to cater to the business needs of the clients.

Now depending upon the layout, complexity and business needs an OAF page can be built up by one or many regions. Region is a part of a page which acts as a container for the items or components. By default the top most level of a page has to be of the type "pageLayout" region type.

Oracle Application Framework (OAF) facilitates consultants (both Technical and Functional) to cater to the daily requirements of their clients by enabling them to personalize, customize, extend and also develop new OAF pages and embed the same back into Oracle Applications. By using OA Framework a developer can:
  create new OAF pages
  personalize the pages
  customize the existing (seeded) pages
  extend the existing (seeded) pages
to meet variuos business needs.

So what's the basic difference between personalization, customization, extension and development

1. Personalization: With this you can alter or tailor the look and feel of pages e.g. you can change the label of a text box, you can hide or show a component based on the logged in user or at the responsibility level or at site level itself.

2. Customization: Using this you can add the business logic to the already existing controller code e.g. suppose that you want to add one more validation at the click of some button.

3. Extension: Extension means that you are using the already existing functionality and also adding some more of yours e.g. you want to add some more where conditions to a seeded View Object (VO) query.

4. Development: Using development you can create new OAF pages and embed the same to Oracle Apps Instance to cater to the business needs of the clients.

Now depending upon the layout, complexity and business needs an OAF page can be built up by one or many regions. Region is a part of a page which acts as a container for the items or components. By default the top most level of a page has to be of the type "pageLayout" region type.

1 comment:

nolan said...

Hi

I read this post two times.

I like it so much, please try to keep posting.

Let me introduce other material that may be good for our community.

Source: Framework manager interview questions

Best regards
Henry

Post a Comment

Best Blogger TipsGet Flower Effect