Oracle Apps Technical Interview Questions – Part 8

By | September 25, 2014

Sometimes we miss very basic and easy things in the interviews just because we have not refreshed it from long time. Similarly when you need to evaluate any candidate or for appearing in interview, It is very important to refresh your concepts and as per my understanding, interview questions is one of the best option for all these needs.
Seeing this need, i have compiled important questions and have placed it here.

In this series of Oracle HRMS Overview, this is eighth article for oracle apps technical interview questions. For exhaustive interview preparation material, Click here.


1. Trigger Firing Sequence in Oracle Forms

Trigger Firing sequence:
This is most important thing to understand in Oracle D2K Forms When you open a form following triggers are executed

First Logon Triggers are fired
1.PRE-LOGON
2.ON-LOGON
3.POST-LOGON

After that Pre Triggers at Form Level
4. PRE-FORM
5. PRE-BLOCK
6. PRE-TEXT

After that WHEN-NEW Triggers
7. WHEN-NEW-FORM-INSTANCE
8. WHEN-NEW-BLOCK-INSTANCE
9. WHEN-NEW-ITEM-INSTANCE

After that ITEM Level Triggers, focus is on the first item of the Block. If you type some data and press the tab key following trigger will fire in sequence

10.KEY-NEXT-ITEM (This trigger is present on the item level).
11.POST-CHANGE (This trigger is present on the item level).
12.WHEN-VALIDATE-ITEM (This trigger is present on the item level).
13.POST-TEXT-ITEM (This trigger is present on the item level).
14.WHEN-NEW-ITEM-INSTANCE (Block Level Trigger).Now focus will go the next item present on the form.

If there are no further items present on the screen them if we enter data and press tab key then only KEY-NEXT-ITEM is fired.
Now suppose we close the form then the item level triggers are fired.
POST TRIGGERS
15.POST-BLOCK
16.POST-FORM

2. What is Work Directory and Which Profile Option to set for this?
The Work Directory feature enables a developer, support consultant, or other technical specialist to test modifications to forms and concurrent programs in Oracle Applications without affecting users of the same code tree. Using the Work Directory, a user can be logged into an Oracle Applications system but access a version of a form or concurrent program that is not within the standard $PROD_TOP directory.

For example, an on–site developer can test out a new version of a custom form without affecting other testing on the system. You can use the Work Directory feature for alternate files of forms and concurrent programs only. set the profile option ‘FND: Override Directory’ with the path for the directory containing the alternate file.

Note: Set this profile option at the User Level else all users will be impacted

3. What is the purpose of following PL/SQL libraries ?
FNDSQF    – Routines for Flexfields, Function security, User Profiles,  Message Dictionary (FNDSQF)
APPCORE,APPCORE2   – Standard user interface routines (APPCORE, APPCORE2)
APPDAYPK – Routines for Calendar widget (APPDAYPK)

4. How we can avoid the referenced objects security during custom forms development?
Oracle Forms Developer allows referenced objects to be overridden in the local form. Oracle Forms Developer also does not normally provide any indication that an object is referenced unless you set a special environment variable (Registry setting for NT). Set the Overview of Coding Standards 1 – 9 environment variable (Registry setting) ORACLE_APPLICATIONS to TRUE before starting Oracle Forms Developer. This setting allows you to see the reference markers (little flags with an ”R” in them) on referenced objects so you can avoid changing referenced objects unintentionally. Any object referenced from the APPSTAND form must never be changed.

5. How do I submit a Series of requests from PL/SQL?
if we need to submit 2 or more programs serially we need to submit from back end by using below
FND_CONCURRENT.WAIT_FOR_REQUEST

6. How can we delete a Concurrent Program which is already registered?
From front end, we can only disable a concurrent program. Only option to delete a concurrent program is through API.

Begin
fnd_program.delete_program(‘CONC_PROG_SHORT_NAME’,’APPLICATION_SHORT_NAME’);
fnd_program.delete_executable(‘EXECUTEABLE_SHORTNAME’, ‘APPLICATION_SHORT_NAME ‘);
end;

7. What so you mean by Hierarchical and non Hierarchical security type in value set?
This comes into picture when security rule comes into picture.
For example Say Maintenance is the one of the accounts, in that we have cleaning, painting expenses, when we are not accessible to main a/c (i.e maintenance) we cannot use sub a/c i.e cleaning and painting when you select Hierarchical security, when it is non-Hierarchical we can use sub a/c i.e painting, cleaning etc…

8. What is quick code? Why is it called a quick code?What is steps of defining a quick code?
When we define a lookup. There is one mandatory field called ‘Code’. It is known as Quick Code or Lookup Code. It is short names given to some field values which is stored in Meaning field. An example is two letter codes given to Country names. In this example PK will be quick code for Pakistan.
Why it is called quick code They are called quick codes as they help in searching the looking values. Being short, they are easy to remember and easy to type while data entry. Hence making the work quick.

Step to Define
HRMS Main Responsibility ->Other Definitions->Application Utilities Lookups
Open the screen and define lookup value. Code field will contain the quick code.

9. What is ‘$flex$ and ‘$profile$, What is the use of ‘$flex$’?

$flex$.value
It is used to retrieve the value selected in previous value set and generally used in Table type value. For Example, we have two fields 1. Country and 2. City. We need that in city field only those cities should be visible which are in country selected in field 1. In order to achieve this task, we have to pass the reference of selected value from first value set. This is done by using $flex$.Country_ID in city value set definition.

$profile$.profile option name
It is used to retrive value for that profile option $profiles$. are used to get the values of environment variables like org_id or mfg_Organization_id etc which are related to the current apps environment. Ex.  $profiles$.org_id would return the operating unit which is active at that time for the user.

10. How can I change in custom.pll?
After changes how can I send on the server and what’s effect in this condition?
1. FTP  the Custom.pll from $AU_TOP/resource
2. Open the Custom.pll in Forms Buildet DS
3. Include the following code for your Form logic :

begin
Form_Name varchar2(50) := name_in(‘system.current_form’);
If Form_Name = ‘YOUR CUSTOM FORM” then
begin
include your logic
end;
end;

4. Once changes over , using the following command to generate the CUSTOM.plx
f60gen module=CUSTOM.pll userid=apps/apps@mfgdev module_type=LIBRARY
to generate the latest CUSTOM.plx and move this CUSTOM.plx to $AU_TOP/resource

11. Why does Help->Tools->Examine ask for a password?
The profile option Utilities:Diagnostics is set to NO. This profile option controls whether users can use the Examine utility. The password should be the APPS password.

12. How do I cancel a running concurrent request?
From Oracle Apps Main Menu go to View->Requests. Click Find Button to locate the concurrent request. Once you select any concurrent request you can Cancel it or Hold it by using the Cancel or Hold buttons. You can cancel or hold only your submitted requests.
Note: The Sysadmin responsibility can cancel or hold any running request

13. How do you pass the parameters from one form to another form?
To  pass  one  or  more  parameters to a called form, the calling form must perform  the  following steps in a trigger or user named routine·
Create_parameter_list built-in function to programmatically create a parameter list·
Add parameter  built-in procedure to add one or more parameters list.
Execute  the call_form, New_form or run_product built_in procedure and include  the  name  or  id of the parameter list to be passed to the called form.

14. What are the different types of windows?
Different types of windows are
1. Document window
2. Dialog window

15. What are the types of canvas-views?
Content View,
Stacked View,
tabbed view

16. If the same trigger is present in Form, Block and Item level, normally the item level will fire first. How to change this default one. That is I want to fire the block level or form level. How to do this?
Using the Override property of trigger

17. Difference Between use $$DBDATETIME$$  and $$DBDATE$$
In forms?

To give initial value as sysdate, we should user $$DBDATE$$ which gives the current time of server, which stores date of DD-MON-YYYY format. If you want to store date and time, you should use $$DBDATETIME$$ which stores upto DD-MON-YYYY HH:MI:SS format. $$DBTIME$$ stores only HH:MI:SS format. If you want to give local system time i.e. operating system time..then use $$DATE$$, $$DATETIME$$, $$TIME$$.

18. Is it possible to attach same library to more than one form?
Yes

19. Why do we use data source as procedure in Oracle forms? What is the use of taking procedure as Data Source?
To increase the control and security.
To specify a Query at runtime, Eg: in case of manager logs in he can see more info wherein if its employee he will be able to see less data
If you want to specify any complicated business rule to be executed before getting data, you can achieve through the server side procedure which will be much faster.

20. Can a Calculated item be stored in a database?
No it is not possible.

 

Prev Oracle Apps Technical Interview Questions – Part 7                                             Next Top 10 Oracle Apps Technical Interview Questions