Tuesday, August 9, 2016

OAF Interview Question and Answer

Question 1: What are the common methods used in a oaf controller and when they are executed?
Ans: Processrequest and ProcessForRequest. when the loads first time the ProcessRequest get execute and when any action fire then ProcessFormrequest get execute.

Question 2 You wish to hide a bean/field programmatically, where will you do that?
a. In controller
b. In Application Module
c. In Entity Object
d. In View Object
Answer :- In controller and also we can do this using  SPEL.

Question 3 Within which method of Controller will you hide that bean/field/button/region programmatically?
   1.      processRequest
   2.      processFormRequest
   3.      Both processRequest and processFormRequest
Answer :- is 1. - processRequest

Question 4 Tell me the practical steps for extension of a view object, starting from $JAVA_TOP to jDeveloper
Answer :- 4:
Get the VO object from java Top which we want to extend and keep it inside Jdveloper myprojects. Then create a new VO and select the extends option as the parent vo which is going to be extended. This will be done in JDeveloper wizard. Now the parent vo sql will be shown in Jdeveloper wizard (sql editor) and as per our requirement we can modify or can add new attributes.
Once this vo creation is complete we have to right click on project and select the substitution option.their we have to choose the old vo and new vo.Once it is done the substitution is complete.we need to compile the project.After compilation a xml entry will be created in jpx file. the jpx file genrally is the name of project.So now we need to import the jpx to MDS and have to move the java and vo xml to java top.

Question5 Please tell me the scenario in which extension to View Object is not upgrade safe?
Answer :-- If the original view object was created in expert mode, then you will have to copy the Original VO Query and then you will paste that SQL Stmt/Query into the extended View Object.
Now, if in future Oracle is going to change the original SQL Statement [against original VO], then those changes will not be reflected in extended View Object.
Is there any solution?
Well, yes, depends on what you wish to achieve via personalization.
If you simply wish to alter the where clause dynamically, then you might as well do that by extending the controller. But to add new attributes we have to extend the vo. so after patch we have to recreate the custom vo and have to deploy again.

Question 6 In Oracle Forms, we have WHEN-VALIDATE-RECORD? What will be the equivalent to that in OAFramework?
Answer :- - We can do the attribute validations in entity obejct and for that we can use  a method named validateEntity() within the Entity Object.

Question 7 How do you disable all the OA Framework personalizations in eBusiness Suite
Answer :-- All the personalizations done to the system can be disabled by simply setting a profile option to Yes at site level.
Name of this profile option is something like Disable Self Service Personal
Note:- You can de-activate personalizations against individual pages selectively, by clicking on button "Manage Personalizations". You may need to give yourself access to responsibility named "Functional Administrator", so that you can disable personalizations selectively.

Question 8 How do you disable all the OA Framework extensions in eBusiness Suite
Answer :- - The Answer :- to this question is same as that for Question 6.

Question 9 Extensions are stored in the MDS Layer. Hence if you disble all personalizations, then all the OA Framework extensions will also be removed temporarily, while that profile remains set to Yes.
This is very handy in case you wish to bring your product back to Vanilla state.

Question 10 You are working on two projects, both involve OA Framework.
One instance is on 11.5.10-Rollup2
Other instance is on R12-Rollup4
Can you setup up development environment for both these instances on your PC/Laptop? If yes, then please explain how.
Answer :-
The Jdeveloper 10g is used for r12 and 9i for r11. We can have two jdevelopers in local. But when starting the Jdeveloper we have to chnage the environment variable named JDEV_USER_HOME. It should point to jdev folder where all our source code lies.

Question 11 How do you enable a pop-up screen in OA Framework [without using javaScript]?
Answer :- : OAF never recomends to use java script code directly. we have certain methods by using that we can get the functionalities.
a. we have options to create a dialogue page which will open a new window.
b. We can open a new window setting the page frame style as '_blank'.

Question 12 Can you add new columns to an Advanced Table region/section using personalization?
Answer :- We can add columns using personalization. When adding the column we have to create the cellformat, the header and the column.

Question 13 Tell me one scenario in which you would have to extend Application Module?
Answer :- When we want to create custom vo and that will be used in one page. then to access that vo we have to extend the am and will add the vo to the am. this can be achieved programtically.

Question 14 Can you extend every possible Application Module?
Answer :- : we should not extend the root application module. Or the application module which holds some other application module and complex vos and view links..That is unsafe.

Question 15 Why do you think multiple AM’s are required in a Transaction/Transactions?
Give me an example where this is applicable.
Answer :- there can be one am or multiple ams . the ams are created and stored in the pool for reuse. so if we have multiple ams then there will be faster processing and no need to retain the ams for longer time.

Question 16 On any given OA Framework page, what is the sequence in which these methods will fire in a Controller?
Answer :-

Question 17 A user clicks on a Submit button on a page. The fields on this page are attached to View Object attributes, which in turn are attached to Entity Object attributes. An exception is raised from validation EO due to data validation errors.
Tell me, which methods in controller will be fired when a Submit button is clicked on that page [assuming validations in EO throw an exception]
Answer :- definitely this is ProcessFormRequest. But if we have added the validation in Eo then when a value is going to be processed through eo then first it will invoke the validator and will show error message.

Question 18 What are the steps to embed a custom region into a standard OA Framework page?
Answer :- We have to craete a new region called stacklayout region. then inside this region we can add our custom region.

Question 19 You have two OA Framework pages, page A and page B. Depending upon the value of a department selected in PageA, you wish to restrict the LOV of Approvers in page B.
How will you do this?
Answer :- we have to set the where condition which will be a criteria in second lov.So based on first lov selected value second lov will show the values.

Question 20 What are different methodologies that you can consider to default value into a field?
Answer :- : We can set it in eo level. if the header id need to be a sequence we can set it using the create method. we can do this in vo level also at the time of creating the rows.

Question 21 What are different mechanisms of debugging in OA Framework.
Answer :- we can enable the diagonastics to get the log in page or we can check the logs in server if we have system out println.

Question 22 From one controller, I wish to execute the code in other controller. Is it possible, and if yes, then how?
Answer :- : Controllers are java files so if we have one method in one file we can access from other class.For that we have to extend that class. But depends uopn the access pemission .

Question 23 I wish to know the SQL statement of a View Object being used by a page. What is the quickest way to find out?
Answer :- Goto about this page and see the sql.

Question 24 How would you deploy the BC4J extensions to the server?
Answer :- For the first time we have to import the jpx file. Now once this is done the page will conatain a personalization for this bc4j extension.we can download and migrate to other instance.

Question 25 I have extended the View Object and now I wish to locally test that extension in jDeveloper? Is that possible without loading the jpx file into the database?
Answer :- it is possible.Because in local jeveloper it has it's own mds where it stores these informations.

Question 26 How do you load XML page developed using jDeveloper?
Answer :- through xm importer.

Question 27 Tell me two different methods you can use to get the XML Files of standard OA Framework pages.
Answer :- we can get it from appl_top through file system and can also download from mds database.

Question 28 What is the sequence of Personalizations override?
Responsibility Level
Site Level
Function Level
Organization Level
User Level
Answer :-

Question 29 Where is dbc file located on the server? Is dbc file used by jDeveloper at RunTime or DesignTime?
Answer :- fnd_secure top. this is used at run time.

Question 30 By setting profile option “Disable Self Service Person%”, not only the personalization, but also the OA Framework extensions get disabled. Please explain why?
Answer :- Because these extensions are added to the page through personalizations only.

Question 31 How do you create User Level Personalizations? Please explain the steps
Answer :- at the time of page development if the permission is granted for user level permission then the user can personalize the page as per his requirement.else no.

Question 32 Off the following levels in Personalizations, i.e. Responsibility Level, Site Level and Function level, which  level has highest and least priority?
Answer :-  function level has highest priority.

Question 33 How to set responsibility context in OAF like fnd_global.APPS_INITIALIZE is used in database.
Answer :- Achived the results of switching the responsibility context by using pageContext.changeResponsibility

Question 34 Which responsibility do you need to extract Self Service Personalizations?
Answer :-Functional Administrator

Question 35 How will you open a bc4j package in jdeveloper?
Answer :- Oracle ships a file named server.xml with each bc4j package. You will need to ftp that file alongside other bc4j objects(VO’s, EO’s, AM, Classes etc).
Opening the server.xml will load the complete package starting from AM(application module). This is a mandatory step when building Extensions to framework.

Question 36 In OA Framework Self-Service screen, you wish to disable a tab. How will you do it?
Answer :- Generally speaking, the tabs on a OA Framework page are nothing but the SubMenus. By entering menu exclusion against the responsibility, you can remove the tab from self service page.

Question 37 In self service, you wish to change the background color and the foreground text of the OA Framework screens to meet your corporate standards. How will you do it?
Answer :- You will need to do the below steps
a….Go to Mid Tier, and open $OA_HTML/cabo/styles/custom.xss
b…Enter below text( change colours as needed)
  <style name="DarkBackground">
    <property name="background-color">#000066</property>
  <style name="TextForeground">
    <property name="color">#0000FF</property>
c… cd $OA_HTML/cabo/styles/cache
d…Take a backup of all the css files.
e…Delete all the files of following pattern oracle-desktop*.css

The idea here is to delete the cache. Next time when you logon to Oracle Apps Self Service, the Framework will rebuild the css file if found missing for your browser.

Question 38  Can you extend and substitue a root AM ( Application Module) in OA Framework using JDeveloper.
Answer :- You can extend the AM in jDeveloper, but it doesn’t work.

Question 39 How will you add a new column to a List Of Values ( LOV ) in Oracle Applications Framework? Can this be done without customization?
Answer :- Yes, this can be done without customization, i.e. by using OA Framework Extension coupled with Personalization. Implement the following Steps :-
a) Extend the VO ( View Object ), to implement the new SQL required to support the LOV.
b) Substitute the base VO, by using jpximport [ similar to as explained in Link ]
c) Personalize the LOV Region, by clicking on Add New Item. While adding the new Item, you will cross reference the newly added column to VO.

Question 40 In Oracle OA Framework, is the MDS page/document definition stored in database or in the file  system?
Answer :- The MDS document details are loaded into database, in the following sets of tables.
The Document is loaded via XMLImporter, as detailed in XMLImporter Article

Question 41 How does substitution work in OA Framework?
What are the benefits of using Substitution in OA Framework?
Answer :- Based on the user that has logged into OA Framework, MDS defines the context of the logged in user. Based upon this logged in context, all applicable personalization are applied by MDS. Given that substitutions are loaded as site level personalizations, MDS applies the substituted BC4J objects along with the personalizations. The above listed steps occur as soon as Root Application module has been loaded.
The benefit of using Substitution is to extend the OA Framework without customization of the underlying code. This is of great help during Upgrades. Entity Objects and Validation Objects can be substituted. I think Root AM’s can’t be substituted given that substitution kicks off after Root AM gets loaded.

Question 42 In OA Framework, once your application has been extended by substitutions, is it possible to revert back to remove those substitutions?
Answer :- yes, through functional administartor you can navigate to the personalization folder and can delete the personalization.

Question 43 You have one search page and bsed on search criteria you get the records now you want to select one record and want to go second page which will show the selected records.How ill you do this?
Answer :- If we are not

No comments:

Post a Comment

Best Blogger TipsGet Flower Effect