Top 48 Oracle AOL (Application Object Library) Interview Questions You Must Prepare 24.Jun.2024

Q1. How Is Apps Schema Is Different From Another Schemas ?

Apps schema is the one that comprises of only synonyms and there is no possibility of creating tables in it. Other schema comprises of tables and objects in it and allows the creation of tables as well as for providing grants to tables.

Q2. What Is Application Top ? What Are The Different Types Of Application Tops?

Application Top is a physical folder on server which holds all the executable, UI and support files.

We have two different types of Application Tops

  1. Product Top
  2. Custom Top

Product Top: Product top is the default top built by the manufacturer. This is usually called as APPL_TOP which stores all components provided by the Oracle.

Custom Top: Custom top can be defined as the customer top which is created exclusively for customers. According to the requirement of the client many number of customer tops can be made. Custom top is made used for the purpose of storing components, which are developed as well as customized. At the time when the oracle corporation applies patches, every module other than custom top are overridden.

Q3. 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 Maintanance is the one of the accounts in that we have cleaning painting expenses when we are not accesssible to main a/c (i.e maintanance) we cannot use sub a/c i.e cleaning and painting when you select Hierarchicalsecurity when it is non-Hierarchical we can use sub a/c i.e painting cleaning etc... 

Q4. What Is The Significance Of _all Suffix In Oracle Tables?

_ALL  Table holds all the information about different operating units in a Multi-Org environment. You can also set the client_info to specific operating unit to see the data specific to that operating unit only.

Q5. Where Does The Concurrent Request Log Files And Output Files Go ? Where Are They Stored In Database?

Out put file and Log file are physically stored in server, you can find the physical path of log and output file of a concurrent request in FND_CONCURRENT_REQUESTS table.

Column LOGFILE_NAME stores Log file name along with the physical  path

Column OUTFILE_NAME sores Out file along with the physical path

Q6. What Is The Difference Between Organization Id And Master Organization Id?

In simple wordsOrg_id referes the operating unit and and organization id refers the InventoryOrganizationRegardsKarthikeyan

Q7. How Do I Submit A Concurrent Request From Pl/sql?


Q8. How Do You Create A Table Validated Value Set Dependent On Another Value Set?

We can use $FLEX$.<Value set name> in the where condition of the target valueset to restrict LOV values bases on parent value set.

Q9. How To Generate A Trace File For A Pl/sql Based Concurrent Program?

Step1: Enable Trace at the Report Definition.

Go to System Administrator -> Concurrent Programs -> Define , Query the report and check the ‘Enable trace‘ check box  Navigate to:

Query on the Profile Option: “Concurrent: Allow Debugging”
  This should be set to ‘yes’ at ‘Site’ level.
If it isn’t set, then set it, then logout and bounce the APPS services.
The ‘Debug Options’ button on the concurrent program will now be enabled. )

Step2: Run the report for Step @above

Step3: Get the request id from below query. i.e. Request id = 11111111

SELECT fcr.request_id “Request ID”
  –, fcr.oracle_process_id “Trace ID”
  ||’.trc’ “Trace File” ,
  TO_CHAR(fcr.actual_completion_date, ‘dd-mon-yyyy hh24:mi:ss’) “Completed” ,
  fcp.user_concurrent_program_name “Program” ,
  || fe.subroutine_name “Program File” ,
  ||DECODE(fcr.status_code,’R’,’Normal’) “Status” ,
  fcr.enable_trace “Trace Flag”
FROM fnd_concurrent_requests fcr ,
  v$parameter p1 ,
  v$parameter p2 ,
  fnd_concurrent_programs_vl fcp ,
  fnd_executables fe
WHERE                  =’user_dump_dest’
AND                    =’db_name’
AND fcr.concurrent_program_id  = fcp.concurrent_program_id
AND fcr.program_application_id = fcp.application_id
AND fcp.application_id         = fe.application_id
AND fcp.executable_id          =fe.executable_id
AND ((fcr.request_id           =
OR fcr.actual_completion_date > TRUNC(sysdate)))
ORDER BY DECODE(fcr.request_id,
  &request_id, 1, 2),
  fcr.actual_completion_date DESC;
–you will be prompted to enter the request_id;

Step4: trace file directory using an sql query

SELECT value FROM v$parameter WHERE name = ‘user_dump_dest’;

Step5: Go to directory in Step @above.

Step6: Find out the trace file using GREP command

eg:- grep ‘11111111’ *.trc

Step7: Run TKPROF to get a structured information from trace file.

Syntax of the command:

$ tkprof <RAW TRACE> <output> explain=apps_uname/apps_pwd sys=no  sort=prsela,exeela,fchela

Q10. How To Submit A Concurrent Request Directly From The Operating System(unix)?

Write a PL/SQL script to submit concurrent request using FND_REQUEST.Submit() API in a file and execute that file in shell script using SQLPLUS


sqlplus -s  apps/apps @XX_SUBMIT_CP.sql

Q11. How Do I Find The Name Of A Form?

GUI: Use Help->About Oracle Applications 

Scroll down to find the form name 

Character: Use Help->Version

Q12. What Is '$flex$ And '$profile$, What Is The Use Of '$flex$'?

$Flex$ is used when we need to return the Flex value contained by any AOL Vlauset or AOL object . 

For Ex . $Flex$. would return the value held by that valueset.

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

Q13. Is There A Limit For Number Of Parameters Of A Concurrent Program??

100 is the limit for the number of parameters for a concurrent program

Q14. How Do I Submit A Series Of Requests From Pl/sql?

May be your question about series of requests is from PL/SQL. For this it is not possible to submit series of requests at a time their is only one option to submit request from backend is fnd_request.sumbint_request(Paramenters)

Q15. How To Find Out Base Path Of A Custom Application Top Only From Front End ?

We can find Custom Application top physical path from Application Developer responsibility:

navigate to Application Developer  –> Application –> Register. Query for the custom application 

name. The value in the field Basepath, is the OS system variable that stores the actual directory info.

Q16. I Have Run A Request But It Is Not Completed. His Status Is (running Normal) And Those Requests Are Giving After This He Will Be Completed. So, Now What Steps I Have To Follow For The Running Request?

Give it some more time. Did you ensure that you had run immediately checked when you submitted the report/request? If it was accidentally scheduled for a later date/time the best thing you can do is to submit it again with correct parameters.

Q17. 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 Forms6i 
  3. Include the following code for your Form logic :

    Form_Name varchar2(50) : name_in('system.current_form');
    If Form_Name 'YOUR CUSTOM FORM then
    include your logic

  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

Q18. What Is The Purpose Of Token In Concurrent Program Definition Form?

Token is used for trferring values towards report builder. Tokens are usually not case – sensitive.

Q19. How Do I Check If Multi-org Is Installed?


If MULTI_ORG_FLAG is set to 'Y' Then its Multi Org.

If MULTI_ORG_FLAG is set to 'N' Then its single Org.

Q20. What Are Different Types Of Value Sets?

There are 8 different types of Value Set Validations.

  1. None: this is the indication of minimal validation.
  2. Independent: Input should be there in the list of – values that are defined previously.
  3. Dependent: According to the previous value, input is compared with a subset of values.
  4. Table: Input is checked on the basis of values that exist in the application table.
  5. Special: These are the values that make use of flex field.
  6. Pair: A pair can be defined as the set of values that make use of flex fields.
  7. Trlated Independent: This is a kind of value that can be made used only if there is any existence for the input in the list that is defined previously.
  8. Trlatable dependent: In this kind of validation rules that compare the input with the subset of values associated with the previously defined list.

Q21. What Are The Different Types Of Incompatibilities In Concurrent Program Window?

There are two types of program incompatibilities, “Global” incompatibilities, and “Domain-specific” incompatibilities.

You can define a concurrent program to be globally incompatible with another program — that is, the two programs cannot be run simultaneously at all; or you can define a concurrent program to be incompatible with another program in a Conflict Domain. Conflict domains are abstract representations of groups of data. They can correspond to other group identifiers, such as sets of books, or they can be arbitrary.

Q22. I Have Applied A Patch. At The Time Of Applying He Update A Table And Suddenly He Gives The Error That Table Is Lock. Now What I Do?

Use adctrl utility to monitor and restart adworkers after fixing your locking problem. check ad workers log file that show you which table has problem and error message.

Q23. Where Would I Find The .rf9 Files What Actualy It Dose?

rf9 files are created while applying patches usually in $APPL_TOP/admin/SID/restart directory

Q24. How Do I Find Out What The Currently Installed Release Of Applications Is?

  1. We can also find out through Help > About Oracle Applications
  2. SELECT release_name FROM fnd_product_groups

Q25. What Should I Do If I Am Missing An Executable From My Appl_top?

relink the particular module eg :if FNDLOAD is missing then relink FND module

Q26. What Is The Significance Of Us Folder In Application Top?

US folder is nothing but a language specific folder. Oracle Apps uses american language by default and so is the US folder.

Q27. What Is Job Scheduling And How To Do It?

The Scheduler enables database administrators to full fill business tasks in an organized and controlled fashion.

To achieve job scheduling Oracle provides a collection of functions and procedures in the DBMS_SCHEDULER package.

Below are the major this a Scheduler can do:

  1. Schedule job execution based on time or events
  2. Schedule job processing in a way that models your business requirements
  3. Manage and monitor jobs
  4. Execute and manage jobs in a clustered environment

Q28. What Is The Difference Between Fields And Flexfields?

A field is a position on a form that one uses to enter, view, update, or delete information. A field prompt describes each field by telling what kind of information appears in the field, or alternatively, what kind of information should be entered in the field.

A flexfield is an Oracle Applications field made up of segments. Each segment has an assigned name and a set of valid values. Oracle Applications uses flexfields to capture information about your organization. There are two types of flexfields: key flexfields and descriptive flexfields.

Q29. How Do I Recover The Responsibility In Apps If It Is Disabled?

We can also recover through the following steps:

Go to system administrator responsibility > Security > Responsibility > Define > Give the particular responsibility name query on it and then see the effective dates to field. If any date is there then that repsonsibility will expire on that date and if it is null then it will not expire on any date.

Q30. What Are The Logfile And Output File Naming Conventions?

Log file get following name by default: lRequest_id.req

and Output file get following name by default :

Output files are stored at $APPLCSF/$APPLOUT
and Log files are stored at $APPLCSF/log

These paths may vary depending on the setups that sys admins perform at the time of Oracle Apps installation

Q31. How Do I Open A Form In Query-only Mode?

go to applcation developer responsibilitynavigation->Application/function.query the function name then goto form tab then goto parameters field then write the following code in that fieldQUERY_YES= YES save the changes and then see the forms get affected in query only mode.

Q32. How Do I Generate A Message File (usaeng.msb)?

It can be generated through submission of Concurrent Program from Application Developer responsibility.

Q33. Distinguish Between Key Flexfield And Descriptive Flexfield?

Key FlexField is used for creating unique identifiers or constraints. It is the building block which defines the structure of objects. Key flexfields are flexible enough to let any organization use the code scheme they want, without programming. With the help of Key Fields an organization can define rules to specify which segment values can be combined to make a valid complete code (also called a combination).

Descriptive FlexField is used to create new fields on screen and capture other information. Also provides customizable “expion space” on your forms. Descriptive flexfields can be context sensitive, where the information your application stores depends on other values that users enter in other parts of the form.

Key flexfields displays like text item but Descriptive FlexField displays like arrays. Key flexfields gives the result after simple entry of data and Descriptive FlexField is user dependent whic me when user want to get output.

Q34. What Is The Difference Between Fnd_global And Fnd_profile??

Though FND_GLOBAL and FND_PROFILE gives us same result but they work in a different fashion FND_GLOBAL is a server-side package which returns the values of system globals, such as the login/signon or “session” type of values. Where as FND_PROFILE  uses user profile routines to manipulate the option values stored in client and server user profile caches.

From this we can understand that FND_GLOBAL works on server side and FND_PROFILE works on client side.

On the client, a single user profile cache is shared by multiple form sessions. Thus, when Form A and Form B are both running on a single client, any changes Form A makes to the client’s user profile cache affect Form B’s run-time environment, and vice versa.

On the server, each form session has its own user profile cache. Thus, even if Form A and Form B are running on the same client, they have separate server profile caches. Server profile values changed from Form A’s session do not affect Form B’s session, and vice versa.

That is the reason in forms we use FND_GLOBAL.

Q35. What Is Autonomous Traction?

Autonomous Traction is a kind of traction that is independent of another traction. This kind of traction allows you in suspending the main traction and helps in performing SQL operations, rolling back of operations and also committing them. The autonomous tractions do not support resources, locks or any kind of commit dependencies that are part of main traction.

Q36. How To Ensure That Only One Instance Of A Concurrent Program Runs At A Time?

‘Run Alone‘ check box should be enabled in Concurrent program definition to make it run one request at a point of time.

Q37. How Do I Lookup Ora Errors? (and Tns Errors)

Use: oerr ora XXXX 

or: oerr tns XXXX 

where XXXX is the error number 

(This also supports a number of other error types. Use the 3-letter error prefix in place of 'ora')

Q38. How Do I Cancel A Running Concurrent Request?

Navigate to the Concurrent Request Summary form 

  • Select a request 
  • In character, do a Quickpick on the Status column 
  • You can select Cancel or Hold 
  • In GUI, use the Cancel or Hold buttons 
  • The Sysadmin responsibility can cancel or hold any running request

Q39. Where Do Concurrent Request Log Files And Output Files Go?

The concurrent manager first looks for the environment variable $APPLCSF 

If this is set, it creates a path using two other environment variables: 


It places log files in $APPLCSF/$APPLLOG 

Output files go in $APPLCSF/$APPLOUT 

So for example, if you have this environment set: 

$APPLCSF = /u01/appl/common 
$APPLLOG = log 
$APPLOUT = out 

The concurrent manager will place log files in /u01/appl/common/log, and output files in /u01/appl/common/out 

Note that $APPLCSF must be a full, absolute path, and the other two are  directory names. 

If $APPLCSF is not set, it places the files under the product top of the application associated with the request. So for example, a PO report would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT 

Logfiles go to: /u01/appl/po/9.0/log 
Output files to: /u01/appl/po/9.0/out 

Of course, all these directories must exist and have the correct permissions. 

Q40. How Can I Disabled And Enabled The Standard Button's In Apps Window?

You can do this with Custom.pll and if ur using apps version greater that 11.5.9 then you can do this with form personlization too

Q41. What Are The 10 Different Types Of Executables In Oracle Apps?

FlexRpt: The execution file is wrnitten using the FlexReport API.

FlexSql: The execution file is written using the FlexSql API.

Host: The execution file is a host script.

Oracle Reports: The execution file is an Oracle Reports file.

PL/SQL Stored Procedure: The execution file is a stored procedure.

SQL*Loader: The execution file is a SQL script.

SQL*Plus: The execution file is a SQL*Plus script.

Spawned; The execution file is a C or Pro*C program.

Immediate: The execution file is a program written to run as a subroutine of the concurrent manager. We recommend against defining new immediate concurrent programs, and suggest you use either a PL/SQL Stored Procedure or a Spawned C Program instead.

Request Set Stage Function: PL/SQL Stored Function that can be uesd to calculate the completion statuses of request set stages.

Q42. How Can I Implement And Manage The Custom Schema?

Basically a schema is collection of objects(tables views indexes sequences) belonging to particular user here in case of Oracle apps every module is implemented as a user for example Order Management is implemented as a user ONT so to create a custom schema we need to create a user and register the user with AOL.check this link for step by step process to create a custom module(Application) and register with oracle AOL.

Q43. Can We Give File Extensions In Executable File Name?

No! As per Oracle standard process, the application will not allow file extensions. It will also not allow any special characters and spaces.

Q44. How Do I Find The Version Of An Installed Product?

One of the easiest ways is to run the product if you can. Running Reports designer will give you the Reports version, running SQL*Plus will give you its version etc. 

Another easy way is to launch the Oracle Installer and look in the installed products on the right side. It will list all the products installed with their versions. 

Another way is to look at the .rgs file. This file is located in $ORACLE_HOME/orainst 

On UNIX, it will be called unix.rgs. On the PC, it will be called Windows.rgs. 

This file will list all the products installed and their versions. Note though that this file is not always correct. For example, patching Reports from to will not show up in this file as the new version. Running Reports Designer is the best way of getting the correct version. 

Also, on UNIX there is an executable called 'inspdver'. It is located in $ORACLE_HOME/orainst. 

Running it will produce a display of all the installed products. It just pulls the information from unix.rgs, so it may show the wrong information as well.

Q45. What Is Quick Code? Why Is It Called A Quick Code?what Is Steps Of Defining A Quick Code?

Quick Code or Lookup Code are short names given to some field values. an example is two letter codes given to Country names.

Q46. Why Does Help->tools->examine Ask For A Password?

Navigate to the Update System Profile Screen. 

( navigate profile system)

  • Select Level: Site 
  • Query up Utilities:Diagnostics in the User Profile Options Zone. 

If the profile option Utilities:Diagnostics is set to NO, people with access to the Utilities Menu must enter the password for the ORACLE ID of the current responsibility to use Examine. If set to Yes, a password will not be required.

Q47. Which Api Used To Get The Current Application User Id ?




Q48. What Is Diagnostics In Oracle Apps?

The Oracle Diagnostic Tool is provided by Oracle to gather and analyze information from eBusiness suite to diagnose an existing data issue, tractional problem or setup error through a complete set up responsibility “Application Diagnostics”.