Tuesday, March 29, 2011


I Oracle Applications Global Accounting Engine User Guide

Use the Global Accounting Engine to replace the transfer to General Ledger and create subledger accounting entries that meet additional statutory standards in some countries. The Accounting Engine

provides subledger balances, legal reports, and bi-directional drilldown from General Ledger to the subledger transaction.


Just check whether invoice transaction flexfield is stored in reference column to drill down the AR transaction from GL after record is transferred to GL.

Choose Line Item to generate a report showing REFERENCE_1 from the GL_JE_LINES table. Choose Source Item to generate a report showing REFERENCE_4 from the GL_JE_LINES table. These references appear only if you used Journal Import and included a journal voucher number, an invoice date and number, or some other source document information that helps you to identify the origin of this journal entry.

1. What is overlay in payables

Ans: Over lay is used in payable open interface where we would like to pass and overwrite certain value which is set to appear by default when data is inserted into the production tables.

2. What is rollup group

Ans: rollup group we define and attached with the parent segment in the accounting flexfield for summary total for which summary template is defined. This identify at what level and how the summing up should be computed for the level.

3. What way payment batch is different from other module batches.

Ans: It identifies the invoices for the payment automatically based on the criteria we specify in payment batch for the payments.

4. What is balancing segment in AR.

Ans: The Account Generator ensures that Receivables substitutes the correct balancing segment values during various accounting activities against transactions and receipts.

Receivables uses the Account Generator to update the balancing segment values during various accounting activities against transactions and receipts. By matching the balancing segments for different accounting activities back to the original transaction or receipt, the Account Generator ensures that Receivables uses the correct balancing segment values during this substitution process. For example, if an invoice’s balancing segment that you assess finance charges for has a value of ’01’ and the balancing segment of your finance charges account is ’02’, when Receivables accrues finance charges for this invoice, the Account Generator automatically changes the balancing segment of the finance charges account to ’01’. The Account Generator in Receivables utilizes Oracle Workflow

5. What difficulty you have faced while designing flexfields. What all need to be considered.

6. What is deposit in AR? Have you used it?

Ans: It is a commitment type of transaction where in we take deposit from the customer and get into the agreement that we will make supply of certain goods and services for certain period of time.

ZANSAR Questions:

1. What is flexfield qualifier in accounting flexfield.

Ans: Balancing Segment, Cost Center Segment, Natural Account Segment & Inter-company segment.

2. Can we use fixed assets code as Cost center.

3. Which SRS is used for AR To GL Interface.

ANS: General ledger option is given in the menu option interfaces in AR.

4. What are required setup for AP.

Ans: Required setup in AP is as under

1. Install or upgrade payables

2. Select primary set of books

3. Use the system administrator responsibility to assign your set of books to a responsibility. (Profile Option)

4. Define financials options.

5. Define payables options.

6. Define payment terms.

7. Define banks, bank transmission details and bank accounts

8. Open payable accounting period

9. Set up Print Styles and Drivers for the supplier Mailing labels report

5. What are required setup for GL.

Ans: Required setup in GL is as under

1. Source (Required step with defaults)

2. Category (Required step with defaults)

3. System Control (Required step with defaults)

4. Profile Options (required)

5. Open Close Accounting Periods (required)

Before that set of books setup needs following:

1. Chart of Accounts (Accounting Flexfields) - (Required)

2. Define Period Types (Required step with defaults)

3. Define Calendar (Required)

4. Currency (Required step with defaults)

5. Set Of Book (Required)

6. Assign set of books to a Responsibility in Profile Option(Required)

7. Daily Conversion Rate Type (Required step with defaults)

6. How you will print user name of the person logged on to see the report.


select user_name from fnd_user where user_id = (select fnd_global.user_id from dual)

7. What all interfaces have you done.

8. What is the table name for GL Interface. From here data goes to which tables.


9. Can we insert journal name in the GL Interface table

Ans: There is no such column in GL interface table hence we cannot enter it.

10. Where Reference fields are found in GL production tables. What is its use.

Ans: Reference fields are found in GL_JE_LINES it is used to store reference of sub-ledger enables us to drill down from gl to subledger.

11. Where journal name will be stored in GL_INTERFACE TABLE, Name the column.

ANS: REFERENCE4 (Journal Entry name will go in this field)

12. How to set dependent and independent value set and how you will insert values for the segments having these value sets.

ANS: First define independent value set and then while defining dependent value set give reference of independent value set along with default value and description. At time of entering values, enter values for independent first and then while entering values for dependent it will first force you to select value of independent segment.

13. SRS Name for AP TO GL.

ANS: Payable Transfer to General Ledger.

14. Can you delete the records after the interface has uploaded the records in the GL interface table?

ANS: Yes we can delete and correct the records from the front end after importing data into GL_INTERFACE Table. Sub menu options as correct and delete are given under import menu option. We have to specify source name. Menu option is import under journal in GL.

15. Required parameter for PL/SQL Procedure registered in Oracle. What will happen if these are not included?

ANS: Retcode and Errbuf are two out parameters having varchar2 datatype that are required. Use errbuf to return any error messages, and retcode to return completion status. The parameter retcode returns 0 for success, 1 for success with warnings, and 2 for error. After your concurrent program runs, the concurrent manager writes the contents of both errbuf and retcode to the log file associated with your concurrent request. If we do not include these two parameters, it will give run time error.

16. How to judge the number of descriptive fields defined from the front end itself.

ANS: In front end we will find [] open close square bracket which indicate the presence of descriptive flexfield. In other words, dff appears on form as a single-character, unnamed field enclosed in brackets

17. What is context field is all about.

ANS: Context field is used to make descriptive flexfield segments context sensitive, so that segment that may or may not appear depending upon what other information is present in your form

18. What is use of custom.pll what triggers are fired to support the customization you do using custom.pll







SPECIALn (1 to 45)



KEY-fn (1 to 8)

19. What are various customer interface tables?






20. Where invoices gets stored in payables







21. Whether ap_invoices_all and ap_invoice_lines_all are tables or views

Ans: these are tables.

22. What will happen if you will type select * from ap_invoices in the multi org setup.

Ans: No row selected because it is a view having where condition for ord_id to match with operating unit context that are extracted from client_info global variable at application run time. From sql prompt run Fnd_client_info.setup.org_context(org_id). It will set the operating unit context or run fnd_clinet_info.setup_client_info(resp_appl_id,resp_id,user_id, security_group_id)

23. Why it does not show records and show records for ap_invoices_all where as both the table has got org_id columns.

Ans: Because operating unit context is not set that is why ord_id can not retrieved to meet the where condition specified in the view. Set it up with followings,

Fnd_client_info.setup_client_info(resp_appl_id,appl_id,user_id) or


24. What mechanism or logic oracle apps have applied to drill down the records in AP from the GL module after the records are transferred from AP to GL.

ANS: Uses reference column (1-8) to store information about sub-ledger.

25. What all are the standard API in Oracle apps.

26. What is auto accounting?

ANS: It is a required setup before to enter any transaction in AR. We have to define code combinations for different transaction type such as revenue, receivables, bills receivables, charge back, deposit and guarantee to default

27. What is project management?

28. What is major risk you find in Project? How to mitigate it.

ANS: Resource is a major risk in oracle apps projects. To mitigate it we need to have resource in reserve right from the beginning of the project.

29. What are CR.010 all about?

ANS: It is a Project Management Plan Document.

30. How you maintain time sheet.

ANS: Time sheet is maintained in WM.020 In MS Project format.

IBM Questions:


ANS: AR Auto invoice interface, AP open interface


Customer_interface using API (TCA)

Bank statement (Bank Reconciliation of Cash Management)


ANS: GL Interface

1. Create on table as stage table with columns varchar2 (50) in respect to the flat file given having information to be updated in Oracle Application tables.

2. Stage table was created in custom schema and created synonyms in apps schema.

3. Created control file with stream type where in file is mentioned of flat file name.

4. Insertion of records into stage table is done through SQL LOADER option through Concurrent Program. Mention control file name while defining executable, select SQL LOADER as execution method.

5. After successful insertion of records from flat file to stage table.

6. Validate data for values and data type through PL/SQL program then the data is loaded into the interface table.

7. Now go to the import option of Journal menu option in GL Responsibility.


ANS: Currency, Date, DFF CONTEXT, .


ANS: Import does import of information from an external system and create transactions in any of the Oracle application product. Where as POST is a posting of the entered transaction in the system to freeze the transaction so that it can be considered for final reporting.

In AR If you use AutoInvoice to import information from an external system and

create transactions in Oracle Receivables,

POST means it changes the status from unposted to posted for the entered

Transaction. Table does not change only the status gets updated from ‘U’ to



ANS: KFF: A flexfield is a field made up of sub-fields, or segments. Each

segment has a name and a set of valid values. The values may also have value

descriptions. Key flexfields are flexible enough to let any organization use the

code scheme without programming.

In other words, Flexfield is a “intelligent fields” that are fields comprised of

one or more segments, where each segment has both a value and a meaning.

DFF: Descriptive flexfields provide customizable ”expansion space” on your

forms. You can use descriptive flexfields to track additional information,

important and unique to your business, that would not otherwise be captured by

the form. Descriptive flexfields can be context sensitive, where the information

your application stores depends on other values your users enter in other parts

of the form. A descriptive flexfield appears on a form as a single-character,

unnamed field enclosed in brackets. Each field or segment in a descriptive

flexfield has a prompt, just like ordinary fields, and can have a set of valid

values. Your organization can define dependencies among the segments or

customize a descriptive flexfield to display context-sensitive segments, so that

different segments or additional pop-up windows appear depending on the

values you enter in other fields or segments.


ANS: Set of valid values defined for flexfield segment and SRS report arguments. Value Set is used when we define flexfield segment for Key Flexfield and descriptive flexfield segment window. Also for reports that are run from the SRS uses values sets for report arguments.


ANS: VALUE SET where we selecting validation type as table refer table that are registered oracle application table for values to be populated for your parameter. We can use multiple table separating them by ‘,’.


ANS: Value set is a Value having list type, security type, format type, validation and size/width used for segments definition and as attribute for reports extraction through SRS where as REQUEST SET is a REQUEST have more than one Stage and each stage have more than one request program.


ANS: A request set is a collection of reports and/or programs that you group

together. You can submit the reports and/or programs in a request set all at once

using a single transaction. (REQUEST SET is a set has more than one or more

Stages and each stage have more than one or more request program. Stages

can further be linked to each other).


ANS: Flexfield qualifier: Oracle Applications products use flexfield qualifiers to identify certain segments used for specific purposes.

Some qualifiers must be unique, and you cannot compile your flexfield if you apply that qualifier to two or more segments. Other qualifiers are required, and you cannot compile your flexfield until you apply that qualifier to at least one segment

Segment Qualifier: Some key flexfields use segment qualifiers to hold extra information about individual key segment values. For example, the Accounting Flexfield uses segment qualifiers to determine the account type of an account value or whether detail budgeting and detail posting are allowed for an Accounting Flexfield combination containing a given value.

The Allow Budgeting, Allow Posting, and Account Type fields are segment qualifiers for the Accounting Flexfield



ANS: PROCEDURE: Procedure is a program units used to store PL/SQL block

under an assigned name so that it can be called repeatedly. It may and may not

return values using out prarameters. It is invoked by its name. It cannot be

called from the SQL statement. Return parameter is not mandatory. In case of

Function Return value is must

PACKAGE is a program unit have several procedures and functions that are

logically related together. It also has PL/SQL constructs such as cursors,

variables, constants and exceptions. Packages brings these various constructs

together in a single program unit. It is invoked by its name. It can be called from

With in any other program unit.

Packages A method of encapsulating and storing related procedures, functions,

and other package constructs together as a unit in the database. While packages

provide the database administrator or application developer organizational benefits,

they also offer increased functionality and database performance.

TRIGGER: Triggers is also a program unit. It is invoked by the event such as

insert, update and delete. It cannot be called from any other program unit.

Trigger can be associated with table, views or system level events.

TCL is not allowed within triggers (COMMIT, SAVEPOINT Or ROLLBACK).

DCL is not allowed within triggers (GRANT & REVOKE).

We cannot use parameter in Triggers.



i. Before parameter form

ii. After parameter form

iii. Before report

iv. Between pages

v. After report

b. Table /View Triggers

i. Before/After Insert/update/Delete (DML)

c. System Event Triggers

i. DDL on schema and database (DDL) Create/Alter/Drop

d. Form Triggers

Different types of form triggers:

1. Key triggers

2. Navigational Triggers

3. Transactional Triggers

4. Message Triggers

5. Error Triggers

6. Query Based Triggers

Main Events are as under:

i. Pre-Logon

ii. On-Logon

iii. Post-Logon

iv. Pre-Form

v. Pre-Block

vi. Pre-Record

vii. Pre-Text-Item

viii. When-New-Form-Instance

ix. When-New-Block-Instance

x. When-New-Record-Instance

xi. When-New-Item-Instance

xii. When-Validate-Item

xiii. Post-Text-Item called

xiv. When-New-Item-Instance

xv. When-CheckBox-Changed

xvi. When-Validate-Item

xvii. When-New-Item-Instance

xviii. When-Radio-Changed

xix. Value of Radio Button

xx. When-New-Item-Instance

xxi. When-List-Changed

xxii. Value in List Item PUN

xxiii. When-New-Item-Instance

xxiv. Push Button pressed...

xxv. When-Validate-Record

xxvi. Post-Record

xxvii. Post-Block

xxviii. Post-Form

xxix. Pre-Logout

xxx. On-LogOut

xxxi. Post-LogOut



An error condition or warning in PLSQL is referred as exception. Can be internally defined or user defined.

Advantage is

· No need of multiple checks for issued statements

· Easy to trap the errors

· Improves the readability





















ANS: A synonym is an alias for a table, view, snapshot, sequence, procedure, function, package, or object type. Synonyms let you refer to objects from other schemas without including the schema qualifier


ANS: A view can be thought of as a "stored query" presenting data from one or many tables. A view does not actually contain or store data, but derives data from the base tables on which it is based. Views can be queried, updated, inserted into, and deleted from. Operations on a view affect the view’s base tables.

In general, complex blocks are based on views while simple setup blocks are based on tables. The advantages to using views include:

· Network traffic is minimized because all foreign keys are denormalized on the server

· You do not need to code any POST-QUERY logic to populate non-database fields

· You do not need to code PRE-QUERY logic to implement query-by-example for non-database fields

Whenever performance is an issue and your table has foreign keys, you should define a view to improve performance. Views allow a single SQL statement to process the foreign keys, reducing parses by the server, and reducing network traffic.



PL/SQL recognizes the following SQL pseudocolumns, which return specific data items: CURRVAL, LEVEL, NEXTVAL, ROWID, and ROWNUM. Pseudocolumns are not actual columns in a table but they behave like columns. For example, you can select values from a pseudocolumn. However, you cannot insert into, update, or delete from a pseudocolumn. Also, pseudocolumns are allowed in SQL statements, but not in procedural statements.


ANS: YES, We do use


ANS: YES, We do use

















i. Before parameter form

ii. After parameter form

iii. Before report

iv. Between pages

v. After report


i. Before parameter form

ii. After parameter form

iii. Before report

iv. Between pages

v. After report


ANS: Lexical references are placeholders for text that you embed in a SELECT statement. You can use lexical references to replace the clauses appearing after SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH.

You create a lexical reference by entering an ampersand (&) followed immediately by the column or parameter name. A default definition is not provided for lexical references. Therefore, you must do the following: Before you create your query, define a column or parameter in the data model for each lexical reference in the query. For columns, you must enter Value if Null, and, for parameters, you must enter Initial Value. Reports Builder uses these values to validate a query with a lexical reference. Create your query containing lexical references.


ANS: A materialized view is a database object that contains the results of a query. The FROM clause of the query can name tables, views, and other materialized views. Collectively these are called master tables (a replication term) or detail tables (a data warehouse term). This reference uses "master tables" for consistency. The databases containing the master tables are called the master databases. For replication purposes, materialized views allow you to maintain copies of remote data on your local node. The copies can be updatable with the Advanced Replication feature and are read-only without this feature. You can select data from a materialized view as you would from a table or view. In replication environments, the materialized views commonly created are primary key, rowid, object, and subquery materialized views.

Note: The keyword SNAPSHOT is supported in place of MATERIALIZED VIEW for backward compatibility.



This procedure displays a message with the message number and text that

you specify. After the message is raised and you accept it, the report

execution will continue.

MSG-msg_number: msg_text

You cannot trap nor change Reports Builder error messages.SRW.MESSAGE

does not terminate the report execution; if you want to terminate a report

after raising a message, use SRW.PROGRAM_ABORT.Any extra spaces in the

message string will be displayed in the message; extra spaces are not

removed by Reports Builder.


ANS: fnd_flex_values_tl, fnd_id_flex_segment, Fnd_flex_value_sets

Fnd_id_flex_structure, fnd_id_flexs

Descriptive flexfield details are stored in







ANS: Different segments or additional pop-up windows appear depending on the values you enter in other fields or segments.


ANS: Accounting Flexfield









ANS: USER EXISTS Calls external program probably written in Pro ‘C’ etc and sends Parameters from report or forms, external program does the process based on those sent parameters and returns the value back to report or forms.


a. Oracle Report

b. PLSQL Stored Procedures

c. SQL*Plus

d. SQL Loader

e. Spawned

f. Host

g. Multi Language Function

h. JAVA concurrent Program

i. JAVA Stored procedure

j. Immediate

k. Request set stage function


ANS: Autonomous Transaction is a independent transaction started by another main

or parent Transaction create or replace procedure authid current_user as pragma

autonomous transaction

41. What is Value Set in Apps?

42. What is Dependent type value set?

43. What is Table type value set?

44. What is report customization?

45. Which all Reports you have customized?

46. Which all tables involved?

47. What is GL Interface?

48. How it is done - Steps.

49. What is partitioning in the table? How are they accessed?

50. What is AOL?

51. Which tables come under AOL?

52. How files are attached?

53. How log file is created?

54. What is SQL Loader?

55. How control file is written?

56. If I want to add data in a column of a table what you will do?

57. How to delete distinct rows?

58. What are triggers in Forms?

59. What is record group?

60. What is property class?

61. What are triggers in reports?

62. Which srw programs are used in reports?

63. If in the inner program an exception is raised?

64. What are user_exits?

65. What is external Table?

66. Asked to write a query to display salary of average which is greater than 1000?

67. What is exception propagation?

68. What is nocopy hint?

69. How to set Profile option?

70. What is format trigger in Reports?

71. Tell some of the UNIX commands?

72. How do you write shell script?

73. What are cursors?

74. What are the different ways to declare it?

75. Tell some of the fnd tables?

76. What is the architecture of Apps?


Suggestion: Create indexes on your Transaction Flexfield columns if you want to query Transaction Flexfield information in your invoice headers and lines. Additionally, without indexes the validation portions of the AutoInvoice program can be slow. For more information about defining Transaction Flexfield indexes, see: Importing Invoice Information Using AutoInvoice: page 4 - 204.

Explain Plan of Trace File

Other Questions:

What is Concurrent Program:

ANS: A concurrent program is program that does not require continued interaction on your part to perform a specific task. In Oracle Applications, for example, a concurrent program may be a program written to create a report, or to post a batch of general ledger journal entries

What is a Concurrent Process:

ANS: A concurrent process is an instance of a running concurrent program. Each time a concurrent manager receives a request and runs a concurrent program, it creates a new concurrent process. A concurrent process can run simultaneously with other concurrent processes (and other activities on your computer).

What is concurrent request?

ANS: A concurrent request is a request that you submit to run a concurrent program as a concurrent process. You issue a concurrent request when you submit a report or program to run using Standard Request Submission or when you choose an action button in a product-specific submission window

What are PL/SQL Supplied Packages

Package Name Description Documentation

1.DBMS_ALERT Provides support for the asynchronous

notification of database events.

2.DBMS_APPLICATION_INFO Lets you register an application name with the database for auditing or performance tracking


3.DBMS_DDL Provides access to some SQL DDL statements

from stored procedures, and provides special

administration operations not available as DDLs.

4.DBMS_DEBUG Implements server-side debuggers and provides

a way to debug server-side PL/SQL program


5.DBMS_DESCRIBE Describes the arguments of a stored procedure

with full name translation and security checking.

6.DBMS_JOB Lets you schedule administrative procedures that

you want performed at periodic intervals; it is

also the interface for the job queue.

7.DBMS_LOCK Lets you request, convert and release locks

through Oracle Lock Management services.

8.DBMS_METADATA Lets callers easily retrieve complete database

object definitions (metadata) from the dictionary.

9.DBMS_OUTPUT Accumulates information in a buffer so that it can

be retrieved out later.

10.DBMS_PIPE Provides a DBMS pipe service which enables

messages to be sent between sessions.

11.DBMS_REFRESH Lets you create groups of snapshots that can be

refreshed together to a transactionally consistent

point in time. Requires the Distributed Option.

12.DBMS_REPAIR Provides data corruption repair procedures.

13.DBMS_PIPE Provides a DBMS pipe service which enables

messages to be sent between sessions.

14.DBMS_PROFILER Provides a Probe Profiler API to profile existing

PL/SQL applications and identify performance


15.DBMS_RANDOM Provides a built-in random number generator.

16.DBMS_REFRESH Lets you create groups of snapshots that can be

refreshed together to a transactionally consistent

point in time. Requires the Distributed Option.


statements, and other session information, from

stored procedures.

18.DBMS_SHARED_POOL Lets you keep objects in shared memory, so that

they will not be aged out with the normal LRU


19.DBMS_SPACE Provides segment space information not available

through standard SQL.

20.DBMS_SQL Lets you use dynamic SQL to access the database.

DBMS_STATS Provides a mechanism for users to view and

modify optimizer statistics gathered for database


21.DBMS_TRACE Provides routines to start and stop PL/SQL


22.DBMS_TRANSACTION Provides access to SQL transaction statements

from stored procedures and monitors transaction


23.UTL_FILE Enables your PL/SQL programs to read and write operating system text files and provides a

restricted version of standard operating system stream file I/O.

24.UTL_HTTP Enables HTTP callouts from PL/SQL and SQL to

access data on the Internet or to call Oracle Web

Server Cartridges.

Listing Information about schema:

The data dictionary provides many views that provide information about schema objects. The following is a summary of the views associated with schema objects:
















What is pragma exception




Exception Propagation:






What are steps to customize forms?

Copy the template.fmb and appstand.fmb from AU_TOP /Forms/US and put it in custom directory. The libraries (FNDSQF, APPCORE, APPDAYPK, GLOBE, CUSTOM, JE, JA, JL, VERT) are automatically attached.

Take one copy of template.fmb and rename it to name of the new form and after customization save it in the respective product top.

How to use flexfields in reports?

There are two ways to use flexfields in report, one way is to use the view (table name + KFV or DFV) created by apps. And use the concatenated segments columns which holds the concatenated segments of the key or descriptive flexfields.

Other way is to use the FND user exits provided by oracle applications.

What is flexfield?

Oracle application uses flexfiled to capture information about your organization. Flexfield have flexible structure for storing key information. Like company, cost center and account. They also give you highly adaptable structure for storing customized information in oracle applications.

How many flexfields are there in AR and what are they.


Difference between key flexfield and descriptive flexfield:



Unique Identifier

Key flexfield are stored in segment columns

For key flexfield there are flexfield qualifier and segment qualifier

Descriptive flexfield:


Context sensitive is a feature of descriptive flexfield.

Descriptive flexfield are stored in Attributes

Can you call APPCORE Library in CUSTOM library

You cannot attach the APPCORE library to CUSTOM because it would cause a recursion problem because CUSTOM is attached to APPCODE. As of Oracle application release 11i you may attach the APPCORE2 library to CUSTOM. The APPCORE2 library duplicates most APPCORE routines with the following packages:




These packages contain the same routines as the corresponding APPCORE packages. Follow the documentation for the corresponding APPCORE routines, but add a 2 to the package names.

What is MRC and what are its use?

The Multi reporting currency feature allows you to report and maintain records at the transaction level in more than one functional currency. You can do it by defining one or more set of books in additional to the primary set of books.

How many reporting currencies can be attached to the primary set of books?

Ans: 9 Reporting currencies can be attached to the primary set of books.

What are new features in Release 11i

What are ad-hoc reports

Ad-hoc reports are made to meet the one-time reporting needs. Concerned with or formed for a particular purpose. For example, ad hoc tax codes or an ad hoc database query.

FSG is a Ad-Hoc Report.

What is FSG?

FSG is a powerful and flexible report building tool you can use to build your own custom reports without programming. FSG is only available with GL.

What do you mean by HZ_ in customer tables

How can you handle multiple rows without using loops in PL/SQL

What are different types of files used in SQL LOADER

ANS: fixed, variable and stream

What are interface tables in AP, AR and GL?

AP Interface:





What does set of books comprised of?


What is Flexfield Structure? (235-256 flexfield guide)

What are the validation types supported by value sets?

ANS: Dependent, Independent, None, Pair, Special, Table, Translatable Independent and Translatable Dependent.

What are format types supported by the value sets?

ANS: Char, date, date time, number, standard date, standard date time, time.

Is there any restriction over the number of flexfield structure that can be defined for the accounting flexfield.

ANS: NO there is no such restrictions.

What are flexfield qualifier that are available for accounting flexfield structure?

ANS: Natural accounting segment, cost center segment, balancing segment and intercompany segment.

Which Flexfield qualifiers are mandatory?

ANS: Balancing segment and Natural Account segment

Which Mandatory account needs to be defined for the set of books definition?

ANS: Retained Earnings - this is undistributed profit of the shareholders.

What are all accounts that can be defined for the set of books form?

ANS: Retained Earnings, Suspense, Rounding Difference, Reserve for Encumbrance

Account and Net Income Accounts.

What is the minimum and maximum no of periods that can be defined for the calendar?

ANS: 1 & 366

What are the period statuses that can be associated with the periods?

ANS: Open, closed, permanent closed, never opened, future entry

Can multiple periods have open status at one time?

ANS: Yes.

How many chart of accounts can be mapped to a set of books.

ANS: Only One

How many set of books can be defined in GL module?

ANS: Unlimited

What is responsibility?

ANS: A collection of forms, menu and program that a user can access.

Can multiple responsibilities be assigned to a single user?

ANS: Yes

Can responsibility be shared by multiple logon users?

ANS: Yes

From a general ledger responsibility, how many set of books can be accessed?

ANS: Only One.

What are different currency conversion rates?

ANS: General Ledger provides the following predefined daily conversion rate types:

Spot: An exchange rate, which you enter to perform conversion based on the rate on a specific date. It applies to the immediate delivery of a currency.

Corporate: An exchange rate you define to standardize rates for your organization. This rate is generally a standard market rate determined by senior financial management for use throughout the organization.

User: An exchange rate you specify when you enter a foreign currency journal entry.

Which table captures conversion rates information?

ANS: gl_daily_rates

Which column distinguishes the type of journal being entered?

ANS: actual_flag (A-Actual, B-Budget, E-Encumbrance)

Dependant and Independent Value sets:

For example, suppose you have an independent value set called "Account" with a dependent value set called "Sub-Account." You may wish to create a new independent value, 99, for "Account" with description "Receivables" without creating any associated sub-account values. Since your flexfield requires a dependent value of some sort to go with the independent value, it uses the default value you enter here, such as 00 with description "No Sub-Account."

List the tables which captures the journals information




Which table captures the balances information of the code combinations?


What is significance of compiling a flexfield structure?

Ans: It reflects the changes made to a flexfield structure during the unfreezed state.

What changes can be enforced on the flexfield structure when It is unfreezed?

Ans: Changing segment names, changing ordering sequence, changing window prompts, adding new segments, changing the enabled and displayed attributes.

What is Autorate program?

Ans: It is a program, which selects all the foreign currency transactions in a module in and applies that days currency conversion rate.

Is It mandatory to freeze the flexfield

Ans Yes

How many views are generated when compiling a flexfield structure?

Ans: Two - One is user defined and another is system defined GL_CODE_COMBINATION_KFV

What is the significance of intercompany flexfield qualifier?

Ans: It allows inter company transactions to be recorded.

How do you setup suspense posting?

Ans: Define suspense account code combination in set of books form.

Manual tax journals can be recorded if allow tax journals options is not selected in the set of books form.

Ans No.

Selection of journal approval option makes it mandatory for every journal to be approved before a journal is posted?


Where do you specify journal approval limits in Oracle apps?

Ans: In GL Module only.(Setup - Employee - Limit) where employee wise authorization limit can be entered.

Can previous conversion rates information be used for current transaction?

Ans: Yes.

After the batch is posted and journals within the batch can be updated

Ans: No

To reverse an entire batch what is the option available in GL?

Ans: Reverse batch option in Journal Batch window.

To reverse only journal within the journal what steps have to be performed?

Ans: Journal - Enter - Find - Batch - Query - More action - Reverse Journal

What are the amount types supported by the application.


Can Statistical budget be defined in GL?

Ans: Yes

What are the modules involved in the encumbrance cycle?

Ans: GL, PO, AP

What is Encumbrance accounting?

Ans: Encumbrance accounting is the cycle of generation of encumbrance entries for the reservation of funds.

What is the name of the system generated view when you compile an accounting flexfield structure?


Which Profile option needs to be set to allow mixed journals?

Ans: Journals: Mix Monetory and Statistical (Yes/No)

Which Profile option should be set to prevent transactions on a non-business day?

Ans: Journals: Allow Non-Business Day Transactions should be set to NO.

What is the purpose of journals? Default Category profile option?

Ans: To default a journal category in case of manually recorded journal.

What are the Journal reversal methods available in GL?

Ans: Switch DR/CR

Change Sign

Which profile option is used to map a responsibility to a general ledger set of books?

Ans: GL Set of books name

What are the different statuses that a budget can have?

Ans: Frozen, Open and Default

Only Ten Budget Organizations can be defined in a gl set of books


Encumbrance balances are maintained for expense accounts?


What is the use of cursors in PL/SQL and what is REF cursor?

Ans: The cursors are used to handle multiple row query in PL/SQL. Oracle uses implicit cursor to handle all its queries. Oracle uses unnamed memory spaces to store data used in implicit cursors. With Ref cursors you can define a cursor variable, which will point to that memory space and can be used like pointers in our 3GLs.

What are autonomous transaction? Give a scenario where you have it?

Ans: It is an independent transaction started by the another transaction the main or parent transaction, do SQL operations, commit or rollback those operations the resume back to 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 transaction 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.

Further more 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 message in your database tables.

What is the use of triggers in forms?

Ans: Triggers are used in forms for event handling. You can write PL/SQL code in triggers to respond to a particular event occurred in your forms like when user presses a button or when he commits the form.

The different types of triggers available in forms are:

1. Key triggers

2. Navigational triggers

3. Transactional triggers

4. Message triggers

5. Error triggers

6. Query based triggers.

What is the use of TEMP tables in interface programs?

Ans: Temporary tables are used to hold the intermediate data. The data is loaded into a temporary tables first and after validating through the PL/SQL Program the data is loaded into the interface table.

Do you need to register the feeder program of interface to AOL?

Ans: Yes you have to register the feeder program as concurrent program to Apps.

What are the steps to form customization?

Ans: Copy the template.fmb and Appstand.fmb from AU_TOP/Forms/us and put it in the custom directory. The libraries FNDSQF, APPCORE, APPDAYPK, GLOBE, CUSTOM, JE, JA, JL VERT are automatically attached. Create or open new forms then customize it save this form in corresponding module.

How to use flexfield in reports?

Two ways: One is to use the view tables such as _KFV or _DFV created by apps and use the concatenated segments column which holds the concatenated segments of the key or descriptive flexfields.

Or use FND user exits provided by oracle applications.


Ans: Unique identifier storing key information used for entering and displaying key information. For example Oracle general ledger uses a key flexfield called accounting flexfield to uniquely identifies a general account.

Descriptive flexfield to capture additional information.

How many flexfields are there in AR and what are they?

1. Transaction Flexfield

2. Territory Flexfield

3. Salex Tax Location Flexfield

What is MRC and its use?

Ans: Multi Reporting Currency allows you to report and maintain record at the transaction level in more than one functional currency. You can do so by defining one or more set of books in addition to the primary set of book.

What is Format trigger in reports where u uses this trigger and how?

Format Trigger:

A format trigger is a PL/SQL function executed before an object is formatted. A trigger can be used to dynamically change the formatting attributes of the object.

/* Suppose that you are building a banking report and ** would like it to indicate if a customer is overdrawn.** To do so, you give the repeating frame around the ** customer information a format trigger that causes ** it to have a border only if a customer's account ** balance is less than 0 (or the required minimum **balance). */

Function my_formtrig return BOOLEAN isbegin if :bal < 0 then srw.attr.mask := SRW.BORDERWIDTH_ATTR; srw.attr.borderwidth := 1; srw.set_attr (0, srw.attr); end if; return (true); end;

Birla Soft

1. What is Purchase Order functionality

2. Which SRS is run for generating invoice in AP.


3. Types of Flexfields

4. Types of Value sets

5. What is Legal Entity

6. What are other Units that you define for multi organization setup

7. Where you will define SOB for the inventory organization

Ans: Define in Organization option for Inventory Organization (classification) - Other -Accounting Information - Specify SOB-Legal Entity and Operating Unit.

8. Where you will set the HR organization. (At Operating Unit level)

9. What are flexfields in Inventory.

10. What you will do to proceed further from the point where no approval is done for purchase order work flow.

Sanjay Gade (DLSR Chennai)

1. How to register report in apps

2. Types of Value sets

3. Where you will store control file for interface which folder (cus/bin)

4. What is Lexical parameter

5. Which all modules worked on.

6. Payable interface tables.

7. Where we will define parameters

Deloitte Questions:


1. whats the out put of "select * from emp where rownum=5;"

no rows selected

2. whats the use of Between pages trigger?

Description:The Between Pages trigger fires before each page of the report is formatted, except the very first page. This trigger can be used for customized page formatting. In the Runtime Previewer or Live Previewer, this trigger only fires the first time that you go to a page. If you subsequently return to the page, the trigger does not fire again.

Definition Level: Report

On Failure:

Displays an error message when you try to go to the page for which the trigger returned FALSE. The pages subsequent to the page that returned FALSE are not formatted. If the trigger returns FALSE on the last page, nothing happens because the report is done formatting. The Between Pages trigger does not fire before the first page. If the trigger returns FALSE on the first page, the first page is displayed, but, if you try to go to the second page, an error message is displayed.

3. For two pages report for how many times between page trigger will fire?

One time , after first page.

4. Multi org structure?

Business Groupà SOB->Legal Entityà Operating Unità Inventory Orgà sub Inventory.

5. Difference between org_id and organization_id?

Org_id indicates operating unit, organization_id indicate Inventory Organization

6. what are the base table for multi org informations?




8. How to use one formula column to return two values?

ANS: It always returns one value.

9. How I can have multiple layout in one report?

ANS:Use additional default layout tool in layout model tool bar.

10. Explain how I can use additional layout option?

In layout model, click below your first layout selecting additional layout option from tool bar, which will activate report wizard , choose any other layout you need and finish it, you will get second layout along with first one.

11. what will be output of " select * from po_headers? "

ANS: No row selected. In case of multi org flag is yes. This is a view and filter condition is given for org_id for which we need to initialize ord_id passing user_id, responsibility_id and applicaton_id or need to extract ord_id from client_info global variable.

12. diffrence between po_headers and po_headers_all ?

ANS: po_headers_all is a table to store information for more than one organization and po_headers is a view, which is partitioned by org_id

13. use of retcode?

ANS: It returns status of the pl sql program you are running.

14. how i can fetch the current operating unit in plsql program?

ANS: Use Client_info global variable

15. how i can fetch the request id of the running conc program?

ANS: fnd_global.conc_program_id, fnd_global.conc_request_id

16. whats the user exit ? explain each.


17. how i can make sure that one program if running then no other is running in parallel?

ANS: Check the “Run Alone” checkbox while defining your concurrent program.

18. in sql*loader how to insert data in multiple tables?





WHEN empno != ' '


ename POSITION(6:15) CHAR,

deptno POSITION(17:18) CHAR,




WHEN projno != ' '




19. How i can make sure that no row of dat file is inserted if even one row fails the validation?


20. How to show error message?

ANS: Use exception handler, raise_application_error or use SQLCODE, SQLERRM.

21. How to use table type? detail steps(registering a table....)

register a table using AD_DD package procedures,

v ad_dd.register_table

v Ad_dd.register_column

v Ad_dd.delete_table

v Ad_dd.delete_column

v ad_dd.register_primary_key

v ad_dd.register_primary_key_column

use table type value set to use this registered table.

Enter value, meaning, ID fields.

22. Flow of PO?

Requisition (generate and approve)à PO(generate and approveà send it to customer àget receipt of goodsà use “Pay on Auto Invoice” conc. Program to automatically generate Invoiceà pay the customer.

23. explain plan of correlated subquery?

First outer query will fire, on the basis of the output of the outer one the inner query will fire.

24. How to do interface?

Staging table à use SQL*Loader to load data from dat files (external files in CSV format) in these tablesà use plsql to do the validations so that each row gets inserted into the pre interface tablesà once it goes into the pre tables use simple plsql to send data from pre interface tables to interface table.

25. base tables of GL, AR interfaces.

For import journal à GL_INTERFACE,

For daily rates interfaceà GL_DAILY_RATES_INTERFACE

For customer interfaceà RA_CUSTOMER_INTERFACE





26. Validations of GL, Customer, daily rates interfaces.

27. imp tables of BOM, PO, their imp columns.

28. where the info of KFF, DFF is stored? (base tables of FND?)



29. explain TCA architecture.

Trade Community Architecture (TCA)It is supposed to be the base for storing the complex information about the customer, parties and their relationship. TCA and its DQM (data quality management) system helps to maintain this information by avoiding duplications and easy access to this complex information.

30. diff between KFF, DFF.

KFFà used to store mandatory information.

DFFà used to store non mandatory information.

KFFà stored in base table columns (SEGMENT1..30)

DFFà stored in ATTRIBUTE1..20

KFFà has segment qualifiers and FF qualifiers

DFFà has CONTEXT, a field in which you will enter one of the option available.

Depending on this option entered by you the fields for descriptive information will pop up. The segment which will depend on this CONTEXT are called as context sensitive segments. And the segment which doesn’t depends on context are called GLOBAl segments.

31. where the party info, customer number, item number is stored?


32. what is the flow of BOM.

33. report triggers sequence?






34. diff bet formula, placeholder.

Formula column used to return value based on the user calculations.

Placeholder column is used to hold value set by the user. U can set its value in one of the following à before report trigger, report level formula column, or a formula column in a group or a group below of this placeholder column.

34. explain database triggers.

Ans: Triggers are classified in three forms

Levelàstatement level, row level.

Statement level will fire once for a statement say

delete from emp where deptno=10; -- say it deletes 5 rows of emp

if it’s a statement level then it will fire only once.

Where as if it’s a row level it will fire for each row processed ie for 5 times.

Eventà insert, update, delete


35. what is the instead of trigger?

If you have created a view on the basis of join between two tables. If you try to insert values through this triggers it wont allow but still if you have to insert values then you will write INSTEADE OF trigger on this VIEW. Doing so will allow you to insert through this view into two different underlying tables.

36. i am deleting some rows from table, i want the rows being deleted to be stored in another table, how will i do it?

Use before delete trigger on this table.

37. what is parameterized cursor? and cursor attributes?

You can pass a parameter to cursor depending on which it will fetch rows.

Cursor c1(num number) is

Select * from emp where deptno=num;

While opening this cursor

Open cursor(20);

37. how you do the documentations, before staring a task , and once task is finished.

We have our MD.070 technical documentation. We get a functional requirement MD.050 from functional consultant, we convert it into technical document as exactly how we will achieve the required target. Then we show it to our PM , get some modifications done required by him. Get that document approved from him. Then only we can start the task in the same way mentioned in the technical MD.070 approved document.

38. What is request set ?

it’s a set of concurrent programs. You have multiple stages in one request set, each stage can contain multiple requests; each request in turn can have required parameters declared. Each stage can be connected to other stages depending on its completion status (success, error, warning). Stages run one after another, whereas requests in each stage runs parallel.

39. Diff between functions, procedure?

Function has to return a value, (only one), and it can be executed in a select statement or any other expression. Like Var1 := my_function(10,20);

procedures cant be executed in select statement. And its not mandatory for a procedure to return a value.

40. how procedure can return value?

Using IN OUT, OUT parameter. With the help of out parameter more than one value can be return in procedure.

41. can i have IN OUT parameters in function?

NO. functions doesn’t accept IN OUT, OUT parameters.

42. can i have COMMIT in triggers.

NO. triggers cant have any TCL (Transactional Control Statements)

commit, rollback, savepoint not allowed.

43. whats the output of following code



cursor c1 is

select empno, ename from emp where deptno=20;

memp1 emp.empno%type;

memp2 emp.ename%type;

cnt1 number default 0;

cnt2 number default 0;


open c1;

cnt1 := c1%rowcount;

dbms_output.put_line('cnt1=> '||cnt1);


fetch c1 into memp1, memp2;

exit when c1%notfound;

cnt2 := c1%rowcount;

end loop;

close c1;

dbms_output.put_line('cnt2=> '||cnt2);




cnt => 0

cnt => 5

44. what is pragma?

Pragma is a compiler directive.

Oracle have four PRAGMAS.


Used to attach a non defined error with a number.


To mention that this transaction will contain a call to an autonomous transaction.


To restrict a function from writing to, reading from database.

Options are WNDS, RNDS, WNPS, RNPS.


45. What do you know about partitioned table?

46. How to find column in a oracle database?

47. How to find current operating unit?


General Report 6i Questions:

1. Why do we call FND SRWINIT from Before Report Trigger

A. FND SRWINIT fetches concurrent request information and sets up the profile options. It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY features in his report (such as concurrent processing)

2. Why do we call FND SRWEXIT from After Report Trigger

A. FND SRWEXIT frees all the memory allocations done in other Oracle Applications user exits. It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY features in his report (such as concurrent processing)

3. Why do we call FND FLEXSQL from the Before Report Trigger?

A. One need to pass the concatenated segment values from the underlying code combinations table to the user exit so that it can display appropriate data and derive any description and values from switched value sets as needed. One gets this information by calling the AOL user exit FND FLEXSQL from the before report Trigger.

4. If u call the user exit FND FLEXSQL with MODE = " WHERE" from the Before Report Trigger. What will it do?

A. This user exit populates a lexical parameter that you specify with the appropriate SQL fragment at run time. You include this lexical parameter in the WHERE clause of the report query. This user exit is called once for each lexical to be changed.

5. If u call the user exit FND FLEXSQL with MODE = " ORDER BY" from the Before Report Trigger. What will it do?

A. This user Exit populates the lexical parameter that one specifies with the appropriate SQL fragment at run time. One includes this lexical parameter in the ORDER BY clause of the report query. This user exit is called once for each lexical to be changed.

6. How can we display flexfield segment values, descriptions, and prompts on the report?

A. Create a formula Column. Call the user exit FND FLEXIDVAL as the formula for this column. This user exit automatically fetches more complicated information such as descriptions and prompts so that one does not has to use complicated table joins to the flex field tables.

7. Name some options of the FND FLEXSQL user exit


8. Describe CODE option of the FND FLEXSQL user exit

A. Specify the flex field code for the report (for example, GL#, MCAT).

9. Describe the APP_SHORT_NAME option of the FND FLEXSQL user exit

A. Specifies the short name of the application that owns the flex field (for example: SQLGL, INV)

10. Describe the OUTPUT option of the FND FLEXSQL user exit

A. Specify the name of the lexical parameter to store the SQl fragment. One uses this lexical later in the report when defining the SQL statement that selects the flexfield values. the datatype of this parameter should be character.

11. Describe the MODE option of the FND FLEXSQL user exit

A. Specify the mode to use to generate the SQL fragment . valid mode are :

SELECT: Retrieves all segments values in an internal (non- displayable format).

WHERE: Restrict the query by specifying constraints on flexfield columns. The fragment returned includes the correct decode statement if one specifies MULTINUM. One must also specify an OPERATOR and OPERANDS.

HAVING: Same calling procedures and functionality as WHERE.

ORDER BY: Order required information by flexfield columns. The fragment Orders your flexfield columns and separates them with a comma. The fragment returned includes the correct decode statement, one specifies in MULTINUM.

12. Describe the DISPLAY option of the FND FLEXSQL user exit

A. One uses the DISPLAY token with the MODE token . the DISPLAY parameter allows you to specify segments that represent specified flexfield qualifiers or specified segments numbers , where the segment numbers are the order in that the segments appear in the flexfield window, not the segment number specified in the Define Key Segments form.

Eg. If your MODE is SELECT and you specify DISPLAY = "ALL" then the SELECT statement includes all the segments of the flexfield. . Similarly, if your MODE is WHERE and you specify DISPLAY = "ALL", then your WHERE clause includes all segments.

13. Describe the SHOWDEPSEG option of the FND FLEXSQL user exit

A. SHOWDEPSEG = "N" disables automatic addition of depended upon segments to the order criteria. The default is "Y". This token is valid only for MODE = "ODER BY" In FLEXSQL.

14. Describe the NUM option of the FND FLEXSQL user exit

A. Specify the name or lexical or source column that contains the flexfield structure information. If the flexfield uses just one structure, specify NUM only and use a lexical parameter to hold the value. If the flexfield uses multiple structures, specify MULTINUM only and use a source column to hold the value. The default value is 101.

15. Describe the TABLE ALIAS option of the FND FLEXSQL user exit

A. You use TABLE ALIAS if your SELECT joins to other flexfield tables or uses a self - join.

16. Describe the OPERATOR option of the FND FLEXSQL user exit

A. Specify an operator to use in the WHERE clause.

17. Describe the OPERAND1 option of the FND FLEXSQL user exit

A. Specify an operand to use in the WHERE clause,

18. Describe the OPERAND2 option of the FND FLEXSQL user exit

A. Specify a second operand to use with OPERATOR = "BETWEEN"

19. Where is FND FLEXIDVAL user exit used

A. Call this user exit to populate fields for display. You pass the key flex fields data retrieved by the query into this user exit from the formula column. With this exit you can display values, descriptions and prompts by passing appropriate token (any one of VALUE, DECRIPTION

21. Name the interface tables used for the customer interface?






22 What is the name of the column in CUSTOMER_INTERFACE_TABLE that indicates whether you are inserting new or updating existing information?

A: When importing data into the interface tables, the column INSERT_UPDATE_FLAG indicates whether you are inserting new or updating existing information. This column is required in RA_CUSTOMERS_INTERFACE.

23 If the INSERT_UPDATE_FLAG is not set correctly or the required column is missing the value, will CUSTOMER INTERFACE reject the entire record or just the attributes u want to update?

A Reject the entire record.

24 List some of the required columns for the RA_CUSTOMERS_INTERFACE?




CUSTOMER_NUMBER (if you are not using Automatic Customer Numbering)






If you are importing an address and a business purpose, you must also populate the following columns:

PRIMARY_SITE_USE_FLAG (if you are inserting an address)

LOCATION (if you are not using Automatic Site Numbering)

SITE_USE_CODE (if you are inserting an address)


25 List some of the production tables that Customer Interface transfers customer data from the interface tables into?













26. What validation must be given on the customer_number?

A Must be null if you are using Automatic Customer Numbering. Must exist if you are not using Automatic Customer Numbering. This value must be unique within RA_CUSTOMERS.

27 What validation must be given on the CUSTOMER_STATUS?

A Must equal 'A' for Active or 'I' for Inactive.

28 Name some of the Oracle receivables Interfaces?

A a) Auto Invoice

b) Auto Lockbox

c) Customer Interface

d) Sales Tax rate Interface

e) Tax Vendor Extension

29 Give some of the Oracle Payables interface?

A. a) Credit Card Transaction Interface

b) Invoice Import Interface

c) Payables Open Interface

d) Purchase Order Matching

30. Name some of the oracle general ledger Interface?

A a) Budget Upload

b) Importing Journals

c) Loading Daily rates

31. What are the names of the parameters u pass to the Procedure which u register in the apps?

A. 1) retcode in varchar2

2) errbuf in varchar2

32. What is the use of Auto lock Box?

A Auto Lockbox (or Lockbox) is a service that commercial banks offer corporate customers to enable them to outsource their accounts receivable payment processing.

33. Auto Lockbox is a three-step process, what are those?

A. a) Import

b) Validation

c) PostQuickCash

34. What is the order in which Autolock box searches for the types of the matching number?

A. 1. Transaction Number

2. Sales Order Number

3. Purchase Order Number

4. Consolidated Billing Invoice Number

5. Other, user-defined number.

35. What is application short name for General Ledger you specify in FND FLEXSQL user exit?


36 . What are validations to be done in Journal Import interface.

A. Batch level: Set of Books, Period Name, and Batch Name

Journal Level: Set of books, Period name, Source name, Journal entry name, Currency code, Category name, Actual flag, Encumbrance type ID, User conversion type, Accounting date, Budget version ID

37. What subclass in forms6i

A Specifies module, storage & name information about the source object and source module for a referenced objects.

38. What is the clause in SQL * Loader to program to override data into table


39. How do you set profile in oracle applications In Application Developer responsibility?

A Open 'Profile' Function

40. What is the syntax for loading data through SQL * Loader from multiple files simultaneously

A. Sqlldr scott/tiger@orcl control = ctlfile

parfile -- parameter file: name of file that contains parameter specifications

parallel -- do parallel load (Default FALSE)

41 What is the table name for items in Oracle Inventory


42. Tell me names of important production tables & their purpose AP, AR, GL, PO


To store invoices


PO: PO_VENDORS, PO_VENDOR_SITES - For storing vendor data.

43. Name the interface tables used for the LockBox Interface


Lockbox transfers the receipts that pass validation to the Receivables interim tables AR_INTERIM_CASH_RECEIPTS_ALL and AR_INTERIM_CASH_RCPT_LINES_ALL

When you run Post QuickCash, the receipt data is transferred from the QuickCash tables to the following Receipt tables:




44 Name the interface tables used for the AutoInvoice Interface.

A AutoInvoice transfers transaction data from the interface tables




into the following Receivables tables:










About User Exits

A user exit is a program that you write and then link into the Report Builder executable or user exit DLL files. You build user exits when you want to pass control from Report Builder to a program you have written, which performs some function, and then returns control to Report Builder.

You can write the following types of user exits:

* ORACLE Pre-compiler user exits

* OCI (ORACLE Call Interface) user exits

* Non-ORACLE user exits

You can also write a user exit that combines both the ORACLE Pre-compiler interface and the OCI. User exits can perform the following tasks:

* Perform complex data manipulation

* Pass data to Report Builder from operating system text files

* Manipulate LONG RAW data

* Support PL/SQL blocks

* Control real time devices, such as a printer or a robot

You can use user exits for other tasks, such as mathematical processing. However, Oracle Corporation recommends that you perform such tasks with PL/SQL within Report Builder.

Usage Notes

* Not all types of user exits can perform all of the described tasks. You can accomplish most of these tasks only with ORACLE Pre-compiler user exits.

* Some details of implementing user exits are specific to each operating system.

Writing a user exit call

You can call the user exit from any place in which you can enter PL/SQL within Report Builder. Use the following syntax:


* [SRW.REFERENCE(:object_name_1);]

* [SRW.REFERENCE(:object2_name_2); ...];

* SRW.USER_EXIT('user_exit_name [argument_list]');


object_name_n Is the name of an Report Builder parameter or column whose value will be passed to the user exit in the user exit string. This causes Report Builder to build a dependency list: it will ensure that each referenced object will contain the most recently computed or fetched value before it is passed to the user exit. Note: You must reference each parameter or column separately. For details, see "SRW.REFERENCE".

user_exit_name Is the name of the user exit to which you are passing control. The user exit name may be any length. (On some operating systems, the name may be at most 6 characters. Check with your system administrator.)

argument_list Can contain the names of parameters and columns, constants, character strings, or any combination thereof, that you wish to pass to the user exit. The argument list may be any length. Note: The above syntax will need to be embedded in a PL/SQL program unit.


Description : This procedure calls the user exit named in user_exit_string. It is useful when you want to pass control to a 3GL program during a report's execution.


SRW.USER_EXIT (user_exit_string CHAR);

Parameters :

user_exit_string :Is the name of the user exit you want to call and any columns or parameters that you want to pass to the user exit program.


Description : This procedure causes Report Builder to add the referenced object to the PL/SQL construct's dependency list. This causes Report Builder to determine the object's value just before firing the PL/SQL construct. This is useful when you want to ensure that a column value passed to a user exit is the most recently computed or fetched value.




object Is the Report Builder parameter or column whose value needs to be ascertained before the construct fires.


Description :This procedure displays a message with the message number and text that you specify. The message is displayed in the format below. After the message is raised and you accept it, the report execution will continue.

MSG-msg_number: msg_text.


SRW.MESSAGE (msg_number NUMBER, msg_text CHAR);


msg_number Is a number from one to ten digits, to be displayed on the message line. Numbers less than five digits will be padded with zeros out to five digits. For example, if you specify 123, it will be displayed as SRW-00123.

msg_text Is at most 190 minus the msg_number alphanumeric characters to be displayed on the message line.

Lexical References :

Lexical references are placeholders for text that you embed in a SELECT statement. You can use lexical references to replace the clauses appearing after SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH.

You cannot make lexical references in a PL/SQL statement. You can, however, use a bind reference in PL/SQL to set the value of a parameter that is then referenced lexically in SQL.



FROM Clause


WHERE Clause









Multiple Clauses


COLSTABLE could be used to change both the SELECT and FROM clauses at runtime. For example, you could enter DNAME ENAME, LOC SAL FROM DEPT for COLSTABLE at runtime.

Bind References :

Bind references (or bind variables) are used to replace a single value in SQL or PL/SQL, such as a character string, number, or date. Specifically, bind references may be used to replace expressions in SELECT, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH clauses of queries. Bind references may not be referenced in FROM clauses or in place of reserved words or clauses.

You create a bind reference by entering a colon (:) followed immediately by the column or parameter name. If you do not create a column or parameter before making a bind reference to it in a SELECT statement, Report Builder will create a parameter for you by default.



WHERE Clause








Placeholder Columns :

A placeholder is a column for which you set the data type and value in PL/SQL that you define. You can set the value of a placeholder column in the following places:

* The Before Report Trigger, if the placeholder is a report-level column

* A report-level formula column, if the placeholder is a report-level column

* A formula in the placeholder's group or a group below it (the value is set once for each record of the group)

PROCEDURE RUN_PRODUCT (product NUMBER, module VARCHAR2, commmode NUMBER, execmode NUMBER, location NUMBER, paramlist_id VARCHAR2, display VARCHAR2);

Product :Specifies a numeric constant for the Oracle product you want to invoke: FORMS specifies a Runform session. GRAPHICS specifies Graphics Builder. REPORTS specifies Report Builder. BOOK specifies Oracle Book.

module Specifies the VARCHAR2 name of the module or module to be executed by the called product. Valid values are the name of a form module, report, Graphics Builder display, or Oracle Book module. The application looks for the module or module in the default paths defined for the called product.

commmode Specifies the communication mode to be used when running the called product. Valid numeric constants for this parameter are SYNCHRONOUS and ASYNCHRONOUS.SYNCHRONOUS specifies that control returns to Form Builder only after the called product has been exited. The end user cannot work in the form while the called product is running. ASYNCHRONOUS specifies that control returns to the calling application immediately, even if the called application has not completed its display.

Execmode : Specifies the execution mode to be used when running the called product. Valid numeric constants for this parameter are BATCH and RUNTIME. When you run Report Builder and Graphics Builder, execmode can be either BATCH or RUNTIME. When you run Form Builder, always set execmode to RUNTIME.

Location : Specifies the location of the module or module you want the called product to execute, either the file system or the database. Valid constants for this property are FILESYSTEM and DB.

Paramlist_name or paramlist_ID : Specifies the parameter list to be passed to the called product. Valid values for this parameter are the VARCHAR2 name of the parameter list, the ID of the parameter list, or a null string (''). To specify a parameter list ID, use a variable of type PARAMLIST.

Display : Specifies the VARCHAR2 name of the Form Builder chart item that will contain the display (such as a pie chart, bar chart, or graph) generated by Graphics Builder. The name of the chart item must be specified in the format block_name.item_name


pl_id ParamList;


pl_id := Get_Parameter_List('tmpdata');

IF NOT Id_Null(pl_id) THEN

Destroy_Parameter_List( pl_id );


pl_id := Create_Parameter_List('tmpdata'); Add_Parameter(pl_id,'EMP_QUERY',DATA_PARAMETER,'EMP_RECS');

Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');




General Form 6i Questions:

1. What is canvas?

1. Canvases guides the layout of the blocks / records / items. A Content Canvas View (or simply Content View) is the base view that occupies the entire content pane of the window in which it is displayed. You will usually define at least one content canvas view for each window in your application.

A canvas is an object that can be displayed on the screen. The canvas may contain buttons, graphics, display items and text items.


| xxxx zzz |

| xxxx zzz |

| xxxx zzz |

| [SAVE] |


The canvas may be smaller or larger than the screen size. One canvas may be stacked on top of

another canvas so that the user might see several canvases at the same time.


| 1 |

| ----- |

| | 2 | |

| ----- |


A large canvas might only be partially visible to the user. This is known as a "view" of the

canvas. If the cursor navigates to an enterable item on a canvas, then the canvas becomes

visible to the user. However, when the cursor leaves the items on the canvas, the canvas

will not automatically be hidden from view unless another canvas covers it.


| vvvvvv |

| vvvvvv |

| vvvvvv |

| |

| |


2. How many types of canvas are there in a form?

2. There are 5 types are canvas are there in a form

a) Contant Canvas.

b) Stacked Canvas.

a) Horizontan Tool Bar.

b) Varitacal Toll Bar.

c) Tab Canvas.

3) Can you have a form without a Canvas?

3) No, Canvas Object Physical represent table columns.

4) Does a stacked canvas require a content canvas?

4) Yes, Sometime the number of columns in the table cannot contained on a standared canvas

or the system require that information on the form be displayed either on a click of a button

or on some condition being set for the system.

Multiple canvases can be placed on the same form. Additional items can be included in the second

canvas and code can be written to make the canvas visible/ invisible when a button is pressed.

Since the canvas is placed on the window the size of the canvas is restricted to the size of the

window. Similarly if the window is resized, the canvas must be resized. The type of the canvas

determined the canvas-resizing behavior. The default value for the canvas type is "contant".

This property value ensure that the canvas is automatically resized horizontally and vartically

based on the size of the window.

There may be a need to place some items on the contant canvas and other items on a new canvas

such that the contant canavs and the new canvas are stacked one on top of the other.

A canvas that can be stacked on the contant canvas is called a "Stacked Canvas". The stacked

canvas is displayed in the same window along with the window's contant canvas. There can be

any number of stacked canvases placed on the content canvas.

If the form includes multilpe canvases, a common practice is to make the stacked canvas visible

or invisible programmatically.

5) What is tab canvas?

5) Just like the paper form is made of multiple pages, the data entry form could also be created

with multiple pages. The type of canvas that can include multiple tab pages is called "Tab canvas".

6) what is the difference between horizontal and varitical toolbar?


7) What are the basic concepts of Oracle Forms?

7) Forms functionality is driven by user events (such as pressing a key) and navigation events

(such as the cursor about to enter/leave a field). These events are identified by triggers in

a form.

These triggers fall into several groups:

PRE - Fires prior to an event

POST - Fires after an event

WHEN - Fires when an event occurs

KEY - Fires when the corresponding key is pressed

ON - Replaces default event processing

These triggers include events such as:

1. PRE and POST triggers for the form, block, row, and item.

2. PRE and POST triggers for row inserts, updates, and deletions.

3. WHEN triggers fire as a direct result of an event such as the user clicking on a

button (WHEN-BUTTON-PRESSED) or the cursor navigating to a new item and readying for user input


4. Keys the user can press on their keyboard like the Tab button (KEY-NEXT-ITEM) or


5. ON triggers fire when an event occurs. For example, ON-MESSAGE fires when forms is about to

issue a message. This gives the developer an opportunity to trap and replace particular

messages with custom messages.

By adding PL/SQL code to a trigger you can:

1. Alter the way a trigger would ordinarily work. For instance, by creating a KEY-ENTQRY on

a field with: null; you will prevent the user from pressing F8.

2. Supplement the way something works - for instance by creating a KEY-DELREC trigger on

a block with code that asks the user if they "really" want to delete that record before

issuing the delete_record;.

Trigger Scope: If you create a KEY-EXEQRY on a field with: null; then you will prevent the user

from pressing F8 while the cursor is in that field. If, instead, you attach the same trigger

to a block, then you will prevent the user from pressing F8 while the cursor is anywhere in

that block. If, instead, you attach the same trigger to the form, then you will prevent the

user from pressing F8 anywhere within the form.

You can override high level triggers at a lower level. For example, if you have disabled F7 at

the form level, you can add a KEY-ENTQRY to a block with: enter_query; that will allow the

user to press F7 to enter a query while the cursor is in that block. This means that F7 will

work in that block but nowhere else in the form.

8) What is the difference between base table block and control block.

8) Blocks (Base Table vs. Control): A most basic concept in a form is blocks. Blocks are

basically comprised of 2 types:

1. Control block - A block not associated with a table. This block is usually a single row block

that has no interaction with the database.

2. Base table block - this is associated with a table. You do not have to code any SQL statements. Forms will automatically:

A. Query rows of data from the table (execute_query)

B. Insert a new row below the current row (create_record)

C. Delete the current row (delete_record)

D. Update rows (by the user typing values on a queried row)

E. Handle row locking

F. Make all these database changes permanent at commit time

Base Table and Control Items: An item in a base table block that relates directly to a base

table column is a base table item. An item that does not relate to a database column is a

control item. Base table blocks can contain both base table items and control items.

For example, a base table block might contain four base table items that display queried

database values and a fifth item that displays calculated values but does not correspond to any

column in the base table. The fifth item would be a control item populated by an assignment

statement in the trigger that does the calculation.

Because control blocks are not associated with database tables, none of the items they contain

can be base table items. (You can, however, populate control items with database values by

writing your own SQL statements in trigger code.)

Control items can be used to do the following:

* Display totals, averages, rankings, and other summary information calculated from values

in base table items and database tables.

* Accept input from operators that is required by the application, but that is not stored

in the database.

* Display "look-up values," that is, database values derived from a table other than the base

table of the block.

You can also reference the values of control items in code, much like local and global variables.

Buttons and chart items are always control items. Because these items do not store values,

they cannot relate to columns in the database.

Item in a block -Items are the interface objects that display information to operators and

allow them to interact with your application. A field in the base table in the database or

another field, other fields may be buttons, check boxes, etc.

1. Button: A rectangle with a text label or an icon graphic inside.

2. Chart item: A bordered rectangle of any size that can display a chart or other display

generated by Oracle Graphics. Operators cannot navigate to or manipulate chart items.

3 Check box: A text label with a graphic state indicator that displays the current value as

either checked or unchecked. Selecting a check box toggles it to the opposite state.

4. Display item: A read-only text box whose value must be fetched or assigned programmatically.

Operators cannot navigate to a display item or edit the text it contains.

5. Image item: A bordered rectangle of any size that can display images fetched from the

database or read in from the file system.

6. List item: A list of choices displayed as either a poplist (sometimes called a drop list),

a t-list (sometimes called a list box), or a combo box.

7. Radio group: A group of radio buttons, one of which is always selected.

8. Text item: A single- or multi-line text box that supports a variety of data types,

format masks, and editing capabilities.

9. OLE container: An area that stores and displays an OLE object that is created from an

OLE server application.

10. VBX control: A custom control that simplifies the building and enhancing of user interfaces.

Each item in a form (text item, image item, radio group, and so on), belongs to a block.

Blocks are logical containers that have no physical representation--only the items contained

in a block are visible in the application interface. However, like other objects,

blocks have properties, and can be created, copied, and modified in the Designer.

Blocks provide a mechanism for grouping related items into a functional unit for storing,

displaying, and manipulating records. Just as tables in the database consist of related

columns and rows, blocks contain related items that display data records.

There is no practical limit to the number of blocks that can be defined in a form.

A block is a logical grouping only; the items in a block can be placed on different

canvas-views and can be displayed in different windows.

9) How do blocks relate to each other?

9) The relationship between block represent the relationships of an ER schema.

It can also represent relationship between tables in the relational data model based on

foreign keys. It can specify a "join condition" between a "master" and "detail" blocks.

10) Which trigger are created when master -detail relation?

10) Master detail property

* NON-ISOLATED (default)

a) on check delete master

b) on clear details

c) on populate details


a) on clear details

b) on populate details


a) pre-delete

b) on clear details

c) on populate details

11) How to use Dynamic SQL in Form?

11) The reason why you would want do to do this is because, like in database procedures,

you can't use DDL such as DROP TABLE 'table_name' directly in PL/SQL with Forms.

The way to do it is with the buit-in EXEC_SQL package.

The same thing can also be accomplished with the FORMS_DDL built-in but that only applies to the

current database connection, with the EXEC_SQL package its possible to have database

connections to multiple databases and also execute non-oracle database procedures.

12) What the relationships were between canvases, views and windows?


a) Multiple canvases with only one window : The most common problem I've found in this scenario

is that you click a button on your main canvas or some other action is performed, the result

of which is you expect to see a secondary canvas popping up containing some sort of useful

information for the user to see or act upon. The thing is the user only sees it for about

100th of a second, if they're lucky, before it miraculously disappears again.

What's going on here, after all your button or whatever does a SHOW_VIEW('CANVAS_NAME');

it's supposed to display the secondary canvas isn't it? Yes, and it does however it will only

work correctly if the secondary canvas is of type STACKED. Changing the property to

this should solve your problem. Another way of doing it without changing the property of

the canvas depends on your canvas having an item on it that you can do a GO_ITEM on.

If it does then do your GO_ITEM just before the SHOW_CANVAS and it should work correctly.

You will find though that using this method means the secondary canvas takes up the whole

of your window obscuring all of your primary canvas and you can't use its viewport properties

as you can with stacked canvases.

b) Multiple canvases and multiple windows: This is similar to the previous problem in

that you click a button on your main window or some other action is performed and you

expect to see a secondary canvas popping up in a separate window of its own.

This time though the user only sees the window itself with none of the useful information on it.

What's going on here, after all your button or whatever does a SHOW_WINDOW('WINDOW_NAME');

it's supposed to display the secondary window isn't it? It does, however it will only

work correctly if you also do a SHOW_VIEW('CANVAS_NAME') too. Note that the calling window

will still have the focus (i.e. be on top). If you want the called window to be on top

you either need to click on it or do a GO_ITEM to an appropriate navigable field on the called

window. If there isn't one available a work-around is to create a dummy item and disguise it

by making its background colour the same as the called window and ensuring its BORDER BEVEL

is set to NONE. One last check if things still aren't going right is to make sure that your

secondary canvas window property is pointing to the correct window.

While I was on the subject I thought I'd just bring up a couple of points on the relationships

between canvases, viewports and windows which is crucial to remember if you want to write

great forms applications.

From a developers standpoint, canvases and forms are interchangeable in as much as canvases

are where you put your form items, buttons, text and so on. Whether or not the user

sees all those things is another matter of course and that's where windows and viewports come in.

In general, content canvases don't have viewports associated with them and will display in the

whole of the window they are assigned to. Therefore if the window is big enough, the user

will see everything that's on them. Stacked canvases on the other hand can have a viewport

that can be thought of as being a sub-window within the canvas. The user will only see things

on the canvas which are inside the viewport. And because you can programmatically control the

size and position of the viewport it means that you can choose to display, or not, as the

case may be, only the things you want your user to see.

13) What are the types of triggers and how the sequence of firing in text item

13) Triggers can be classified as Key Triggers, Mouse Triggers, Navigational Triggers,

1. Key Triggers: Key Triggers are fired as a result of Key action.

a) Key-next-Item: Tab or Enter.

b) Key-ExeQry: F8

c) Key-NxtBlk: Shift F5

d) Key-Commit: F10

2. Action Trigger: Trigger that get executed due to user interaction are called Action Triggers. action triggers are associated with specific objects.

a) When-Button-Pressed: Pressing a button.

b) When-CheckBox-Changed: Clicking a check box.

c) When-Image-Pressed: Clicking the image.

d) When-List-Changed: A List item is selected.

e) When-Radio-Changed: Clicking on a Radio Button.

f) When-Window-Activated: When focus is on a specific whindow.

g) When-Window-Closed- When a window is closed.

3. Mouse Triggers: Mouse Triggers are fired as a result of the mouse navigation.

a) When-Mouse-Click

b) When-Mouse-DoubleClick

c) When-Mouse-Down

d) When-Mouse-Enter

e) When-Mouse-Leave

f) When-Mouse-Move

g) When-Mouse-Up

4. Navigational Triggers: These Triggers are fired as a result of Navigation. for example when the cursor navigates out of a text item to another text item the Post-Text-Item trigger for the current text item and Pre-Text-Item trigger for the next text item it moves to will both fire

in sequence.

1 Pre-Text-Item and Post-Text-item.

2. When-New-Instance.

We cannot call restricted procedures like go_to('my_block.first_item') in the Navigational

triggers but can use them in the Key-next-item.

The Difference between Key-next and Post-Text is an very important question. The key-next is

fired as a result of the key action while the post text is fired as a result of the

mouse movement. Key next will not fire unless there is a key event.

Example(1) The sequence of firing in a text item are as follows:

a) pre-text-item

b) when-new-item-instance

c) key-next-item

d) when-validate-item

e) post-text-item

Example(2) If there are two text items in a block, say text1 and text2. If the focus is on text2 and user moves the cursor to text1 by doing shift tab, then which triggers will fire? In what order?

a) Key-Prev-item

b) When-validate-item

c) post-text-item

d) Pre-text-item

e) When-new-item-instance

Example(3) As soon as form open in the memory, a series of navigational triggers are executed.

The sequence of trigger that fire when a form is invoked are as follows-

1. Pre-Form

2. Pre-Block

3. Pre-Record

4. Pre-Text-Item

5. When-New-Form-Instance

6. When-New-Block-Instance

7. When-New-Record-Instance

8. When-New-Item-Instance

14) The difference between when_validate_item trigger and key_next_item trigger in Oracle Forms.

14) WHEN-VALIDATE-ITEM trigger fires to check the value of an item to insure it is valid. The

timing of this event may vary but one of the most common is when the user enters a value and

causes the cursor to try to exit the item by pressing the TAB key or using the mouse to click

elsewhere in the form. This trigger can also fire when then user attempts to leave a record

that has been marked for insertion or change.

KEY-NEXT-ITEM fires only when the user presses the TAB key. You should also note that

WHEN-VALIDATE-ITEM trigger is a restricted procedure, so you cannot use navigation

built-ins (such as GO_BLOCK). There are no such restrictions with KEY-NEXT-ITEM. So we should

not validation code in KEY-NEXT-ITEM.

15) Is forms is a object oriented tool ? why?

15) yes, partially. 1) PROPERTY CLASS - inheritance property

2) OVERLOADING : procedures and functions.

16) What are property classes ? Can property classes have trigger?

16) property class & visual attribute?

Ans: Property Class: A property class is a named object that contains a list of properties

and their settings. Once you create a property class you can base other objects on it.

An object based on a property class can inherit the setting of any property in the class

that makes sense for that object.

Property class inheritance is a powerful feature that allows you to quickly define objects

that conform to your own interface and functionality standards. Property classes also allow

you to make global changes to applications quickly.

Property class assignment cannot be changed programmatically. By simply changing the definition

of a property class, you can change the definition of all objects that inherit properties

from that class.

For example we can create a property class object, with properties mentioned below and attach it

to all the push buttons in the product form.

Name : PClass_Button.

Width : 23

Height: 23

Iconic: Yes

Background Color: Gray

Canvas: Product_can

Visual attribute: Visual attributes are the font, color, and pattern properties that you set

for form and menu objects that appear in your application's interface. Visual attributes can

include the following properties:

1. Font properties: Font Name, Font Size, Font Style, Font Width, Font Weight

2. Color and pattern properties: Foreground Color, Background Color, and Fill Pattern,

Char mode Logical Attribute.

17) Diff. between VAT and Property Class? imp

17) Named visual attributes define only font, color, and pattern attributes;property classes can

contain these and any other properties.

You can change the appearance of objects at runtime by changing the named visual attribute

programmatically; property class assignment cannot be changed programmatically.

When an object is inheriting from both a property class and a named visual attribute, the

named visual attribute settings take precedence, and any visual attribute properties in the

class are ignored.

18) If you have property class attached to an item and you have same trigger written for the

item. Which will fire first?

18) Item level trigger fires, If item level trigger fires, property level trigger won't fire.

Triggers at the lowest level are always given the first preference. The item level trigger

fires first and then the block and then the Form level trigger.

19) What are record groups? Can record groups created at run-time?

19) A record group is an internal Oracle Forms data structure that has a column/row framework

similar to a database table. However, unlike database tables, record groups are separate

objects that belong to the form module in which they are defined. A record group can have

an unlimited number of columns of type CHAR, LONG, NUMBER, or DATE provided that the total

number of columns does not exceed 64K.

Record group column names cannot exceed 30 characters. Programmatically, record groups can be

used whenever the functionality offered by a two-dimensional array of multiple data types is



1. Query Record Group: A query record group is a record group that has an associated SELECT


The columns in a query record group derive their default names, data types, and lengths from

the database columns referenced in the SELECT statement. The records in a query record group

are the rows retrieved by the query associated with that record group.

2. Non-query Record Group: A non-query record group is a group that does not have an associated

query, but whose structure and values can be modified programmatically at runtime.

3. Static Record Group: A static record group is not associated with a query; rather, you define

its structure and row values at design time, and they remain fixed at runtime.

20) What is mouse navigate property of button?

20) When Mouse Navigate is True (the default), Oracle Forms performs standard navigation to

move the focus to the item when the operator activates the item with the mouse.

When Mouse Navigate is set to False, Oracle Forms does not perform navigation (and the

resulting validation) to move to the item when an operator activates the item with the mouse.

21) What is MDI form? how u will attach vertical toolbar in the form?

21) MDI(Multiple Document Interface): Specifies whether the window is a Document window or a

Dialog window. Document and dialog windows are displayed differently on window managers that

support a Multiple Document Interface (MDI) system of window management.

Attachment Of vertical toolbar.

On Microsoft Windows, specifies the toolbar canvas that should be displayed as a vertical

toolbar on the MDI application window. The canvas specified must have the Canvas Type property

set to Vertical Toolbar.

Applies to form

Set Form Builder

Default Null

Required/Optional optional

22) Can object group have a block?

22) Yes , object group can have block as well as program units.

23) What are user-exits? What is Foreign function?

23) It invokes 3GL programs.

Foreign functions are subprograms written in a 3GL programming language that allow you to

customize your Oracle Forms applications to meet the unique requirements of your users.

Foreign functions are often used to enhance performance or provide additional functionality to

Oracle Forms.

In Oracle Forms, you can invoke a foreign function from a user exit interface. A user exit

interface allows you to call a foreign function by using the USER_EXIT built-in from a trigger

or a user-named subprogram. Invoking a foreign function from the USER_EXIT built-in returns an

integer value to Oracle Forms indicating success, failure, or a fatal error. Following the

execution of the USER_EXIT built-in, the values of the error variables in Oracle

Forms--FORM_FAILURE, FORM_FATAL, and FORM_SUCCESS--are set accordingly.

Foreign functions that you invoke from a user exit interface are contained in an Oracle Forms

dynamic link library or linked with Oracle Forms Runform. Creating a user exit interface to

a foreign function requires you to link additional files to Oracle Forms dynamic link libraries

or Oracle Forms Runform. The additional files provide information about the user exit interfaces

and the entry points that allow Oracle Forms to invoke foreign functions from a user exit


24) Can you pass values to-and-fro from foreign function? how?

24) Yes . You obtain a return value from a foreign function by assigning the return value to an

Oracle Forms variable or item. Make sure that the Oracle Forms variable or item is the same

data type as the return value from the foreign function.

After assigning an Oracle Forms variable or item value to a PL/SQL variable, pass the PL/SQL

variable as a parameter value in the PL/SQL interface of the foreign function. The PL/SQL

variable that is passed as a parameter must be a valid PL/SQL data type; it must also be the

appropriate parameter type as defined in the PL/SQL interface.

27) Does user exits supports DLL on MSWINDOWS ?

27) Yes.

28) What is path setting for DLL?

28) Make sure you include the name of the DLL in the FORMS45_USEREXIT variable of the

ORACLE.INI file, or rename the DLL to F45XTB.DLL. If you rename the DLL to F45XTB.DLL,

replace the existing F45XTB.DLL in the \ORAWIN\BIN directory with the new F45XTB.DLL.

29) How is mapping of name of DLL and function done?

29) The dll can be created using the Visual C++ / Visual Basic Tools and then the dll is put in

the path that is defined the registery.

30) what is pre compiler?

30) It is similar to C pre compiler directives.

31) Can you connect to non - oracle datasource ? How?

31) Yes .

32) what are key-mode and locking mode properties? level ?

32) 1. Key Mode: Specifies how oracle forms uniquely identifies rows in the database. This is

property includes for application that will run against NON-ORACLE datasources.

Key setting: unique (default.), udateable, n-updateable.

2. Locking mode: Specifies when Oracle Forms should attempt to obtain database locks on rows

that correspond to queried records in the form.

a) immediate b) delayed

33) What are savepoint mode and cursor mode properties ? level?

33) 1. Specifies whether Oracle Forms should issue savepoints during a session. This property is

included primarily for applications that will run against non-ORACLE data sources.

For applications that will run against ORACLE, use the default setting.

2. Cursor mode - define cursur state across transaction Open/close.

34) What is transactional trigger property?

34) Identifies a block as transactional control block. i.e. non - database block that oracle

forms should manage as transactional block.(NON-ORACLE datasource) default - FALSE.

35) What is OLE automation ?

35) OLE automation allows an OLE server application to expose a set of commands and functions

that can be invoked from an OLE container application. OLE automation provides a way for an

OLE container application to use the features of an OLE server application to manipulate an

OLE object from the OLE container environment. (FORMS_OLE)

36) What are OPEN_FORM, CALL_FORM, NEW_FORM? diff?


OPEN FORM: When one form invokes another form by executing OPEN_FORM, the first form remains

displayed, and operators can navigate between the forms as desired. An opened form can share

the same database session as the form from which it was invoked, or it can create a separate

session of its own. For most GUI applications, using OPEN_FORM is the preferred way to

implement multiple-form functionality.

CALL_FORM: It calls the other form. but parent remains active, when called form completes

the operation, it releases lock and control goes back to the calling form. When you call a form,

Oracle Forms issues a savepoint for the called form. If the CLEAR_FORM function causes a

rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this


When one form invoke another from by executing CALL_FORM, when form A call form B, form B

becomes the active form in the session, but from A remain in memory. If the operator exits from

form B form A again become the active form.

NEW_FORM : When one form invokes another form by executing NEW_FORM, Oracle Forms exits the

first form and releases its memory before loading the new form. Calling NEW_FORM completely

replaces the first form with the second. If there are changes pending in the first form,

the operator will be prompted to save them before the new form is loaded.

37) What is call form stack?

37) When successive forms are loaded via the CALL_FORM procedure, the resulting module hierarchy

is known as the call form stack.

38) Can u port applictions across the platforms? how?

38) Yes we can port applications across platforms.Consider the form developed in a windows

system.The form would be generated in unix system by using f60gen my_form.fmb scott/tiger

39) Can a button have icon and lable at the same time ?

39) NO

40) what is library where do use?

40) A library is a collection of subprograms, including user-named procedures, functions,

and packages. Libraries provide a convenient means of storing client-side program units and

sharing them among multiple applications.

Once you create a library, you can attach it to any other form, menu, or library module.

Then, you can call library program units from triggers, menu item commands, and user-named

routines you write in the modules to which you have attached the library.

The same library can be attached to multiple forms and menus. Conversely, a single form or menu

can have more than one attached library.

41) What is Current record attribute property?

41) Specifies the named visual attribute used when an item is part of the current record.

Current Record Attribute is frequently used at the block level to display the current row in a

multi-record If you define an item-level Current Record Attribute, you can display a

pre-determined item in a special color when it is part of the current record, but you cannot

dynamically highlight the current item, as the input focus changes.

42) Can u change VAT at run time?

42) Yes. You can programmatically change an object's named visual attribute setting to change the font, color, and pattern of the object at runtime.

43) Can u set default font in forms?

43) Yes. Change windows registry(regedit). Set form45_font to the desired font.

44) Can u have OLE objects in forms?

44) Yes.

45) Can u have VBX and OCX controls in forms?

45) Yes.

46) What r the types of windows (Window style)?

46) Specifies whether the window is a Document window or a Dialog window.

47) What is OLE Activation style property?

47) Specifies the event that will activate the OLE containing item.

48) Can u change the mouse pointer? How?

48) Yes. Specifies the mouse cursor style. Use this property to dynamically change the shape

of the cursor.

49) What are the Various Block Coordination Properties?

49) The various Block Coordination Properties are

a) Immediate

Default Setting. The Detail records are shown when the Master Records are shown.

b) Deffered with Auto Query

Oracle Forms defer fetching the detail records until the operator navigates to the detail block.

c) Deffered with No Auto Query

The operator must navigate to the detail block and explicitly execute a query

50) How do you use the same lov for 2 columns

50) We can use the same lov for 2 columns by passing the return values in global values and using the global values in the code.

51) What is the difference between static and dynamic lov

51) The static lov contains the predetermined values while the dynamic lov contains values that

come at run time.

52) Can you issue DDL in forms?

52) Yes, but you have to use FORMS_DDL.

DDL (Data Definition Language) commands like CREATE, DROP and ALTER are not directly supported

from Forms because your Forms are not suppose to manipulate the database structure.

A statement like CREATE TABLE X (A DATE); will result in error:

Encountered the symbol "CREATE" which is a reserved word.

However, you can use the FORMS_DDL built-in to execute DDL statements. Eg:

FORMS_DDL('CREATE TABLE X (A DATE)'). FORMS_DDL can also be used to create dynamic SQL

statements at runtime. The FORMS_SUCCESS built-in can be used to determine if the last executed

built-in was successful.

We can use the FORMS_DDL built-in or call the DBMS_SQL database package from Forms for dynamic

SQL statement.

Eg: FORMS_DDL('INSERT INTO X VALUES (' || col_list || ')');

Just note that FORMS_DDL will force an implicit COMMIT and may de-synchronize the Oracle Forms

COMMIT mechanism.

53) What is the difference between Query->Execute and Query->Enter->Query->Execute?

53) Query->Execute: It will retrieve ALL records from a base table.

In SQL SELECT * from tablename

Query->Enter->Query->Execute: Allows you to select particular tuples of a base table.

SELECT * FROM tablename WHERE condition

54) Are you familiar with all the varieties of search possible in the

Query->Enter->Query->Execute mode?

54) relational operators for comparison, wild cards

55) Are you aware of the different techniques that you can use for the data entry process?


a) You can manually enter a value.

a) You can set up a LOV and select values from the LOV into specified items of a block.

56) What kind of item is item-id? How is it different from other items in the base-table block?

56) The item item_id is a text item whose Navigation Enabled property is set to False.

This property is set to False since the value is not entered by the user but is obtained by

executing some code in the form to automatically generate its value.

57) Is item-id the same as the item labeled TotalValue in the item block?

57) I think they are both text items but the Navigation Enabled property is true.

I believe in this case data entry by the user is also allowed.

If you wanted to make sure there was no data entry from the user or from a program

unit then you can use a Display item instead of a text item.

58) What other kind of special items are supported?

58) radio group, list items, etc.

59) Do you understand the functionality of a LOV?

59) A list of values is similar to a List Box in Access: A user selects one of the data records

from the list, and the selected record values are inserted into one or more data fields on the


For the purchase order, we will create a list box to display the supplier name, city and state.

This will allow the end-user to select the supplier from the list, rather than memorize the

supplier codes.

61) Do you understand how Oracle supports referential integrity based on foreign keys?

61) Through the join condition in the master block and detail block specification.

The forms environment will force you to delete all rows in a detail block that make a

reference to a row in a master block.

62) Do you know how to modify the number of records displayed in a multi-record block?


1) Click on the Block you wish to modify

2) Open the properties window

3) Find the Records Displayed Field and enter in the # of rows.

63) Do you know how to change font, color, etc., for any item?


1) Click on the item whose *** you wish to change (navigator or layout).

2) Choose Format->Font, Color, etc, or do it through properties.

64) What are the two modes available in runtime?


1) Normal -- this is where you do new data entry

2) Query -- this is where you work with existing records

65) What is a trigger?

65) What are the three levels of triggers, and when does each get "fired" or execute?

Item level trigger - fires when a specific item is used

Block level trigger - fires when any item in the block is used

Form - fires when any item in the form is used

66) List three examples of triggers you could use (1 at each level).

Do you understand their functionality?

66) Update a field - item level

Update a record - block level

Filling in all of the fields in the form - form level

67) How do you make an item "read only"?


1) Choose the item

2) Open the properties window and find the field Item Type.

3) Double click on the field until Display Item is shown.

68) What is SECURE property?

68) Hides characters that the operator types into the text item. This setting is typically

used for password protection.

69) Can you store pictures in database? How?

69) Yes , in long Raw datatype.

70) which system variables can be set by users?






71) What are object group?

71) An object group is a container for a group of objects. You define an object group when

you want to package related objects so you can copy or reference them in another module.

72) What are referenced objects? Can you store objects in library?

72) Referencing allows you to create objects that inherit their functionality and appearance

from other objects.

Referencing an object is similar to copying an object, except that the resulting reference

object maintains a link to its source object. A reference object automatically inherits any

changes that have been made to the source object when you open or regenerate the module that

contains the reference object.

73) What are timers ? when when-timer-expired does not fire?

73) The When-Timer-Expired trigger can not fire during trigger, navigation, or transaction


74) What are ALERT?

74) An ALERT is a modal window that displays a message notifying operator of some application

condition. There are three styles od alert: Stop, Caution, and Note.

System Variables

SYSTEM.DATE_THRESHOLD : Represents the database date requery threshold.

Default : 01:00 (Synchronization occurs after one minute of elapsed time.) This does not mean that Form Builder polls the RDBMS once every minute. It means that whenever Form Builder needs to generate the value for the system variables $$DBDATE$$, $$DBDATETIME$$, $$DBTIME$$, or SYSTEM.EFFECTIVE_DATE, it updates the effective date by adding the amount of elapsed time (as measured by the local operating system) to the most previously queried RDBMS value. If the amount of elapsed time exceeds the date threshold, then a new query is executed to retrieve the RDBMS time and the elapsed counter is reset.

SYSTEM.EFFECTIVE_DATE: Represents the effective database date. The variable value must always be in the following format: DD-MON-YYYY HH24:MI:SS

Default: RDBMS date.

SYSTEM.FORM_STATUS represents the status of the current form. The value can be one of three character strings: NEW, QUERY, CHANGED

SYSTEM.SUPPRESS_WORKING suppresses the "Working..." message in Runform, in order to prevent the screen update usually caused by the display of the "Working..." message. The value of the variable is one of the following two CHAR values: TRUE, FALSE

SYSTEM.TRIGGER_RECORD represents the number of the record that Form Builder is processing. This number represents the record's current physical order in the block's list of records. The value is always a character string.

SYSTEM.MODE indicates whether the form is in Normal, Enter Query, or Fetch Processing mode. The value is always a character string. NORMAL, ENTER-QUERY, Enter Query mode.

SYSTEM.FORM_STATUS represents the status of the current form. The value can be one of three character strings: CHANGED, NEW , QUERY.

SYSTEM.MESSAGE_LEVEL stores one of the following message severity levels: 0, 5, 10, 15, 20, or 25. The default value is 0.


When you create a parameter, you specify its name, data type, length, and default value.

To create a parameter:

1. In the Object Navigator, create a parameter.

To create a parameter, select the Parameters node in the Object Navigator and then choose Navigator Create.

2. In the Property Palette, set the desired parameter properties:

In PL/SQL, you can reference and set the values of form parameters using bind variable syntax.

To reference a parameter: Preface the parameter name with the reserved word PARAMETER, as shown in the following examples:

:PARAMETER.parameter_name := 'TOKYO'; OR

:block.item := :PARAMETER.parameter_name;

Canvas Types :

* Content

* Stacked

* Tab

* Horizontal Toolbar

* Vertical Toolbar

Visual Attributes :

Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application's interface. Visual attributes can include the following properties:

* Font properties: Font Name, Font Size, Font Style, Font Width, Font Weight

* Color and pattern properties: Foreground Color, Background Color, Fill Pattern, Charmode Logical Attribute, White on Black

Every interface object has a Visual Attribute Group property that determines how the object's individual visual attribute settings (Font Size, Foreground Color, etc.) are derived. The Visual Attribute Group property can be set to Default, NULL, or the name of a named visual attribute defined in the same module.

There are several ways to set the visual attributes of objects:

* In the Property Palette, set the Visual Attribute Group property as desired, then set the individual attributes (Font Name, Foreground Color, etc.) to the desired settings.

* In the Layout Editor, select an item or a canvas and then choose the desired font, color, and pattern attributes from the Font dialog and Fill Color and Text Color palettes.

* Define a named visual attribute object with the appropriate font, color, and pattern settings and then apply it to one or more objects in the same module. You can programmatically change an object's named visual attribute setting to change the font, color, and pattern of the object at runtime.

* Subclass a visual attribute that includes visual attribute properties and then base objects on it that inherit those properties.

* Create a property class that includes visual attribute properties and then base objects on it that inherit those properties.

About named visual attributes: Setting the Visual Attribute Group property to a named visual attribute defined in the same module specifies that the object should use the attribute settings defined for the named visual attribute. A named visual attribute is a separate object in a form or menu module that defines a collection of visual attribute properties. Once you create a named visual attribute, you can apply it to any object in the same module, much like styles in a word processing program.

Applies to canvas, tab page, item, radio button

Property Classes :

A property class is a named object that contains a list of properties and their settings. Once you create a property class you can base other objects on it. An object based on a property class can inherit the setting of any property in the class that makes sense for that object.

Property class inheritance is an instance of subclassing. Conceptually, you can consider a property class as a universal subclassing parent.

There can be any number of properties in a property class, and the properties in a class can apply to different types of objects. For example, a property class might contain some properties that are common to all types of items, some that apply only to text items, and some that apply only to check boxes.

When you base an object on a property class, you have complete control over which properties the object should inherit from the class, and which should be overridden locally.

Property classes are separate objects, and, as such, can be copied between modules as needed. Perhaps more importantly, property classes can be subclassed in any number of modules.

Menu Item Types

Separator Menu Item :

A separator menu item is displayed as a horizontal line (or other platform-specific visual element), and is useful for visually grouping related items on the same menu. For example, you could use a separator to isolate the radio items of one radio group from other menu items. You must set a separator item's Command Type property to Null. End users cannot select a separator menu item.

Magic Menu Item :

Magic items provide a way to quickly create menu items for standard functions available in most GUI applications. Form Builder provides the following magic item types: About, Copy, Clear, Cut, Paste, Help, Quit, Undo, Window.

Plain Menu Item : Default menu item.

Radio Menu Item

Check Menu Item

SONATA Questions:

Sonata Question

3. What is cursor? Types, which cursor u defined?

4. placeholder columns

Ans: A placeholder is a column for which you set the data type and value in PL/SQL that you define. You can set the value of a placeholder column in the following places:

· the Before Report Trigger, if the placeholder is a report-level column· after report-level formula column, if the placeholder is a report-level column a formula in the placeholder's group or a group below it (the value is set once for each record of the group)

5.what are the user exist and types of user exist?

Ans: A user exit is a program that you write and then link into the Report Builder executable or user exit DLL files. You build user exits when you want to pass control from Report Builder to a program you have written, which performs some function, and then returns control to Report Builder.

You can write the following types of user exits:

· ORACLE Precompiled user exits

· OCI (ORACLE Call Interface) user exits

· non-ORACLE user exits

You can also write a user exit that combines both the ORACLE Precompiled interface and the OCI.

User exits can perform the following tasks:

· perform complex data manipulation

· pass data to Report Builder from operating system text files

· manipulate LONG RAW data

· support PL/SQL blocks

· control real time devices, such as a printer or a robot

You can use user exits for other tasks, such as mathematical processing. However, Oracle Corporation recommends that you perform such tasks with PL/SQL within Report Builder.

7-.Multi-org concepts? How u will u come to know that ur working on multi org concept?

Ans: Use a single installation of any oracle applications product to support any number of organization use different set of books.

We will go to view the table called FND_PRODUCT_GROUPS in which the column name MULTI_ORG_FLAG is 'Y then we can say that we r working on multi org concept.

10.What is Chart of accounts?

Ans: A complete listing of the accounts to identify specific accounts to be increase or decrease.

11.New Form ,call form and open form?

12. What r system parameter in reorts tell me the name of those?

Ans: BACKGROUND Is whether the report should run in the foreground or the background.

COPIES Is the number of report copies that should be made when the report is printed.

CURRENCY Is the symbol for the currency indicator (e.g., "$").

DECIMAL Is the symbol for the decimal indicator (e.g., ".").

DESFORMAT Is the definition of the output device's format (e.g., landscape mode for a printer). This parameter is used when running a report in a character-mode environment, and when sending a bitmap report to a file (e.g. to create PDF or HTML output).

DESNAME Is the name of the output device (e.g., the file name, printer's name, mail userid).

DESTYPE Is the type of device to which to send the report output (screen, file, mail, printer, or screen using PostScript format).

MODE Is whether the report should run in character mode or bitmap.

ORIENTATION Is the print direction for the report (landscape, portrait, default).

PRINTJOB Is whether the Print Job dialog box should appear before the report is run.

THOUSANDS Is the symbol for the thousand's indicator (e.g., ",").

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

Note that formula column should not used in set value for the parameter .

15. How u create library in form?

19.How u customize a report tell me the step and what changes u have made?

20. Use of query find and how will u used it

21.Use Of Format_Currency User Exit

it used for currency conversion






1. What is Attributes in securities attribute tab page under user form?

2. Menu Exclusion in responsibilities form.

*This is to exclude menu options and even some of the menu sub options.

3. What menu to select for account receivables & Payable.

a. *AR_NAVIGATE_GUI for receivable

b. *AP_NAVIGATE_GUI12 for payable

4. What is Rollup Group in segment (account).

*Roll up is used for the total for the group that is required to be defined and attached with the chart of accounts.

*Account - Summary - template - for template we select segments and define whether we want summary or details or parent level. This is used in reports and inquiry. This make the accessibility faster and if required then only the user can drill down to details.

5. Can we define more Flex field Qualifier? Such as Natural Account, cost center

Inter-company, Balancing.

*No we cannot create more because it is system defined. In case of project defined as a segment below company that time it is not necessary to add any qualifier to it.

6. Can we define balancing attribute to more than one segment. Balancing does what actually. What if we include project based accounting practice.

*No, Project segment need not to be attached with any of these qualified.

7. What is Data Group that is attached with the Responsibilities?

*It is required to Attached, which Product Top should be attached with the responsibility.

8. Can we define some more categories that we always select as ‘Adjustment’ while entering Journal?

*The user can define categories.

9. Can the user define source?

*Sources can also be defined.

10. Can sequence be related with the source for auto numbering not at application level but for the particular transaction? For example auto number required for Invoice or Cash Transaction.

11. Should we disable the structure if we want to change the structure with removing some segment or adding some segment? Whether ID_FLEX CODE AND ID_FLEX_STRUCTURE_CODE will be generated again.

*After capturing data segment should not be added in between it could be added as last segment.

12. What all profile option should be set for A/R & A/P

*Find for AR: % & AP: %

13. Why Profile need to be define after creating set-of-books.

14. From where we can get all the information about the user profile option.

15. Whether necessary to define more than one set of books for multi organization scenario.

16. The company terms used in oracle apps is it for branches or could it be operating unit as well.

17. Can we define multiple operating units for one legal entity?

18. First always create company.

19. Create Legal entity - (Set of books / VAT No.)

20. How to define document sequence for a specific transaction such as invoice, JV,

Purchase etc.

21. How to define Sub-G/L Account. For example Telephone expense in respect to the connection number or Vehicle Expense in respect to the Vehicle Numers etc.

22. Why Open close accounting period in AR is given.

23. Where to define Account segment for AR

24. Can’t we define type of control account for the customer to be debited i.e, different sundry debtor’s a/c.

25. What is validation rule required for FLEXFIELD segment values.

26. How can we customize default account generator process.

27. Usage Flexfield Summary flag

28. How to define workflow for any of the business process so that it can be initiated.

29. Statistical Unit of Measurement

30. Usage of Average Balancing Processing. What is average balancing enabling

31. Why System and Personal profile option is given.

32. Intercompany imbalance account posting to which gl account where to set it.

33. Why zero amount payment is required to be made in payables

34. Whether payables accepts payment without invoice or some invoice has to be made such as prepayment

KPIT Questions:

1. Do we need to remove dynamic insert while migrating flex filed from application older version. Preferable it should be off.

2. What is Cross Validate rule and Security validation Rules

3. What are types of Value set or Validation Types.

4. What are Currency types that are used in Journal.

5. How we define mass allocation. How we use formula. What all columns given on the screen.

6. How many MRC Multi Reporting currency you can define.

Ans: Up to 9 we can define

7. What is the first screen you see immediately after logon after setting up multi organization.

8. What do mean by Balancing Segment.

Ans: Balancing mean your accounting transactions debit and credit should be matching always at that particular level i.e., at Company segment level.

9. In which General Ledger Balance are stored. - GL_BALANCES

10. What are the setup steps for Accounts Payables.

11. Can you define more than one suspense account? Yes we can

Ans: We can define more than one suspense account. Go to General Ledger - Setup - Accounts - Suspense.

12. How Head count based Mass Allocation Journal can be created.

Ans: Statistical Unit of Measure: Setup - Accounts - Units

Enables you to setup accounts to store statistical balances. This allows you to, for instance, tie a statistical balance call headcounts to your payroll account.

13. How to restrict one report to only on Operating Unit where as there are many Operating Units.

14. FSG - Financial Statement Generator. Can you make changes and how.

15. What is basic difference between key flexfield and descriptive flexfield.

Ans: Flexfield is mandatory where as DFF is not

Flexfiled have flexfiled and segment qualifier where as DFF has Flexfield

Flexfield uses Segment fields where as DFF uses Attributes fields.

DFF can be context sensitive where as KFF not.

16. Operating Unit level report not to be shared by other Operating Unit.

Ans: MO: Top Reporting Level option of system profile has to be set with Operating Unit at Site Level. Request Group attached to the responsibility. Responsibility is attached with the users. There can be more than one responsibility that can be attached with the users. That each responsibility has menu, data group and request group attached. In that request group attach that particular report. Can also specify operating unit for MO: Profile option MO: Top Reporting Level - Set of Book / Legal Entity / Operating Unit.

17. AR Interface and its steps

18. GL Interface and its steps. How to use Util file.

How to define security group and attached in the profile option?

How to define business group?

How to associate responsibility to the business group?

Site Means what?

How to define Organization relationship?

How to define inter company relationship?

How to run multi org setup validation report?

Defining Location for organization, Legal Entity and Inventory Organization.

What is Set of Books?

Ans: SOB keeps track of all financial records. It consists of three C’s i.e., Char of Accounts, Currency and Calendar.

What are amount types?

Ans: PTD, QTD, YTD, PJTD (Project to Date).

What are Currency Types:

Ans: User, Corporate and Spot

TCS Questions:

2. How many reports have you customized?

5. What all client you have handled. (Name of client and Name of end client)

9. Was the report customization based on Indian localization.

10. User exits in Reports and their functionality and sequence.

11. What is Format Trigger in Report.

12. How many reports have you developed from scratch.

13. Lexical reference in 6i and in oracle apps report customization.

14. What was the width of reports (132/45, 180/45)

15. How many forms have you customized.

16. What all interfaces have you done. (Journal Import/Customer/AP).

17. Which legacy system your client was using.

18. What were the general steps for the interface you have done.

19. What all validation in in-bound payables open interface.

20. Base tables affected in AP interface.

21. Validation columns belong to which table.

22. What is error file form?

23. Inventory report customization for what type of inventory.

24. KFV & DFV contains what

25. From where you will get gl_code_combination_id, Accounted_Dr and Accounted_CR from which table.

26. From where you will get vendor ID. (po_vendors)

27. What are the information your dat file. (related to supplier)

28. What is difference between delete and truncate.

29. After delete statement used create statement whether rollback will work or not.

30. What is REF cursor.

31. How many cursors we can used in one PL/SQL Block. (300)

32. If cursors cross the maximum limit then what error message is flashed.

(Too Many cursors)

33. Fetch and Closing the cursor without opening it. (Invalid cursor when closing an unopen cursor)

34. What is advantage of Ref cursor over simple cursor.

35. What is percent rowtype. (it is cursor attribute)

36. a emb%rowtype column called address if want to display address what should be the code for it. (select * into a from emp where…..)

37. What is PL/SQL tables. (Index on table, Nested Blocks)

38. Which PL/SQL table you frequently used.

39. Have you used dynamic sql in your work.

40. What all supplied PL/SQL packages are.

Ans: DBMS_OUTPUT Accumulates information in a buffer so that it can be retrieved out later.

UTL_FILE Enables your PL/SQL programs to read and write operating system text files and provides a

restricted version of standard operating system stream file I/O.

41. What is the function of DBMS_OUTPUT.

42. Tax basis system module that you have made what you have done for the same whether it was module or product.

43. Do you have any knowledge about taxes.

44. Your own rating for PLSQL/ SQL/Reports/Forms/ Oracle financials

ZENSAR Questions:


1) How will u register rdf file and run it? Tell the Sequence?

2) What are different types of value sets?

3) What is translatable Independent & Dependent?


4) What are dbms packages with some example?

5) What is package?

6) What is pragma?

Ans: Pragma is a Compiler Directive.

7) What is SQL Tunning?

Ans: Tunning are done either RULE base or COST Base


8) How many different layouts are in Reports?

Ans Frame, repeating frame, fields, boilerplate

9) In which sequence report trigger will fire?

10) Suppose I have 5 pages report. On which page between page trigger will not fire?


11) In which sequence form level trigger will fire ?

12) User B has locked the table and User A update same table through form and give commit what will happened?

ZENSAR Questions:

1. If used normal table with having _ALL then how to make report run for particular Operating unit.

2. How you can see the records from the _ALL tables if it does not show the records.

3. How you can create parameters that is depend on the value entered in the previous parameter.

4. Steps for new form customization.

5. Custom.pll for ZOOM which trigger u will use.

Ans: ZOOM trigger as given in APPSTAND. Code in the trigger is appcore_custom.event ('ZOOM');

ZOOM_AVAILABLE function of Custom package (of Custom.PLL) is called on a per-block basis within every Applications form from the WHEN-NEW-BLOCK-INSTANCE trigger. Therefore, any code that will enable Zoom must test the current form and block from which the call is being made.

6. Which trigger to fire to save the record.

Ans: Accept Form level trigger will be fired. It has code APP_STANDARD.EVENT(‘ACCEPT’). This Accept procedure is given in the App_standard package of APPCODE Library.

7. Which API is used for hiding the column on the form.

Ans: APP_ITEM_PROPERTY2.SET_PROPERTY (It is package procedure) of APPCORE2.

app_item_property2.set_property(’user.description’, REQUIRED, PROPERTY_ON);

8. What is the name of DFF stored as a view in Apps.

Ans: Same the name of the table with extention of _DFV.

9. What is translation and consolidation in GL

10. What is Encumbrance Accounting.

11. Types of Budgets - Absolute, Advisory and None that is defined in budget control group.

12. How you can still post the journal that is exceeding absolute type of budget.

13. Steps to Register the Report. Whether Token is necessary.

14. What is Multi Org and How your report work for particular operating unit.

15. What is precedence if you set the option in profile for all the level (SARU).

Satyam Questions:

1. FORM customization Steps

2. If record is added it has to be saved in the table then which trigger has to be fired.


This trigger processes invocation of the ”Action, Save and Proceed” menu choice or toolbar button. It saves and moves to the next record of the block specified as the First Navigation Block. Replace the code in this trigger, or create block-level triggers with execution style ’Override’.

- do_key('COMMIT_FORM'); This is one of the code line in procedure accept called from event procedure. This is used to commit the record.

3. How you will hide the column on the forms

Ans: Use APPCORE2 Library procedure APP_ITEM_PROPERTY2.Set_Property.


4. Custom Library is used for what. Which event is fire for ZOOM functionality.

Ans: ZOOM Event is fired. Zoom event will have code appcore_custom.event(‘ZOOM’);

5. In which library you have added code and why.

6. What is $Flex$

7. Have you used AOL and SYSAD, why used.

8. Autonomous Transaction - Example in Apps.

9. Report Triggers and Sequence. Any Complex report you have customized.

10. What is SQL - Sub Query and Co-Related Query, Example.

11. What is Materialized View

12. Advance PLSQL - Exceptions, Pragma Exceptions

13. Why use explicit cursor.

14. What is Ref Cursor

Ans: Data type of cursor variable is REF CURSOR.

Concept: To execute multirow query, oracle opens a work area. To access this work area we can use explicite cursor or you can use CURSOR VARIABLE.

Explicit: will have access to fixed work area. As, it is linked to only one query.

CUR Variable: can have access to multiple work area.

CURSOR VARIABLE: is used to pass query result set between subpro and client.

It reduces network traffic having multiple cursor variables in one PLSQL block.

Ans: What are PLSQL Table

15. What are Cursor Attributes

ANS: A cursor can take parameters, which can appear in the associated query wherever constants can appear. The formal parameters of a cursor must be IN parameters. Therefore, they cannot return values to actual parameters. Also, you cannot impose the constraint NOT NULL on a cursor parameter.

As the example below shows, you can initialize cursor parameters to default values. That way, you can pass different numbers of actual parameters to a cursor, accepting or overriding the default values as you please. Also, you can add new formal parameters without having to change every reference to the cursor.




Passing Cursor Parameters

You use the OPEN statement to pass parameters to a cursor. Unless you want to accept default values, each formal parameter in the cursor declaration must have a corresponding actual parameter in the OPEN statement. For example, given the cursor declaration


emp_name emp.ename%TYPE;

salary emp.sal%TYPE;

CURSOR c1 (name VARCHAR2, salary NUMBER) IS SELECT ...

any of the following statements opens the cursor:

OPEN c1(emp_name, 3000);

OPEN c1(’ATTLEY’, 1500);

OPEN c1(emp_name, salary);

TCS Questions: 29.05.2005


1. If Purchase Invoice amount sent by the supplier is more than the PO amount and Invoice has to be passed by invoice amount only. How this can be achieved.

Ans: Manually Release the hold by going into the invoice hold option

2. What all elements is set for the responsibilities. What is data group?

Ans: Menu, Data Group and Request group are attached with the responsibilities. Data group is a either your data of your functional currency i.e., standard group or Multiple Reposting currency data group with application name you want to attach for the responsibility.

3. How you will hide the button Site on the Supplier master form.

Ans: A restricted list of functions a user can perform. For example, two responsibilities may have access to the same window, but one responsibility’s window may have additional function buttons that the other responsibility’s window does not have.

4. When can you make payment for the supplier invoice weather at the time of receipt of material or after receiving invoice only.

5. Payment due days if 30 days means will it be from invoice date or material receiving date.

Ans: Due days calculation is based on what you set up in the PAYMENT tab window of Supplier Master form. It has Four options:

1. Goods Received

2. Invoice

3. Invoice received

4. System

6. Where do you define matching option for purchasing.

Ans: This is also defined in the supplier master form under tab ‘Control’ window.

Two options are given as Purchase Order or Receipts. In receiving tab define whether it is 2 way, 3 way, 4 way match.

7. What happen if price is varying in PO and Invoice how you will resolve it.

8. What is security type and Cross-validation rules.

Ans: There are two ways security can be defined. One at individual segment level and One for the entire code combination. Security type with hierarchical security / non-hierarchical / no security is defined in the value set going to be attached with the individual segment. Here you exclude the segment value which user will not see at time of transaction capturing. Where are Security rule is defined including and excluding the entire code combination which will be seen at the time of transaction and if excluded combination is selected then user define message will appear. In both the case security rule is required to be defined.

Security defined for segment is assigned to your application and responsibilities.

Security rule defined for application, structure and flexfield title with inclusion and exclusion.

9. Can you modify the segment value after the data capturing. How you can do that. Is it necessary each time you modify to compile the flexfield.

10. What posting is done at time of Receipts of material or Purchase Order match directly with Invoice without the receipt consideration.

11. Where you will define Matching options. Is it required to define for all the suppliers or it comes as default. From where it default the setting.

12. What is the Architecture of the entire multi Org in Oracle apps.

13. In purchasing Receipts of the inventory is stored at what level in Multi Org setup.

14. Can you match invoice directly with the purchase order without matching with receipts.

15. What do you mean by Legal entity. What is Multi Org hierarchy.

16. What is Auto Accounting.

17. What are elements of SOB. What all you define in SOB.

18. What is MRC.

19. If required to change the currency after capturing the Transaction How it can be done.

20. Have you used autolockbox. What for it is used.

21. How much minimum and maximum segment you can define in apps.

ANS: At least one segment is required except in Accounting flexfields,

Define your Accounting Flexfield segments. You can define up to 30 segments for your account structure. You must define at least two segments for your account structure, one for the balancing segment and one for the natural account segment (the two required flexfield qualifiers).

Value sets for the Accounting Flexfield must be independent, table, or dependent-type value sets. Do not use value sets with a validation type of None for the Accounting Flexfield.

The Accounting Flexfield requires consecutive segment numbers beginning with 1 (such as 1, 2, 3, ...).

22. Which flexfield qualifier is compulsory.

Ans: Balancing segment and Natural account segment

23. How you will enter Item for an invoice.

24. Can you modify the structure of the key flexfield any time later.

Ans: It is recommend that you plan your flexfields as completely as possible, including your potential segment values, before you even begin to define them using Oracle Applications forms. Once you begin using your flexfields to acquire data, you cannot change them easily. Changing a flexfield for which you already have data may require a complex conversion process.


1. Where Customer information get stored in table. Where Customer Number get stored. Tell base tables.

Ans: AR_CUSTOMER, RA_CUSTOMER_PROFILE. Customer_Number is the Field where Customer number will get stored.

2. How will you come to know that the set up is having multi organization.

Ans: Fnd_product_group.Multi_org_flag is set to ‘Y’

3. How many types of exceptions are there.

4. How you will include no data found system defined exception. Write PLSQL Block and show.

5. When exit is used in the loop which is existing with in upper loop. Where control will go it exit is done.

6. What for Custom.pll is used.

Ans: To customize the form.

7. What is before report trigger?

8. How many triggers are there in forms. At what all levels.

9. Write one PLSQL Block. How you will call another procedure with in this block. How you will write code for GO TO statement.

10. Where Customer Invoice information will get stored.

11. Where Supplier invoice information will get stored.

12. What are types of Cursors. How does those works.

Ans: Implicit Cursor and Explicit Cursor. Cursor is used to handle multiple row query in PL/SQL. Oracle uses implicit cursor to handle all its queries. Oracle uses unnamed memory spaces to store data used in implicit cursor. Explicit cursor will point to the named memory space like a pointer.

13. How many types of Execution Methods are there for report.

14. What is Concsub.

ANS: Concsub is a executable run from the command line of operating system to submit the request.

15. If you have to Run and shell scripts which execution method will you select.

ANS: Host Your concurrent program is written in a script for your operating system.

Spawned Your concurrent program is a stand-alone program in C or Pro*C.

Alliance Interview questions:

1. GL Interface Validation.

2. What are step you had followed for GL interface.

3. What are problem you have faced during interface.

4. What is the name of the table storing error occurring at the time of GL interface.

Ans: There is no error table for GL interface. In case of Error records remains in the GL interface only. If you want you can correct and delete records from GL interface table from Journal - Import - Correct / Delete.

5. How will you copy file from the client server to your server.

Ans: Using TOAD and FTP option connect to the server with logon and password


6. What is syntax of REF CURSOR.

7. How you will make report to run in Multi Organization environment.


(According to the interviewer there is other easy way also)

8. What are system parameters in Report builder.

9. What is Place holder column and What is Formula Column

10. How you will execute C/C++ Program in Oracle apps. Which executable method will be selected?

Ans: Spawned

11. What is Org_id and What is Organization_id

Ans: Org_id store id for Operating unit and Organization_id stores id for inventory Organization.

12. What do you mention in the declare section of PL/SQL Block.

Ans: Declaring identifier, cursors and exceptions

Functional (GE: Questions)

1. It is necessary to define Operating unit, if user want to use only GL module.

Ans: If client using only GL then no need of Multi Org setup or to define Organization hierarchy. One operating unit has to be there for user to logon and have default operating unit.

2. It is necessary to have Business Group for single Company.

Ans: It is not necessary where as if required can define or within Business Group all other Organization can be created such as HR, Legal Entity, Operating Unit and Inventory Organization.

3. What is difference between SOB and Operating Unit.

· Ans: A Set of Book is a financial reporting entity that partitions General Ledger information and uses a particular chart of accounts, functional currency, and accounting calendar. This concept is the same whether or not the Multi-organization support feature is implemented.

· Where as Operating Unit is a organization for which you have to attach the SOB to capture day to day transactions for Purchasing, Selling, Fixed Asset, Payable, Receivables.

4. What is Reporting SOB & What is Translation. What is difference

Ans: General Ledger's Multiple Reporting Currencies (MRC) feature is used

to convert amounts from your functional currency to a reporting currency at

the transactions level.

Translation: General Ledger's translation feature is used to translate amounts from your functional currency to another currency at the account balances level.

For example, an organization with a once-a-year need to translate their financial statements to their parent organization's currency for consolidation purposes, but no other foreign currency reporting needs, should use General Ledger's standard translation feature instead of MRC.

5. In what scenario you would suggest Reporting SOB and Translation.

Ans: If client want to have transaction level access that time we would suggest Reporting SOB. If client is interested only in final reports such as trial balance, profit and loss statement and Balance sheet then that time we would suggest Translation because translation is used to translate amount at the account balances level.

6. Why and when revaluation is done.

7. What is Control Account. What are those control account that you define..

8. Can you modify it before posting it to GL. Can you see records after importing from the Payables or Receivables. Can you modify them before posting.

9. After importing transaction from AP in GL can you modify control account before final posting.

10. What is Payable Control Account.

11. What is Credit memo and what is Debit Memo. What is difference. Can you adjust both against the invoice.

12. What is Payments, in payables. What at various stages when payment against the supply can be made.

Path-Infotech Questions:

1. What is Credit Memo and Debit Memo

Ans: Credit Memo. Negative amount invoice created by a supplier and sent to you to

notify you of a credit.

Debit Memo. Negative amount invoice created by you and sent to a supplier to

notify the supplier of a credit you are recording.

Credit memos and debit memos must be entered with negative amounts. All

match amounts must be negative as well. In Oracle Payables and Oracle

Projects, a document that partially or fully reverses an original invoice.

2. What are Calendar types

a. Any customized Calendar have you used.

Ans: For Inventory, For Aging, For Budget we had defined (user-defined) Calendar.

3. What challenges you faces creating or developing Oracle Reports.

4. Are you aware of the PTP and OTC cycle and its integration and postings.

5. What are Payables setup steps.

NRB Bearing:

1. What is Multi Org. Explain with some example.

2. What would you do if we have another branch in china.

Ans: Separate Operating Unit has to be defined for this new branch.

3. How will you come to know that whether the installation is for multi org or not.

Ans: Select multi_org_flag from fnd_product_groups (It this shows as ‘Y’ it means it is a Multi Org enabled)

4. Can you go for multi organization in between.

Ans: Yes, we can go for it between.

The Convert to Multi-Org program is an option available in ADADMIN. This task converts a standard product group into a Multi-Org product group. You can choose this option only if you do

not already have Multi-Org installed in your database and if you do not currently have Multiple Sets of Books Architecture installed in your database.

Before running this step, you must define at lease one operating unit and set the site-level profile option MO: Operating Unit.

The Convert to Multi-Org program does the following:

• Populates the ORG_ID column with the new operating unit you defined at the site level profile option MO: Operating Unit.

• Sets ORG_ID to NULL for records that are shared seed data.

• Sets the MULTI_ORG_FLAG in the FND_PRODUCT_GROUPS table to Y. The Convert to Multi-Org option is not displayed on the Database Objects menu if this flag is set to Y

• Runs the replicate seed data program. If you define additional operating units, the seed data is replicated for all operating units.

5. What is organization_id and what is org_id

Ans: Term Organization id is used for inventory organization and org_id is used

for operating unit

6. What all modules are impacted by multi org. whether FA will be impacted or not.

Ans: AP, AR

7. What is balancing segment.

Ans: Balancing segment is one of the flexfield qualifier which is a must to assign for Level where we want that at any given point of time debit and credit total should match.

8. What transactions are captured in operating unit level and what at inventory organization level.

Ans: An organization that uses Oracle Cash Management, Order Management and Shipping Execution, Oracle Payables, Oracle Purchasing, and Oracle Receivables. Information is secured by operating unit for these applications. Inventory organization captures Oracle Inventory, Bills of Material, Engineering, Work in Process, Master Scheduling / MRP, Capacity, and Purchasing receiving functions

9. Why Master item is created at what level and why that is required.

Ans: Master item is created at operating unit level. For transactions, inventory organization is selected. This is required to make order processing centralized.

10. What do you mean by API and what for it is used in Oracle Apps.

Ans: API means Application Programming Interface and in apps it is used for

interfaces from legacy system.

11. How many types of Purchase Order are there.

Ans: Following are types

i. Standard

ii. Blanket

iii. Contract

iv. Planned

12. What do you mean by planned purchase order.

Ans: A planned purchase order is a long-term agreement committing to buy items or services from a single source. You must specify tentative delivery schedules and all details for goods or services that you want to buy, including charge account, quantities, and estimated cost.

13. What do you mean by blanket purchase order.

Ans: You create blanket purchase agreements when you know the detail of the goods or services you plan to buy from a specific supplier in a period, but you do not yet know the detail of your delivery schedules. You can use blanket purchase agreements to specify negotiated prices for your items before actually purchasing them.

14. Once these two purchase orders are prepared what is the next step.

Ans:You issue scheduled release and blanket release against a planned purchase

order to place the actual orders.

15. What is approval hierarchy for Purchase Order.

Ans: Position and Employee. If HR Module is not installed then only employee option is used

16. What is step before to transfer invoice from payable to GL.

Ans: Create invoice, Validate it and create accounting by going into Action1 button options.

17. When component is produced at shop floor what accounting entry will take place. When finished good will be accounted for. What would be the value of FG at that time.

Ans: FG will have cost without profit margin and this will accounted when the

Finished components are moved from WIP to Finished goods location or bonded


18. How costing take place when you manufacture component.

Ans: On the basis of your costing method th cost of input components get

accumulated as per the BOM.

19. How would you resolve when the excise amount is not getting calculated properly or some times zero excise it is showing and still invoices are prepared and printed.

Ans: Alert can be created, because we know that the item is excisable and amount

column must be > zero. If it is calculated incorrectly then verify the function that

is calculating the excise amount.

20. What steps will you follow if you will find that accounts are not getting reconciled?

Ans: Before transferring data from other modules to GL, reconciliation report has to be verified. For example AR Reconciliation report is available. If reports are not available that it has to be created. Also look into the suspense account it is created and showing any entries for that particular period.

Also if at company level accounts are not reconciled then you can use you can use Flexfield Value Security rules to restrict data entry of balancing segment values by legal entity or operating unit.

21. Can you stream line if our excise accounts are not reconciled?

22. What do you mean by Approved supplier.

23. What is hierarchy of PO approval

Deloitte: Sanjay Ghade (09.06.2005)

1. How will you derive second highest salary from the emp table

Ans: select max(sal) from emp where sal < (select max(sal) from emp)

For third highest salary

select max(sal) from emp where sal < (select max(sal) from emp where sal < (select max(sal) from emp))

2. what is the functionality of the service contract module?

3. wht is your role in service contract?

4. wht is the purpose u have to develop an interface?

5. what are the different tables involved in it?

6. wht information provides the okc_k_headers_b and okc_k_lines_b(columns)?

7. How the values comes from siebal to OM TO sERVICE cONTRACT?


9. HOW THE billing and pricing u have done in service contract?

10. is it comes from OM or ORACLE pricing?

11. How u have done the renewals in Service contract?

12. cycle of the Renewals in service contract?

13. what is active contract in service contract?

14. How the workflow process done in service contract?

15. how the exceptions are handled in pl/sql?

16. what will happen if we write when others first and then no_data_found in exception blk?

Ans: Compilation Error at the time of compilation itself.

17. what is multi-org?

Ans: Capture transactions for multiple organizations using single installation of oracle application.

18. what is the query that we can say that multi-org is installed in apps?

19. wht is AIM metodologies?

20. wht is user_exit & it's types?

21. name with seq of report triggers?

22. wht is flexfield ,it's types,where it is stored (tbl and col's)

Ans: Flexfiled is a unique identifier, consists of one or more segments to capture information as per the business requirements. There are two types of flexfields, Key flexfield and Descriptive flexfield. It is stored in fnd_flex_values, fnd_flex_values_tl,

Fnd_id_flexs, Fnd_id_flex_segment, fnd_id_flex_structure

23. how u delete user from apps environment?

Ans: We can not delete due to Audit Trail Purpose. We can change the effective date.(from date To date) Given date from when you want user to be disabled

24. wht is placeholder column in report?

Ans: A placeholder is a column for which you set the data type and value in PL/SQL

that you define. You can set the value of a placeholder column in the following


1. Before Report Trigger, if the placeholder is a report level column.

2. A report level formula column, if the placeholder is a report-level column

3. A formula in the placeholder’s group or a group below it (the value is set once for each record of the group)

25. how i can have multiple layout in one report?

Ans: Using Additional Default Layout tool bar option. Select it and click it below the existing layout it will show you wizard that can be used to create another layout.

26. wht is Db trigger and sored procedure?

27. wht is the mode in flexsql user_exit?

28. wht is lexical parameter?

AR Report

Find out what is revenue accounting in AR

HCL HR interview (1st Round interview)

1. Have you done effort estimations

2. Have you done customization

3. How do you ensure quality in your project

4. Apart from project management what all you have done

HCL Interview questions: (2nd Round interview - Functional)

1. How do you manage the project

2. Have you done effort estimation and how.

Ans:Effort estimation is done based on complexity factor that we define for each objects to be customized or created. We can also refer MD.020 where in guide line is given.

3. What method do you follow in your project.

Ans: AIM

4. What are different phases that you have in your project.

Ans: Definitions, Operation Analysis, Solution design, build, transition and production

5. What all methods are followed right from the beginning in the implementation projects.

6. What is quality? What do you do for quality?

Ans: Review, minimize rework and errors at each level, Testing, ensure trace ability through proper documentation

7. What is Auto Accounting. Is it required?

Ans: Yes it is required. Define AutoAccounting to specify how you want Receivables to determine the general ledger accounts for transactions that you enter manually or import using AutoInvoice. Receivables creates default accounts for revenue, receivable, freight, tax, unearned revenue, unbilled receivable, finance charges, bills receivables accounts, and AutoInvoice clearing (suspense) accounts using this information

8. What is Commitment in AR?

Ans: A contractual obligation to purchase a specified amount of goods or services

over a predefined period of time. Commitment is a type of transaction. Guarantee and Deposit are two types of commitment in Oracle Receivables.

Deposits: Create a deposit to record a customer’s prepayment for goods or services that you will provide in the future.

Guarantees: Create a guarantee to record a contractual agreement with your customer to conduct business over a specified period of time.

9. What is consolidation? What if transaction is modified after consolidation?

Ans: Consolidation is a process of merging financial information from subsidiaries to Parent Company to extract the consolidated financial position of the company. It can be done a summary level or detail transaction level.

10. What all invoices in AP

Ans: Standard invoice, Credit memo, Debit memo, Employee expense report

PO default standard invoice (In case increase in price), Prepayment and advances

Quick match standard invoice, Withholding tax invoice, Mixed Type Invoice

11. Why you make prepayment invoices.

Ans: For making payment before the material is delivered or invoices for payment is booked. Payment made on account in advance.

12. What accounting entries take place at time when you make prepayment invoices.

Ans: Prepayment Expense a/c Debit

To Payable a/c Credit

13. What do you consider to create key flexfield for client if chart of account does not exist? How many minimum segments are required in accounting flexfield.

Ans: Structure i.e, name and number of segments required, data type, width, validation etc. Two segments are must namely for balancing segment and natural account segment.

14. What is Balancing segment.

15. What if your client wants to have petty cash book, how would you handle it.

16. Steps to close the period.

Ans: For closing accounting period:

1. Navigate to the Open and Close Periods window. General Ledger displays all accounting periods defined for your calendar with the period type of your set of books.

2. Select the open period that you want to close.

3. Enter a new status for the period.

· Enter Closed to prevent entering or posting journals to that period. You can reopen a closed period at any time.

· Enter Permanently Closed to prevent entering or posting journals to that period. You cannot reopen a permanently closed period.

4. Save your work.

HCL Technical questions (3rd Round interview - Technical)

1. Procure to pay cycle all affected tables.

2. Order to cash cycle all affected tables.

3. What are AP tables.




4. What is stored in AP_PAYMENT_SCHEDULES_ALL table

Ans: Date wise scheduled payment for the invoices in other words Scheduled

payment information on invoices. AP_PAYMENT_SCHEDULES_ALL contains information about scheduled payments for an invoice. You need one row for each time you intend to make a payment on an invoice. Your Oracle Payables application uses this information to determine when to make payments on an invoice and how much to pay in an automatic payment batch.

5. Where payment details will get stored for the invoices in AP.


AP_INVOICE_PAYMENTS_ALL contains records of invoice payments that you made to suppliers. There is one row for each payment you make for each invoice. There is one payment and one invoice for each payment in this table. Your Oracle Payables application updates this table when you confirm an automatic payment batch, enter a manual payment, or process a Quick payment. When you void a payment, your Oracle Payables application inserts an additional payment line that is the negative of the original payment line.

6. Custom.pll Events

7. How will you customize the check printing. Which program you will modify and how. Is there any setup required as pre-requisite.

Ans: Copy existing standard check printing report. Customize it as per the required format. Define new format go into Setup - Payment - Program option. Select type as Format Payment (out of the given choice of Build Payment / Format Payment / Remittance Advice). Then select the required customized report for above choices.

Now go to Setup - Payment - Format option - Define new format name Give Payment method such as check, clearing, wire, electronic, Give currency, give number of invoices, Attach predefined programs here such as build payments, Format Payments and Separate Remittance.

Finally Attach Payment format with individual bank account. Go to Setup -

Payment - Bank option.

8. What are steps involved in new form development.

9. Is there any restrictions in Events to be passed to the Custom.pll

Ans: Yes, Name of the events are already listed above.

10. Appstand, glstand, these are what fmb or libraries

Ans: These are fmb

11. Where will you copy fmx and fmb

Ans: Fmb is copied in AU top and fmx is copied in Product top.

12. How will you compile the form.

Ans: Form is compiled using f60gen. First run APPSORA.env then

f60gen module=/acttapps/prodappl/au/11.5.0/forms/US/T102_EMP.fmb

Userid=apps/apps@prod Output_File=/acttapps/prodappl/cus/11.5.0/form/US/T102_EMP.fmx

Module_Type=FORM Batch=YES Compile_All=SPECIAL

13. If want to have customer balances from which tables you will extract.

Ans: AR_CREDIT_HISTORIES. (Outstanding_Balance column)

This table stores information about a customer’s credit profile (changes made to AR_CUSTOMER_PROFILES). Each row can include changes to a customer’s credit status, credit limit, and outstanding balances. The primary key for this table is CREDIT_HISTORY_ID.

Also in AR_PAYMENT_SCHEDULES_ALL table The aging reports also utilize the current Balances in AMOUNT_DUE_REMAINING to display outstanding amounts for current and overdue Debit items.

14. What is step to make payments in AP

Ans: To Create manual Payment select Invoices for payment match invoice total with the Batch payment amount. For auto select payment - Create payment batch, select criteria for payment such as supplier, pay group etc. Click Action1 button - Build Payments, Format Payments and Print now.

15. Which program you will modify for the check printing in AP

Ans: APXPBFEG - Check Printing report

16. In GL Interface what is GL References.

Ans: Reference1 to Reference10 uses reference information of sub-ledgers.


_All table have org_id but all company data is existing but in view it is partitioned by Ord_id.

Run time value will be evaluated using get predicate As many _All tables that many we have to define lexical parameters.

Validated the parameter is not required but if you want and be done in before report trigger.

Inter organization relationship. For transferring material, Rules have to be defined to transfer material from one inventory organization to another.

Set up hierarchy for Purchasing

1. Organization.

2. Financial and Payable.

3. Payment document or supplier site for payment accounting entries.

4. Supplier and Supplier Site.

Payment terms as per supplier site or purchase order if both are there then finally takes from purchase order.

1. Procure to Pay cycle

2. Oracle to Cash cycle

3. OM to AR to GL interface

4. Purchasing to AP to GL Interface

5. Purchasing to Inventory update

6. Alert taking any case

7. Copy check printing rdf and create new program for payment.

8. Ap invoice open interface

9. GL interface

10. GL daily rate interface

11. Get to know about purging

In case of purchasing If PO rate is not matching and invoice received with more amount how to pass for payment. It will go for price not matching hold and you have to release the hold manually by matching distribution with the header.

What dat file for lockbox contains. Bank provide dat file having details of payment receipts.

What is mixed sales order

Payables has recurring invoice option - Invoice - Entry - Recurring Invoices

How you can change the hierarchy of from triggers

Pragma exceptions

While updating row in the table if column is not found then what error it will show.



Why you do validation programmatically it can be done by the system when you run import. Correct can be made from front end using correct Option.

Ans: This way validation can be done only if the records to be imported are not much if the records to be imported is voluminous then It is always good to do validation programmatically while transferring data from stage table to gl_interface table. It saves time and makes interface smoother.

How you can change the default firing sequence or execution hierarchy of triggers in forms.

Ans: Change the Execution Hierarchy property of trigger to Override

GE: Gurgaon

Whether GL module comes under Multi Org or Not

Modes of FTP for copying different type of files .txt, rdf, ctl

Oracle India, Bangalore - 16.07.2005 (Mr. Dhiraj Pathak)


1. Steps of report customization

2. How to add data into two tables using SQLLDR. Control file syntax.

3. Difference between DFF & KFF.

4. Types of Validation.

5. Types of LOV

6. Define LOV.

7. What is parameter type?

8. Define and differentiate is lexical and bind variables.

9. Types of triggers in report. Execution sequence.

10. Customized and developed reports tables.

11. Execution hierarchy of triggers in form.

12. Steps of form customization. Registration of form.

13. Have you attached DFF in form? How.

14. What all form customized and developed.

15. Hierarchy of Multi Org.

16. Can we submit request using PLSQL.

17. Have you heard about API. Definition of API.

18. Have you worked on shell script.

19. Have you worked on AOL.

20. Have you worked on WORKFLOW

2nd Round:

1. Interfaces. Procedures and Validations. Steps.

2. AP / AR Interfaces. Have you done supplier interface and Customer Interface

3. Interface for Distribution set for AP.

4. SQL Tunning.

5. Type of Indexing.

6. Form customization.

7. What is the sequence of triggers when ‘query_execute’ fired.

8. If I want to get a particular report periodically to my email account.

9. Rate yourself for FORMS/REPORT/PLSQL/SQL/GL/AP/AR

10. How to import Invoices in AP from legacy system.

11. Have you worked on WORKFLOW

1. General ledger entry/posting in respect to multi organization.


Oracle Assets, Oracle General Ledger, Oracle Inventory, and the rest of the Oracle Manufacturing products need to be set up only once for the installation, not once for each operating unit. To perform these setup

Procedures follow the instructions in the product user guides.

If you have multiple organizations or balancing entities within a set of books, General Ledger automatically adjusts the balance of the translation adjustment accounts of each organization or balancing entity. General Ledger does not make balancing adjustments to this account when you translate budget balances.

A financial reporting entity that uses a particular chart of accounts, functional currency, and accounting calendar. Oracle General Ledger secures transaction information (such as journal entries and balances)

by set of books. When you use Oracle General Ledger, you choose a responsibility that specifies a set of books. You then see information for that set of books only.

However, General Ledger’s Account Inquiry window ignores the operating unit profile setting. This allows you to drill down to your sub-ledger details, regardless of which operating unit originated the transaction.

Note: While creating journal without batch. Batch is created automatically with org_id

2. Different Payable Invoices, its payment and adjustments


Using XLA API oracle report can be made muti org compatible, with the help of request group it can be restricted to particular operating unit and responsibility etc but how FSG can be secured only for a particular operating unit or responsibility.

Ans: Apply security rules to control what financial information can be printed by specific users and responsibilities in any reports they run using FSG.


Q: Which table stores the parent value and its' child ranges?


Q: What tables store segment values and descriptions?


Q: Can a flexfield qualifier be changed after it has been created?

Ans: No.

Once a segment qualifier has been designated for a specific segment and has been saved, it will permanently have the attributes with that qualifier.

For example, you accidentally designate the cost center segment as the natural account segment. Even though you do not compile this, the system saves the changes. And once it has been saved, it will have all the attributes designated for the natural account qualifier, even after it has been changed back, resaved with the correct qualifier and compiled.

This is the inherent functionality of the software.

Unfortunately, there is no real easy solution for this issue. The only option is to create a new chart of accounts and attach a new set of books. You may be able to just create a new chart of accounts if you haven't created the set of books yet. See Note 107448.1, for more information.

Q: Can you change the size of a value set used in the accounting flexfield after it has been created?

Ans: No. Once the value set is created, you should not change the size of a value set used in an accounting flexfield. We recommend that you set Right-justify Zero-fill Numbers to Yes for value sets you use with the Accounting Flexfield. You should never change to a value set with a larger (or smaller) maximum size if your value set is Right-justify Zero-fill, since 001 is not the same as 0000001, and all of your existing values would become invalid

Q:. What is the difference between Hierarchical and Non-hierarchical Security Type?

Ans: Hierarchical Security: This feature combines Flex Value Security and Flex Value Hierarchy. The end result is 'a flex value is secured if one of it's parents is secured'. With non-hierarchical security, the child values do not inherit the parent security.

Q: Should Rollup Groups be frozen?

Ans:It is recommended that Rollup Groups be frozen unless they are being modified. However, if they are not frozen, there should not be any effects on General Ledger reports, functions, or other processes.

Q: Do you need to have an Accounting Flexfield segment that is flagged with the Intercompany qualifier?

Ans: The intercompany segment is an optional Intercompany feature for the Intercompany Segment Balancing. It is NOT required in order to do intercompany balancing.

It is just another way to do the intercompany balancing, instead of using different natural accounts to track intercompany balances, you can use the intercompany segment in the Chart of Accounts to record the same detail.

It is more just a matter of preference of how you want to track the intercompany transactions. Refer to Note 151130.1 to see additional information regarding How Intercompany Journal Lines are Created in General Ledger 11i. Also see the Oracle General Ledger Users Guide, Chapter 5: Accounting for Multiple Companies Using a Single Set of Books.

Q: What is a Reconciliation qualifier and how is it setup?

Ans: This Reconciliation flag is a localization feature used primarily by European customers. When the flag is set to YES, the account is set up to be reconciled. GL Entry Reconciliation is a set of forms and reports that enable the user to selectively cross-reference transactions in the General Ledger. Once the balance of a group of transactions is zero, the user can mark them as reconciled. This functionality enables the transactions in any account that should balance to zero (for example, an Inter-company suspense account) to be reconciled. For information regarding the setup of this option, please refer to Note: 1041211.6.

Pantaloon: (shekhar)


ANS: Hot Backup when database is in use and Cold backup when no user is using db.







8i Database (8.0.6). Oracle Database is 9i. (9.2.0)

Oracle 9i Application server (9Ias).















You define concurrent managers using the Concurrent Managers window. When you define a manager, you specify the manager type, which may be either Concurrent Manager, Internal Monitor, or

Transaction Manager.

There are three other types of managers that Oracle Applications predefines for you: the Internal Concurrent Manager, which describes the Internal Concurrent Manager process, the Conflict Resolution

Manager, and the Scheduler. For the CRM and Scheduler you can assign the primary and secondary nodes. For the Internal Concurrent Manager you assign the primary node only.


Multi Org - General Ledger comes in Multi Org

8i & 9i Differences

What is FSG.

PLSQL Tables whether used in APPS

FORM customization, Registration

New form development

Interface steps

Value Set - Table type -

What us Data Group:

Use data groups to support multiple installations of an Oracle Applications product (for example, Oracle Payables) that supports multiple sets of books, where a different application is associated with each set of books.

For example, with two installations of Oracle Payables supporting two Sets of Books, use data groups to indicate which Oracle Payables Oracle username to access from a certain General Ledger responsibility.

Define a data group for each application installation (set of books).

Define a responsibility for each application installation (set of books), and assign the appropriate data group to each responsibility.

What is the purpose of MO: Security Level and should value should you set that to?

ANS:utilize the "MO: Security Profile" profile option over the "MO: Operating Unit" profile option when both profile options are set to give access to multiple

operating units.

The profile option "MO: Security Profile" should not be set at Site level, since

setting it will result in forms error when opening the financials products

forms that are modified for Access Control and also Multi-Org initialization

errors while applying patches.

You must set the MO:Operating Unit profile option for each responsibility.

You must also define the default operating unit by setting the

MO:Operating Unit profile at the site level.


About This Blog

  © Blogger templates The Professional Template by Ourblogtemplates.com 2008

Back to TOP