ORACLE APPS TECHNICAL Interview Questions and Answers Updated 2022

1. Explain the Oracle Applications Architecture?

– Internet computing Architecture is a framework for 3-tired, distributed computing that supports Oracle Applications products.

– The Three tiers are

1 Data Base Tier

2 Application Tier

3 Desk Top Tier

– Database tier manages the Oracle 8i database.

– Application tier manages Oracle Applications and other tools.

– Desktop tier provides the user interface displace.

– With internet computing architecture, only the presentation layer of Oracle Applications is on the Desk Top tier in the form of a plug-in to standard internet brows

2. What is the difference between Operating Unit and Inventory Organization?

Operating Unit:– An Organization that uses Oracle Cash management, Order management, Shipping Execution, Oracle Payables, Oracle Purchasing, and Oracle Receivables. It may be a sales office, a division, or a dept. An operating unit is associated with a legal entity. Information is secured by the operating unit for these applications. Each user sees information only for their operating unit. To run any of these applications, you choose a responsibility associated with an organization classified as an operating unit.

An organization for which you track inventory transactions and balances, and/or an organization that manufactures or distributes products. Examples include (but are not limited to) manufacturing plants, warehouses, distribution centers, and sales offices. The following applications secure information by inventory organization: Oracle Inventory, Bills of Material, Engineering, and Work in Process, Master Scheduling/MRP, Capacity, and Purchasing receiving functions. To run any of these applications, you must choose an organization that has been classified as an inventory organization.

3. What is a Responsibility?

Is a collection of menus, request security groups and data groups 

– Responsibility defines Applications Privileges

– A responsibility is a level of authority in Oracle Applications that lets users only those Oracle Applications functions and data appropriate to their roles in an organization.

– Each user has listed one or more responsibilities and several users can share the same responsibility. Each responsibility allows access to

  • a specific application or a set of applications.
  • A set of books
  • A restricted list of windows that an user can navigate
  • Reports in a specific application.

4. What are different execution methods of executabls?

FlexRpt The execution file is written 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 an SQL*Plus script.

SQL*Report The execution file is an SQL*Report 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.

5. Difference between Bind and Lexical parameters?

BIND VARIABLE: Bind variables are used to replace a single value in SQL, PL/SQL bind variable may be used to replace expressions in select, where, group, order by, having, connect by, start with cause of queries.
Bind reference may not be referenced in FROM clause (or) in place of reserved words or clauses.

LEXICAL REFERENCE: You can use lexical reference to replace the clauses appearing AFTER Select, from, group by, having, connect by, start with. You can’t make lexical references in PL/SQL statements.

6. How to write to a file through concurrent program?

* By using the FND_FILE package and it can be used only for log and output files.


– this is used to write text to a file without a newline character

– Multilane calls to FND_FILE.PUT will produce consummated text.

Procedure FND_FILE.PUT (which IN Number, Buff IN varchar2);



– this procedure is used to write a line of text to a file followed by a new line character.

Procedure FND_FILE.PUT_LINE (which IN number, buff IN varchar2);

EX:- FND_FILE.PUT_LINE( FND_FILE.LOG, find_message_get);


– this procedure is used to write line terminators to a file

procedure FND_FILE.NEW_LINE (which IN number LINES IN NATURAL:=1);

Ex:- to write two newline characters to a log file

Fnd_file.new_line (fnd_file.log,2);


– this procedure is used to set the temporary log file and output filenames and the temporary directory to the user-specified values.

– This should be called before calling my other FND_FILE procedure and only once per session.

7. What is Value Set?

–The value set is a collection (or) container of values.

–Whenever the value set is associated with any report parameters. It provides a list of values to the end-user to accept one of the values as a report parameter value.

— If the list of values needed to be dynamic and ever-changing and define a table-based value set

8. What are the validation types?

1) None ——– validation is minimal.

2) Independent ——input must exist on a previously defined list of values

3) Dependent ——input is checked against a subset of values based on a prior value.

3) Table —– input is checked against values in an application table

4) Special ——values set uses a flex field itself.

5) Pair —— two flex fields together specify a range of valid values.

6) Translatable independent —– input must exist on a previously defined list of values; translated values can be used.

7) Translatable dependent ——- input is checked against a subset of values based on a prior value; translated value can be used.

9. What is template?

a) The TEMPLATE form is the required starting point for all development of new Forms.

b) The TEMPLATE form includes platform-independent attachments of several Libraries.

APPS CORE:- It contains a package and procedures that are required of all forms to support the MENUS, TOOLBARS.

APPSDAYPK:- It contains packages that control the oracle applications CALENDAR FEATURES.


CUSTOM:- it allows extension of oracle applications forms without modification of oracle application code, you can use the custom library for customization such as zoom ( such as moving to another form and querying up specific records)

10. What is profile options; at what levels can these be set?

– profile options are the set of changeable options that affect how the application looks and behaves.

– By setting profile options, the applications can be made to react in different ways for different users depending on the specific user attributes.

A user profile is a set of changeable options that affect the way the applications run. Oracle

Applications object Library establishes a value for each option in a user‟s profile when the

User logs on or changes responsibility.

System Profile: – Profile option can be set for the user community.

User Profile: – Provide Oracle Apps with standard information which describes a user,

Application, Responsibility, and site. At each profile level, user profile options can be set.

11. What is Flexfield? What is flexfield qualifier and what is segment qualifier?

Ans:- A flexfield is made up of segments (Which are actually table columns). Each segment has a name that can be assigned and a set of valid values.

Purpose and Application:-

* Flexibility to implement code structure.

* Flexibility to capture additional information.

Two Types of Flexfields in oracle apps.

1. Key Flexfields (KFF)

2. Descriptive Flexfields (DFF)

A key flexfield segment has a name you assign and a set of valid values you specify. Each value has a meaning which can be specified.

Flexfield Qualifier:-A flexfield qualifier identifies a particular segment of a key flexfield.

Usually, an application needs some method of identifying a particular segment for some application purpose such as security or computations. However, since a key flexfield can be customized so that segments appear in any order with any prompts, the application needs a mechanism other than the segment name or segment order to use for segment identification.

Segment Qualifier:- A segment qualifier identifies a particular type of value in a single

a segment of a key flexfield.

In the Oracle Applications, only the. Accounting Flexfield uses segment qualifiers. You can think of a segment qualifier as an ”identification tag” for a value. In the Accounting Flexfield, segment qualifiers can identify the account type

12. What is Application Top? What are the types and Purpose?

When we connect to the server we will find the top called application top. Under application top we have
      -Product top.
      -Custom top.

Product top is the default top built by the manufacturer. 

The custom top is used to select the Client for his business purposes. Customizations are done with the Custom top.

13. What is Place holder Columns?

A placeholder is a column that is an empty container at design time. The placeholder can hold a value at run time that has been calculated and placed into It by pl/sql code from another object.

You can set the value of a placeholder column is in a Before Report trigger.

Store a Temporary value for future reference. EX. Store the current max salary as records are retrieved.

14. What is Formula Column? 

A formula column performs a user-defined computation on another column(s) data, including placeholder columns. 

15. What is Summary columns?

A summary column performs a computation on another column’s data. Using the Report Wizard or Data Wizard, you can create the following summaries: sum, average, count, minimum, maximum, % total. You can also create a summary column manually in the Data Model view, and use the Property Palette to create the following additional

summaries: first, last, standard deviation, variance.

16. What is Ref Cursor in Oracle?

By using Ref cursor we can change the select statement dynamically at runtime which is available in the cursor definition based on some validation. For this, we need to define the ref cursor type by using the following syntax.

type <type_name> is ref cursor return <return_type>;

here <type_name> is the name of the ref cursor and

<return_type> will be the return type of ref cursor it may

be %type/%rowtype/record type/plsql table type/nested table

type/varray type.

if <return_type> is mentioned we will be called it a strong ref cursor.

if <return_type> is not mentioned we will be called it a weak ref cursor.

after this, we need to define the ref cursor variable by using the following syntax.

v_variable_name ref_cursor_type_name;

then based on validations we can change the ref cursor dynamically.

for example



type ref_cur is ref cursor;

v_ref_cur ref_cur;

v_deptno emp.deptno%type;


select deptno into v_deptno from emp where empno=7788;

if v_deptno=20 then

open v_ref_cur for select * from emp;

elsif v_deptno=30 then

open v_ref_cur for select * from dept;


open v_ref_cur for select * from salgrade;

end if;


17. What are Autonomous transactions? Give a scenario where you have used Autonomous transaction in your reports?

 An autonomous transaction is an independent transaction started by another transaction, the main transaction. Autonomous transactions let you suspend the main transaction, do SQL operations, commit or rollback those operations, then resume the main transaction.

Once started, an autonomous transaction is fully independent. It shares no locks, resources, or commit-dependencies with the main transaction. So, you can log events, increment retry counters, and so on, even if the main transaction rolls back.

 More important, autonomous transactions help you build modular, reusable software components. For example, stored procedures can start and finish autonomous transactions on their own. A calling application need not know about a procedure’s autonomous operations, and the procedure need not know about the application’s transaction context. That makes autonomous transactions less error-prone than regular transactions and easier to use.

 Furthermore, autonomous transactions have all the functionality of regular transactions. They allow parallel queries, distributed processing, and all the transaction control statements including SET TRANSACTION.

Scenario : You can use autonomous transaction in your report for writing error messages in your database tables.

18. What are different report triggers and what is their firing sequence? 

There is five report trigger :

·         Before Report

·         After Report

·         Before Parameter Form    

·         After Parameter Form

·         Between Pages

The Firing sequence for report triggers is

Before Parameter Form – After Parameter Form – Before Report – Between Pages – After Report.

19. What is the difference between Quick Pick and Quick Codes?

Quick Pick is variable because it selects values from user-defined tables.
Quick Code is static & it selects values from system table called FND_LOOKUPS. Quick Code is faster then Quick Pick because it uses internal CACHE.

20. Different types of interfaces?

Inbound Interface:

For inbound interfaces, where these products are the destination, interface tables as well as supporting validation, processing, and maintenance programs are provided.

      Outbound Interface:

For outbound interfaces, where these products are the source, database views are provided and the destination application should provide the validation, processing, and maintenance programs.