About Me

Dubai, United Arab Emirates
My name is Muhammad Faizan Karim and my aim is to spread the knowledge to everyone who want to learn oracle HRMS. I will try to write the video blogs for beginners so they can understand e-business suits from HRMS perspective, and if you have any difficulty in oracle applications HRMS , please feel free to contact with me at this email : faizan.kareem.ocp@gmail.com
Powered by Blogger.

Question 1
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[Although SPEL with limited usage can also be considered] 

Question 2
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 
OA Framework give error if you change bean property in processformrequest

Question 3
Tell me the practical steps for extension of a view object, starting from $JAVA_TOP to jDeveloper
Answer



Question 4
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 Oracle were 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.
 
Note:- When extending the CO, we are assuming that at least the selected table aliases from the Original SQL Statement will not be removed by Oracle's patches.

Question 5
In Oracle Forms, we have WHEN-VALIDATE-RECORD? What will be the equivalent to that in OAFramework?
Answer
 - Use a method named validateEntity() within the Entity Object.

Question 6
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 7
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. 

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
Can you add new columns to an Advanced Table region/section using personalization?
Answer
 We can add columns using personalization.


Question 11
Tell me one scenario in which you would have to extend Application Module?
Answer



Question 13
A slightly advanced question will be…Why can’t Root AM be extended?
Answer



Question 14
How would you know whether the AM that you are trying to extend is the RootAM?
Answer



Question 15
Which two types of extension are the most common ?
Answer



Question 16
Why do you think multiple AM’s are required in a Transaction/Transactions?
Give me an example where this is applicable.
Answer




Question 17
On any given OA Framework page, what is the sequence in which these methods will fire in a Controller?
    processFormData
    processRequest
    processFormRequest
Answer


Question 18
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



Question 18
What are the steps to embed a custom region into a standard OA Framework page?
Answer



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? Why would would not prefer to extend the viewObject of LOV?
Answer


Question 20
What are different methodologies that you can consider to default value into a field?
Answer


Question 21
What are different mechanisms of debugging in OA Framework.
Answer


Question 22
From one controller, I wish to execute the code in other controller. Is it possible, and if yes, then how?
Answer



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



Question 24
How would you deploy the BC4J extensions to the server?
Answer


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



Question 26
When you run SQL Trace for an OA Framework session[using diagnostics], why are multiple *.trc files created on the database server?
Answer



Question 27
How do you load XML page developed using jDeveloper?
Answer


Question 28
Tell me two different methods you can use to get the XML Files of standard OA Framework pages.
Answer


Question 29
Tell me two different methods you can use to get the XML definitions for standard OA Framework pages?
Answer


Question 30
Please explain the different types of tasks you can do using Functional Administrator responsibility
Answer


Question 31
Lets say a PageA has been personalized in Development and UAT environments. Is it possible to merge the personalizations done to same page in two different environments, using Functional Administrator?
Answer

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


Question 33
Where is dbc file located on the server? Is dbc file used by jDeveloper at RunTime or DesignTime?
Answer


Question 34
By setting profile option “Disable Self Service Person%”, not only the personalization, but also
 
the OA Framework extensions get disabled. Please explain why?
Answer


Question 35
How do you create User Level Personalizations?
Please explain the steps
Answer


Question 36
Off the following levels in Personalizations, i.e. Responsibility Level, Site Level and Function level, which  level has highest and least priority? 
Answer
 
Question 37
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 38
Which responsibility do you need to extract Self Service Personalizations?
Answer:Functional Administrator

Question 39 
 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.


Question40 
 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.

Question41 
 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)
 
 
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 42 
 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( at least it didn’t work in 11.5.9). I am hopeful that Oracle will deliver a solution to this in the future.


Question43

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 44
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.
JDR_ATTRIBUTES
JDR_ATTRIBUTES_TRANS
JDR_COMPONENTS
JDR_PATHS
The Document is loaded via XMLImporter, as detailed in
 XMLImporter Article
Question 45
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 46
In OA Framework, once your application has been extended by substitutions, is it possible to revert back to remove those substitutions?
Answer
 yes, by setting profile option “Disable Self-Service Personal%” to Yes, keeping in mind that all your personalizations will get disabled by this profile option. This profile is also very useful when debugging your OA Framework based application in the event of some error. By disabling the personalization via profile, you can isolate the error, i.e. is being caused by your extension/substitution code or by Oracle’s standard functionality.

1 comments:

Anonymous said...

Excellent compilation of questions. Can we have answers of all questions?