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.
ANS: SELECT FND_GLOBAL.USER_ID FROM DUAL; STORE IT IN A VARIABLE AND FIND IT IN THE FND_USER
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.
ANS: GL_INTERFACE Table Updates GL_JE_BATCHES, GL_JE_HEADERS, GL_JE_LINES.
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
Ans: WHEN-FORM-NAVIGATE
        WHEN-NEW-FORM-INSTANCE
        WHEN-NEW-BLOCK-INSTANCE
        WHEN-NEW-RECORD-INSTANCE
        WHEN-NEW-ITEM-INSTANCE
        WHEN-VALIDATE-RECORD
        SPECIALn (1 to 45)
        ZOOM
        EXPORT
        KEY-fn (1 to 8)
19.	What are various customer interface tables?
ANS: RA_CUSTOMERS_INTERFACE_ALL
        RA_CUSTOMER_PROFILE_INT_ALL
        RA_CUSTOMER_BANKS_INT_ALL
        RA_CUST_PAY_METHOD_INT_ALL
        RA_CONTACT_PHONES_INT_ALL 
20.	Where invoices gets stored in payables
ANS: AP_INVOICES_ALL
        AP_PAYMENT_SCHEDULES_ALL
        AP_TERMS_LINES
        AP_BANK_ACCOUNTS_ALL
        AP_BANK_BRANCHES
        AP_INVOICE_PAYMENTS_ALL
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
Fnd_client_info.set_org_context(org_id)
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:

1.	WHICH INTEREFACES U HAVE DONE IN VARIOUS ORACLE FINANCIALS
ANS: AR Auto invoice interface, AP open interface 
Gl_interface
Customer_interface using API (TCA)
	Bank statement (Bank Reconciliation of Cash Management)
2.	TELL GENERAL STEPS OF OPEN INTERAFCE
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.  
3.	WHAT VALIDATIONS U HAVE TO MAKE IN VARIOUS INTERFACE, TELL SOME
ANS: Currency, Date, DFF CONTEXT, .
4.	WHAT IS DIFFERENCE BETWEEN IN IMPORT & POST
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 
‘P’.
5.	WHAT IS KFF & DFF
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.
6.	WHAT IS VALUE SETS
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.
7.	WHAT IS TABLE TYPE VALUE SET.
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 ‘,’.
8.	DIFF IN VALUE SET & REQUEST SET
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. 
9.	WHAT IS REQUEST SETS
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). 
10.	TELL IN BRIEF FOR SEGMENT & FLEXFIELD QUALIFIERS
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

11.	WHAT ARE DATA-BASE TRIGGERS
12.	WHAT IS DIFFERENCE IN PACKAGE, PROCEDURE, TRIGGER
     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.
13.	TYPES OF TRIGGERS 
a.	REPORTS TRIGGERS ARE
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 
14.	TYPES OF EXCEPTION: 
ANS: USER DEFINED & SYSTEM DEFINED
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
  
a.	ACCESS INTO NULL  ----> PROGRAM ATTEMPTS TO ASSIGN VALUES TO THE ATTRIBUTES OF AN UNINITIALIZED OBJECT
b.	CASE NOT FOUND ---> NONE OF THE CHOICES IN THE WHEN CLAUSE OF CASE ARE FOUND AND THERE IS NO ELSE CLAUSE 
c.	COLLECTION IS NULL ---> 
d.	CURSOR ALREADY OPEN  ---> ATTEMPTS TO OPEN THE ALREADY OPEN CLAUSE
e.	DUP VAL ON INDEX  -0001  SQLCODE--> -1 WHEN INSERTING DUPLICATE VALUES IN THE UNIQUE CONSTRAINED COLUMN
f.	INVALID CURSOR     --> EG CLOSIG AN UNOPEN CURSOR.
g.	INVALID NUMBER  --->  CONVERSION OF CHARACTER STRING TO THE NUMBER FAILS BECAUSE STRING DOES NOT REPRESENT 
				  THE VALID NUMBER.
h.	LOGIN DENIED    ----> PROGRAM ATTEMTS TO LOG ON TO THE ORACLE WITH AN INVALID USERNAME AND PWD.
i.	NO DATA FOUND  (-1403)   SQLCODE--> 100  ---> SELECT STATEMENT DOES NOT RETURN ANY ROWS.
j.	NOTE ---> SELECT WITH AGGREGATE FUNCTIONS NEVER RAISES THIS EXCEPTION BCAUSE THEY ALWAYS RETURN VALUE OR NULL
k.	NOT LOGGED ON  ---> PROGRAM ISSUES THE DATABASE CALL WITHOUT CONNECTING.
l.	PROGRAM ERROR  ---> INTERNAL PROBLEM
m.	ROWTYPE MISMATCH
n.	STORAGE ERROR
o.	TOO MANY ROWS   (01422)  --- > SELECT STATEMENT RETURNS MORE THAN ONE ROW
p.	VALUE ERROR    ----> ARITHMATIC ,CONVERSION,SIZE_CONSTRAINET ERROR (FETCHING THE VALUE WITH MORE SIZE INTO CHARACTER COLUMN THAN DECLARED)
q.	ZERO DIVIDE    (01476)  ---> PROGRAM ATTEMPTS TO DIVIDE NUMBER BY ZERO.     
r.	TIME OUT ON RESOURCE     ---> TIME OUT OCCURS WHILE ORACLE WAITING FOR RESOURCE.
15.	WHAT IS SYNONYMS, TYPES
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
16.	WHAT IS VIEWS
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.
17.	TYPES OF PESUDOCOLS 
ANS: ROWID, ROWNUM, NEXTVAL, CURRVAL, LEVEL (HIRARCHICAL QUERY START WITH AND CONNECT BY)
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.
18.	CAN WE USE PESUDOCOLS IN VIEWS AND CURSOR
ANS: YES, We do use 
19.	CAN WE USE ROWID IN CURSOR( E.G ON PAGE 264 OF PLSQL GUIDE)
ANS: YES, We do use
20.	TYPES OF CURSOR
21.	WHAT IS REF CURSOR
ANS: REF CURSOR IS A CURSOR OF VARIABLE TYPE CAN BE USED FOR 
MULTIPLE SQL QUERIES. 
22.	CURSOR ATTRIBUTES
ANS: %NOTFOUND %FOUND %ROWCOUNT %ISNULL
23.	CAN U DEFINE PROCEDURE IN PROCEDURE
ANS: NO WE CANNOT. WE CAN DEFINE PROCEDURE IN PACKAGE
24.	WHAT IS DYNAMIC SQL
ANS: SQL WHICH CAN BE CHANGED IN RUN TIME USING LEXICAL 
PARAMETERS. 
25.	CAN WE USE LEXICAL REFERENCE IN PROCEDURE
ANS: NO (ONLY BIND VARIABLE)
26.	CAN WE USE LEXICAL REFERENCE IN DYNAMIC SQL - YES
27.	TYPES OF TRIGGER IN REPORTS
ANS: REPORTS TRIGGERS ARE
i.	Before parameter form
ii.	After parameter form
iii.	Before report  
iv.	Between pages 
v.	After report  
28.	SEQUENCE OF FIRING OF REPORT TRIGGERS
i.	Before parameter form
ii.	After parameter form
iii.	Before report  
iv.	Between pages 
v.	After report  
29.	WHAT IS APPLICATION OF LEXICAL REF IN REPORTS
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.
30.	WHAT IS MATERILISED VIEWS
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.
31.	WHAT IS USE OF SRW.MESSAGE
ANS: TO DISPLAY MESSAGE IN RUN TIME. IT IS A IN BUILT PROCEDURE.
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.
32.	IN WHICH TABLE U GET FLEXFIELD (KFF & DFF) INFORMATION
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 
FND_DESCRIPTIVE_FLEXS,FND_DESCR_FLEX_CONTEXT,FND_DESCR_FLEX_COLUMN_USAGES
33.	WHAT COLS IN FND_ID_FLEX_STRUCTURES AND AP_LOOKUP_CODES
ANS: AP_LOOKUP_CODES - LOOKUP_TYPE, MEANINGS, DESCRIPTION, LOOKUP_CODE
34.	WHAT DIFFERENT TABLES GET AFFECTED IN PAYABLE INTERFACE
ANS: AP_INVOICES_ALL, PO_VENDORS, AP_INVOICE_PAYMENTS_ALL
35.	WHAT IS CONTEXT
ANS: Different segments or additional pop-up windows appear depending on the values you enter in other fields or segments.
36.	WHICH TYPE OF KFF USED IN GL
ANS: Accounting Flexfield
37.	TYPES OF USER_EXISTS
a.	FND SRWINIT
b.	FND FLEXSQL
c.	FND FLEXIDVAL
d.	FND FORMAT_CURRENCY
e.	FND FORMAT_DATE
f.	FND SRWEXIT
38.	TELL BRIEFLY @ USER_EXISTS
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.
39.	WHAT R DIFFERENT TYPES OF EXECUTION METHODS
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
40.	WHAT IS AUTONOMOUS TRANSACTION
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?

Tuning:
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
purposes.
 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
units.
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
bottlenecks.
 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.
 17.DBMS_SESSION Provides access to SQL ALTER SESSION
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
mechanism.
 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
objects.
 21.DBMS_TRACE Provides routines to start and stop PL/SQL
tracing.
 22.DBMS_TRANSACTION Provides access to SQL transaction statements
from stored procedures and monitors transaction
activities.
 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:
      ·	ALL_OBJECTS, USER_OBJECTS 
      ·	ALL_CATALOG, USER_CATALOG 
·	ALL_TABLES, USER_TABLES 
·	ALL_TAB_COLUMNS, USER_TAB_COLUMNS 
·	ALL_TAB_COMMENTS, USER_TAB_COMMENTS 
·	ALL_COL_COMMENTS, USER_COL_COMMENTS 
·	ALL VIEWS, USER_VIEWS 
·	ALL MVIEWS, USER_MVIEWS 
·	ALL_INDEXES, USER_INDEXES 
·	ALL_IND_COLUMNS, USER_IND_COLUMNS 
·	USER_CLUSTERS 
·	USER_CLU_COLUMNS 
·	ALL_SEQUENCES, USER_SEQUENCES 
·	ALL_SYNONYMS, USER_SYNONYMS 
·	ALL_DEPENDENCIES, USER_DEPENDENCIES 
What is pragma exception
ASSOCIATES EXCEPTIONS WITH ERROR NUMBERS.
SHOULD BE DECLARED IN DECLARATION SECTION.
IT’S THE COMPILER DIRECTIVE , PROCESSES ERRORS AT THE COMPILE TIME.
Exception Propagation:
•	IF EXCEPTION HANDLER IS NOT PRESENT IN LOCAL BLOCK THEN IT’S AUTOMATICALLY PROPAGATRED TO IT’S ENCLOSING BLOCK.
•	SCOPE RULES :
                   EXCEPTION DECLARED IN OUTER BLOCK
                   BECOMES GLOBAL TO ALL IT’S   			       SUBBLOCKS.
                   BUT THE SAME IS NOT TRUE FOR  	  		       SUBBLOCKS. 

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.
IN AR THEIR R 2 KFF 1)SALES TAX LOC FF 2)TERRITORY FF
Difference between key flexfield and descriptive flexfield:
Keyflexfield:
---------------
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:
APP_ITEM_PROPERTY2
APP_DATE2
APP_SPECIAL2 
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:
1.	AP_INTERFACE_CONTROLS
2.	AP_INTERFACE_REJECTIONS
3.	AP_INVOICE_INTERFACE
4.	AP_INVOICE_LINES_INTERFACE
What does set of books comprised of?
ANS: CHART OF ACCOUNTS, CALENDAR AND CURRENCY
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
1.	GL_JE_BATCHES
2.	GL_JE_HEADERS
3.	GL_JE_LINES
Which table captures the balances information of the code combinations?
Ans: Gl_BALANCES
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?
Ans:Yes
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.
Ans: PTD,QTD,YTD,PJTD
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?
Ans: GL_CODE_COMBINATION_KFV
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 
Ans:False
Encumbrance balances are maintained for expense accounts?
Ans:True
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.
What is KEY FLEXFIELD?
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.
Ans: PAY-ON-RECEIPT-AUTOINVOICE 
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:
(DELOITTE MUMBAI )

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?
ANS: 	HR_LOCATIONS_ALL, HR_ALL_ORGANIZATION_UNITS,
HR_ALL_ORGANIZATION_UNITS_TL, HR_ORGANIZATION_INFORMATION, 
FND_PRODUCT_GROUPS
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.
ANS: Explain him FND SRWINIT, SRWEXIT, FLEXSQL, FLEXIDVAL, FORMAT CURRENCY.
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?
LOAD DATA
   INFILE *
   REPLACE
   INTO TABLE emp
        WHEN empno != ' '
   ( empno  POSITION(1:4)   INTEGER EXTERNAL,
     ename  POSITION(6:15)  CHAR,
     deptno POSITION(17:18) CHAR,
     mgr    POSITION(20:23) INTEGER EXTERNAL
   )
   INTO TABLE proj
        WHEN projno != ' '
   (  projno POSITION(25:27) INTEGER EXTERNAL,
      empno  POSITION(1:4)   INTEGER EXTERNAL
   )

19. How i can make sure that no row of dat file is inserted if even one row fails the validation?
ANS:
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 
				RA_CUSTOMER_PROFILES_INTERFACE
				RA_CUST_BANK_INTERFACE
				RA_CUST_PAY_METHOD_INTERFACE
				RA_CONTACT_PHONE_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?)
KFFà FND_ID_FLEX_STRUCTURE
DFFà FND_DESCRIPTIVE_FLEX
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?
HZ_PARTIES, HZ_PARTY_SITES, MTL_SYSTEM_ITEMS
32. what is the flow of BOM. 
33. report triggers sequence?
BEFORE PARAMETER FORM
AFTER PARAMETER FORM 
BEFORE REPORT 
BETWEEN PAGES 
AFTER REPORT 
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
Timingà BEFORE, AFTER, INSTEADE OF
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
---------------------
declare
 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;
begin
 open c1;
 cnt1 := c1%rowcount;
dbms_output.put_line('cnt1=> '||cnt1);
loop
 fetch c1 into memp1, memp2;
 exit when c1%notfound;
 cnt2 := c1%rowcount;
end loop;
close c1;
 dbms_output.put_line('cnt2=> '||cnt2);
end;
/
---------------------
cnt => 0
cnt => 5
44. what is pragma?
Pragma is a compiler directive.
Oracle have  four PRAGMAS.
v	PRAGMA EXCEPTION_INIT
Used to attach a non defined error with a number.
v	PRAGMA AUTONOMOUS_TRANSACTION
To mention that this transaction will contain a call to an autonomous transaction.
v	PRAGMA RESTRICT_REFERENCES
To restrict a function from writing to, reading from database.  
Options are WNDS, RNDS, WNPS, RNPS.
v	PRAGMA SERIALLY_USABLE
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
A     CODE, APP_SHORT_NAME, OUTPUT, MODE, DISPLAY, SHOWDEPSEG, NUM or MULTINUM, TABLEALIAS, OPERATOR, OPERAND1, OPERAND2.
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<APROMPT or LPROMPT).
21.   Name the interface tables used for the customer interface?
A.    1. RA_CUSTOMERS_INTERFACE_ALL
        2. RA_CUSTOMER_BANKS_INT_ALL
        3. RA_CUST_PAY_METHOD_INT_ALL
        4. RA_CUSTOMER_PROFILES_INT_ALL
        5. RA_CONTACT_PHONES_INT_ALL
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?
A.	ORIG_SYSTEM_CUSTOMER_REF
INSERT_UPDATE_FLAG
CUSTOMER_NAME
CUSTOMER_NUMBER (if you are not using Automatic Customer Numbering)
CUSTOMER_STATUS
LAST_UPDATED_BY
LAST_UPDATE_DATE
CREATED_BY
CREATION_DATE
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)
ADDRESS1
25        List some of the production tables that Customer Interface transfers customer data from the interface tables into?
A.	AR_CUSTOMER_PROFILES
AR_CUSTOMER_PROFILE_AMOUNTS
RA_ADDRESSES
RA_CONTACTS
RA_CUSTOMERS
RA_CUSTOMER_RELATIONSHIPS	
RA_CUST_RECEIPT_METHODS
RA_PHONES
RA_SITE_USES
AP_BANK_ACCOUNT_USES
AP_BANK_ACCOUNTS
AP_BANK_BRANCHES
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?
A.	SQLGL
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
A. REPLACE
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
A          MTL_SYSTEM_ITEMS, MTL_CATEGORIES
42.       Tell me names of important production tables & their purpose AP, AR, GL, PO
A          AP: AP_INVOICES_ALL, AP_INVOICE_LINES_ALL
	To store invoices
             AR: RA_SHIPMENT_HEADERS/ _LINES, RA_CUSTOMERS, RA_CONTACTS
	PO:  PO_VENDORS, PO_VENDOR_SITES - For storing vendor data.
43. 	Name the interface tables used for the LockBox Interface
A	Interface table : AR_PAYMENTS_INTERFACE_ALL
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:
AR_CASH_RECEIPTS_ALL
AR_RECEIVABLES_APPLICATIONS_ALL
AR_CASH_RECEIPT_HISTORY_ALL
44	Name the interface tables used for the AutoInvoice Interface.
A	AutoInvoice transfers transaction data from the interface tables
RA_INTERFACE_LINES_ALL,
RA_INTERFACE_SALESCREDITS_ALL, and
RA_INTERFACE_DISTRIBUTIONS_ALL 
into the following Receivables tables:
• RA_BATCHES_ALL
• RA_CUSTOMER_TRX _ALL
• RA_CUSTOMER_TRX_LINES _ALL
• RA_CUST_TRX_LINE_GL_DIST_ALL
• RA_CUST_TRX_LINE_SALESREPS_ALL
• AR_PAYMENT_SCHEDULES_ALL
• AR_RECEIVABLE_APPLICATIONS_ALL
• AR_ADJUSTMENTS_ALL

REPORTS 6i

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:

Syntax
* [SRW.REFERENCE(:object_name_1);]
* [SRW.REFERENCE(:object2_name_2); ...]; 
* SRW.USER_EXIT('user_exit_name [argument_list]'); 
where: 

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.  

SRW.USER_EXIT
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. 

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

SRW.REFERENCE
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. 
Syntax
SRW.REFERENCE (:object CHAR|DATE|NUMBER); 
Parameters
object	Is the Report Builder parameter or column whose value needs to be ascertained before the construct fires.

SRW.MESSAGE
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. 
Syntax
SRW.MESSAGE (msg_number NUMBER, msg_text CHAR); 
Parameters
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.

SELECT Clause
SELECT &P_ENAME NAME, &P_EMPNO ENO, &P_JOB ROLE  FROM EMP 
FROM Clause
SELECT ORDID, TOTAL FROM &ATABLE 
WHERE Clause
SELECT ORDID, TOTAL FROM ORD WHERE &CUST 
GROUP BY Clause
SELECT NVL(COMMPLAN, DFLTCOMM) CPLAN, SUM(TOTAL) TOTAL  FROM ORD GROUP BY &NEWCOMM 
HAVING Clause
SELECT CUSTID, SUM(TOTAL) TOTAL  FROM ORD GROUP BY CUSTID  HAVING &MINTOTAL 
ORDER BY Clause
SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL  FROM ORD ORDER BY &SORT 
CONNECT BY and START WITH Clauses
Multiple Clauses
SELECT &COLSTABLE 
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.

SELECT Clause
SELECT CUSTID, NVL(COMMPLAN, :DFLTCOMM) COMMPLAN  FROM ORD 
WHERE Clause
SELECT ORDID, TOTAL  FROM ORD WHERE CUSTID = :CUST 
GROUP BY Clause
SELECT NVL(COMMPLAN, :DFLTCOMM) COMMPLAN, SUM(TOTAL) TOTAL FROM ORD GROUP BY NVL(COMMPLAN, :DFLTCOMM) 
HAVING Clause	
SELECT CUSTID, SUM(TOTAL) TOTAL FROM ORD GROUP BY CUSTID  HAVING SUM(TOTAL) > :MINTOTAL
ORDER BY Clause
SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL  FROM ORD ORDER BY DECODE(:SORT, 1, SHIPDATE, 2, ORDERDATE) 
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

PROCEDURE Run_Emp_Report IS 
 pl_id ParamList; 
BEGIN 
pl_id := Get_Parameter_List('tmpdata'); 
IF NOT Id_Null(pl_id) THEN 
      Destroy_Parameter_List( pl_id ); 
END IF; 
pl_id := Create_Parameter_List('tmpdata');       Add_Parameter(pl_id,'EMP_QUERY',DATA_PARAMETER,'EMP_RECS'); 
Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME,FILESYSTEM, pl_id, NULL); 
END;

=============================================================================

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?
6) 

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 
(WHEN-NEW-ITEM-INSTANCE).
4. Keys the user can press on their keyboard like the Tab button (KEY-NEXT-ITEM) or 
F10 (KEY-COMMIT).
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
*  ISOLATED
a) on clear details
b) on populate details
*  CASCADE
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?
12) 
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 
desirable. 
TYPES OF RECORD GROUP:
1. Query Record Group: A query record group is a record group that has an associated SELECT
statement.  
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 
interface. 
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?
36) 
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 
savepoint.
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?
55) 
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
form.   
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?
62) 
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?
63) 
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?
64) 
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"?
67)
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?
70)
SYSTEM.MESSAGE_LEVEL
SYSTEM.DATE_THRESHOLD
SYSTEM.EFFECTIVE_DATE
SYSTEM.SUPPRESS_WORKING 
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
processing.
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.
PARAMETERS: 
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 

QUESTIONS OF  CGEY
1.WHAT WILL BE THE O/P OF SELECT COUNT(1) FROM EMP;
2.LEXICAL, BIND.
3.PLACEHOLDER COLUMN

Queries:

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:

Apps
      
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?

Oracle

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

Reports

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?

Forms

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.
Ans: APP_STANDARD.EVENT(’ACCEPT’);
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.
app_item_property2.set_property(’user.description’,displayed,PROPERTY_ON);

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.
DECLARE
CURSOR c1 (low INTEGER DEFAULT 0,
high INTEGER DEFAULT 99) IS SELECT ...
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
DECLARE
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

Functional:

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.

Technical:

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 
        access.
6.	What is syntax of REF CURSOR.
7.	How you will make report to run in Multi Organization environment.
Ans: Using XLA_MO_REPORTING_API
(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 
warehouse.
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?
8.	WHT U HAVE DONE IN OM?
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 
   places.
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.
Ans: AP_INVOICES_ALL, AP_INVOICE_PAYMENTS_ALL, 
 AP_PAYMENT_SCHEDULES_ALL, AP_BANK_ACCOUNTS_ALL,
 AP_BANK_TRANSMISSIONS, AP_TERMS_TL,AP_TERMS_LINES 
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.
Ans: AP_INVOICE_PAYMENTS_ALL 
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.
17.	
_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.
Ans: 
F10_MULTIORG_AR1 CHECK THIS CONCURRENT PROGRAM FOR THEIR PARAMETER AND DEFAULT VALUES
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)

1ST ROUND

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.
Explanation:
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

Questions:

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.

FAQ:

Q: Which table stores the parent value and its' child ranges?   
 Ans: FND_FLEX_VALUE_NORM_HIERARCHY 
 Q: What tables store segment values and descriptions?  
 Ans: FND_FLEX_VALUES_TL and FND_FLEX_VALUES. 
 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)

1.	WHAT IS COLD BACKUP AND WHAT IS HOT BACKUP?
ANS: Hot Backup when database is in use and Cold backup when no user is using db.
2.	HOW MANY BACKGROUND PROCESSES ARE THERE?
3.	WHY DO WE NEED THESE BACKGROUND PROCESSES?
4.	WHAT IS ARCHIVER LOG?
5.	TELL THE ARCHITECTURE OF APPS?
6.	WHICH WEB SERVER IS USED BY APPS?
ANS:HTTP SERVER Powered by APACHE. WEB SERVER Uses 
8i Database (8.0.6). Oracle Database is 9i. (9.2.0) 
Oracle 9i Application server (9Ias).
7.	DO YOU KNOW THE VERSION OF THAT WEB SERVER?
8.	HOW TO CHECK WHETHER ARCHIVER MODE IS ON OR OFF?
9.	WHAT IS CHECKPOINT?
10.	WHERE IT'S STORES THAT HOW FREQUENTLY CHECKPOINT IS GOING TO OCCUR?
11.	IN WHICH DIRECTORY INIT.ORA IS STORED?
12.	WHAT ENVIRONMENT FILE CONTAINS IN APPS?
13.	WHICH ALL SERVERS ARE THERE IN THE MIDDLE TIER OF APPS ARCHITECTURE?
14.	WHERE DOES THE APPLICATION LOGIC RESIDES?
15.	HOW TO CLOSE DATABASE?
16.	HOW TO BUILD NEW PRODUCT_TOP IN APPS?
17.	HOW MANY CONCURRENT MANAGER ARE THERE AND THEIR NAMES?
18.	WHICH CONCURRENT MANAGER SUBMITS THE REQUEST?
ANS: INTERNAL MANAGER, STANDARD CONCURRENT MANAGER, SPECIALISED CONCURRENT MANAGER, CONFLICT RESOLUTION MANAGER
19.	IS THERE ANY CONCURRENT MANAGER FOR RESOLVING CONFLICTS BETWEEN 2 REQUESTS IF YES THEN TELL THE NAME?
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.

CSC

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.