Interview Question and Answers

Apps Interview Ques and Ans 2

Q1: Difference between customization, enhancement and implementation?

Ans: Customization: Customization is the developing of the forms, reports and SQL script from the beginning or changing the existing.

Enhancement:  Enhancement is the modification of forms & Other components according to client user requirement.

ImplementationImplementation is the testing of Applications.

 Q2: What are the Types of Customizations?

Ans: There are two types of customizations.

1). Customization by extensions

2). Customizations by Modifications.

Customization by extensions:  Customization by extension means developing new:

Component for existing Oracle applications and develop new application using the

Development feature of AOL (Application object Library).

Customization by extensions means Copying an Existing Oracle Application Component (Forms, Report, PL/SQL etc.) to a custom application directory and modifying the Copy.

Customizations by Modifications:  Modifying   existing oracle application Component to meet your specific Requirement.

Q3:  What are the most Common Types of Customization?

Ans:      TYPE 1:      # Changing Forms:

1)      Changing Forms

2)     Validation logic

3)      Behavior

TYPE2:      # Changing Report or Program

                                              1)    Appearance

                                              2)    Logic

TYPE3:   # Database Customizations:

                                              1)    Adding read only Schema

                                              2)   Augment (add) logic with database Triggers.

TYPE4:     # integrating third Party Software


Q4:  What is Legacy system?

Ans: System other than Oracle is legacy System. Like FoxPro, spreadsheet.

Q5:  What is ERP?

Ans: Resource Planning with in Enterprise. ERP is a term that covers whole Product line. ERP means integration of different module. Any business will greatly benefits by

adapting this feature because u can customize it or integrate it with other Packages         to satisfy unique requirements.

BENEFITS OF ERP: 1)Flow of Information Effectively.

2) Maintaining Standardizations.

Q6:  What is Oracle Apps ?

Ans:  Oracle-apps is an ERP Package. The Key Feature of all the oracle-Application

module is Data Integration.

Master data is Integrated: All the application share common files of customers, suppliers, employee, items and other entities that are used by multiple applications.

Transaction data is Integrated: Oracle automatically bridge transactions from one system to another.

Financial data is integrated: Financial data is carried in a common format, and financial data is transmitted from one application to another.

 Q7:  What is ad-hoc Report?

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

Q8:  What is Localization?

Ans: Localization is designed to meet the specific needs of certain territories or countries. Most localization is necessary because the local laws or accountings practice differ from country to country.

Region of Localization:  Three Region of Localization.

1) EMEA REGION: Europe, Middle East, Asia pacific and Africa.

2) America REGION: Canada plus Latin America.

3)Global REGION: localization that applies territories through the world.  For example

Localization used in both Europe and Latin Americaare classified in the Global Region.

Q9: Library used in Localization?

Ans: #Globe: Globe library allows Oracle Application developer to incorporate global

Or regional feature into oracle application forms without modification of

The base Oracle Application forms.

# JA:      JA library contains codes specific to Asia\Pacific Region. And is called

Globe Library.

# JE:      JA library contains codes specific to EMEA Region. And is called

By Globe Library.

# JL:      The JL Library contains code specific to Latin America Region.

And is called by Globe Library.

Q10:  How forms are attached.

Ans: STEP- ONE: First put the form in corresponding module like AP, AR, GL

In appropriate server directory.

STEP-TWO:     Second step register form with AOL.

STEP-THREE: Attach form with Function.

STEP-FOUR:   Attach function with menu.

STEP-FIVE:     Attach menu with responsibility.

STEP-SIX:        Attach responsibility to user.

Q11: How Report is attached.

Ans11: STEP- ONE: Register the application.

STEP-TWO:   Put Report in appropriate server directory.

STEP-THREE: Define Executables. (NavigatoràConcurrentàProgram


          STEP-FOUR:   Define Program (Concurrent à Program à Define)

          STEP_FIVE:     Define Responsibility (Sysadmin responsibility).

(SecurityàResponsibilityà Define).

 STEP-SIX:        Define Request Group. (Navigatoràsecurity


STEP-SEVEN: Define Data Group. (Navigatorà oracleàData group).

STEP-EIGHT: Run the request through SRS. A request Id is created

Through which u can view the request.

Q12:  What is workflow?

Ans:   To automate and continuously increase business process we use workflow.

Workflow processes represent business process flows and information routings.

Main Function:

1). Routing Information’s (sending or receiving information).

2). Defining & modifying Business Rule.

3). Delivering electronic notification. (By emails).

Q13: What is main workflow Component?

Ans13:   1). Workflow Builder. Workflow is the component that provides user interface For creating, reviewing and maintaining workflow Definitions.

2). Workflow Engine.:workflow is the component that executes and enforces The defined workflow Process.

3). Workflow Monitor Workflow is the component of oracle workflow that

Allow you to review the state or status of an item through any particular workflow process.

4). Workflow Definition Loader:  allows u to download the text file.

5). Workflow Directory Services: Tells workflow how to find users.

6). Notification System: Send emails and receives responses from the Oracle Workflow notification system.

Q14: What are Interface table in AP, AR & GL?
























Q15 Total numbers of Tables in AP, AR, GL?


AP 173

AR 294

GL 165

FA 160

PO 132

OE 109

Q16: How will u customize a form?

Ans: STEP1: Copy the template.fmb and Appstand.fmb from AU_TOP/forms/us.

Then put in custom directory. The libraries (FNDSQF, APPCORE, APPDAYPK, GLOBE, CUSTOM, JE, JA, JL, VERT) are automatically attached.

STEP2:         Create or open new Forms. Then customize.

STEP3:        Save this Form in Corresponding Modules.

Q17:   What are non-financial modules?


1) Projects

2) Manufacturing

3) Supply chain management

4) HR

5) Front Office

6) Strategic Enterprise management.

Q18: Explain Order- cycle in OE.

Ans: Step1: Enter sales order.

Step2: Book the sales order.

Step3: Pick release order.

Step4: Ship or confirm order.

Step5: Backorder Release

Step6:  Receivable Interface

Step7: Complete line

Step8: Complete order

Q19: What is AU_TOP.

Ans: This is the Application utility contains PL/SQL library used by oracle forms, reports, oracle form source files and a copy of all Java used to generate the desktop Client.

Q20:  What is ad_top?

Ans: ad_top (Application DBA). Contain installation and maintenance utility.

Such as Auto upgrade, Auto Patch and Admin Utility.

Q21: Can we make transaction in close Periods?

Ans: No, we can make only reports.

Q22: If Period is closed how we can enter transactions? (Doubt)

Ans:   No, we cannot enter transaction.

Q23: what is SQl*Loader?

Ans: This tool is used to move data from a legacy system to oracle database.

In this two type of inputs to be provided to SQL * Loader.

First is data file, containing the actual data.

Second is the control file containing the specification which drive the

SQL* Loader.

Q24: How can u relate order management with AR?

Ans: sales orders are displayed after confirm release of sales in order management.

Q25:  What is the Field of GL_interface?







Q26: In which directory u store your custom form?


App_Top is top directory. We have Core directory Adm., ad (application dba),

Au (application utility), fnd (Foundation), Cust-Dem is Custom directory where

Have 11.0.28 version then we have forms directory. Inside the form we have US

Directory. Where we stand forms.

Q27: Who is Holder of Alerts?

Ans:  ALERT Manager.

Q28: Steps for upgradation of 11 to 11i?

STEP1: Perform category 1,2,3. (Preupgrade steps).

 STEP2:   Run auto grade

STEP3:  Apply database patch to bring your database to the Current oracle apps release level.

STEP4: Install online help (optional).

STEP5: Perform Category 4, 5, 6 Steps (Post-upgrade steps).

STEP6: Perform product specific implementation steps as listed in your products Users guide.

STEP7: perform upgrade finishing step.

Q28: How interface program is written and for what purpose

Ans28: Interface Program is written through SQL, PL/SQL.

PURPOSE: 1)Basic Integration

2) Imports valid data that is meaningful to Organization

3) Validate the integrity of any data Before introducing into oracle apps.

4) Imports data from legacy system.

5)  Import data from one module to another.

Q29: What is AOL.

Ans:  AOL stands for Application Object Library used for customization And implementation of forms and Reports.

Q30: which Columns are taking care of descriptive flex fields?

Ans: Attribute Columns

Q31: Can u attach two sets of books with single profile?

Ans: yes we can attach.

Q32:  How U Can u attaches two sets of books with single profile.

Ans:  we can attach different set of Books with different responsibility In a single profile.

Q33: can we run FSG report other than GL?

Ans: No, we cannot run. Because FSG reports can only run in GL.

Q34: What are the common libraries in AOL.

Ans34: libraries contain reusable client-side code.

Common Libraries in AOL.

FNDSQF: Contain packages for procedures for Message Dictionary, Flex fields, profiles, and concurrent processing’s.

APPCORE: Contain packages for procedures for Menus and Toolbar.

APPDAYPK: contain packages that control application Calendar.

APPFLDR: packages for Folder.

Qns35:  What is Multilanguage support.

Ans35: Oracle Application provides some feature to support multi language support.

Qns36: Can u delete the posted Journals? Can U make Changes in Posted Journals?

Ans36: No, once the posting program in oracle financial has updated accounts balances, you cannot alter the posted journals; you can only post additional entries that negate the original values. These entries contain either the negative values of the original posted amounts or the original values but with the debit amounts and credit amounts reversed.

These approaches are known as reversal method.

Qns37: When u r taking bulk of reports.

Ans37: At midnight because traffic is less.

Qns38: Who is Holder of Alerts?

Ans38: Alert Manager.

Qns39: What is TOAD.

Ans39: Tool for managing database activity,

Qns40: What is Flexfield?

Ans40: Oracle Application uses Flexfield to capture information about

Your organization. Flexfield have flexible structure for storing key information.

Like Company, Cost Center, and Account. They also give u highly adaptable

Structure for storing customized information in oracle Applications.

Qns41: What are the elements of Flex field?

Ans41:  1) Structure            2) Segment  3) Segment value   4) Value set

Qns42: What do u means by structure?

Ans42:  Structure as the name implies defines how Flexfield is constructed. A Flex field    structure determines how many Segments it has, as well as how the segments are sequenced. Each structure is mapped to a structure ID Column in the database table for key Flexfield. Each Structure is mapped with context sensitive column in the database table for descriptive Flexfield.

Qns43:  What do u means by Segment?

Ans 43: Each Segment represents an element of your business structure Such as Employee, Cost Center, Account. A Flexfield can have Multiple Field. A segment is a single field with in a Flexfield.

Qns44: What do u means by Value set?

Ans 44: Value set identifies a list of valid value for the segment. Value set also governs the segment value’s length, its data type.

Qns45: What do u means by Segment value?

Ans45:  Value for each segment of flex field.

Qns46: What is Key and Descriptive Flexfield.

Ans46: Key Flexfield: #unique identifier, storing key information

# Used for entering and displaying key information.

For example Oracle General uses a key Flexfield called Accounting Flexfield to uniquely identifies a general account.

Descriptive Flexfield: # To Capture additional information.

# To provide expansion space on your form

With the help of []. [] Represents descriptive flexfield.

Qns47: Difference between Key and Descriptive Flexfield?


Key Flexfield Descriptive Flefield
1. Unique Identifier 1.To capture extra information
2. Key Flexfield are stored in segment 2.Stored in attributes
3.For key flex field there are flex field Qualifier and segment Qualifier 3. Context-sensitive flex field is a featureof DFF.(descriptive flex field)


Qns48: Difference between Flexfield Qualifier and Segment Qualifier.

Ans48:  Flexfield qualifier is used to identify a particular segment within a Key flexfield. While segment qualifier is used to capture value for any particular Segment.

Qns49:       What is Cross Validation Rule?

Ans 49: To prevent users from entering invalid combinations of segments Oracle General Ledger allows u to set up cross validation rule. There are two types of cross-validation

Rule element: include and exclude.   For example, to secure a balance sheet account to be associated with the balance sheet cost center or the corporate cost center only,U must include every possible combination then exclude the balance Sheet account range for the cost center.

Qns50:    Purpose of Cross Validation rule.

Ans50:  u can use Cross Validation rule to perform certain validations in your            Accounting flex field. For example, u can use Cross Validation rule  To secure all balance sheet account to be associated only with the balance Sheet cost center, corporate cost center and profit and loss account to be associated with the specific cost center other than the corporate Center.

Qns51:  What are types of segment for Descriptive Flexfield.

Ans51: Two types

1). Global segments

2). Context-sensitive segment.

Global Segment: global segment maps one to one to a database column.

DFF segment stored in ATTRIBUTE. Global segment always Displayed in a descriptive flex field.

 Context-Sensitive Segment: Context sensitive segment can share a single database

Column because the context – sensitive will be  Mutually exclusive and will never overlap.

Qns52:  What is Key Flexfield in AP, AR, GL.

Ans52: Key Flexfield in GL: Accounting Flexfield.

Accounting Flexfield is chart of account flex field.

It is used for identifying an account combination.

It must have a balancing segment, cost center segment, Natural account segment.

Combination table in Acct. FF: GL_CODE_COMBINATION_ID.

Structure column: chart_of_accounts_id.

Maximum number of Segments: 30.

Key flex field in AR: 1). Sales Tax Location Flexfield.

2) Territory Flexfield

Sales Tax Location Flexfield: to calculate sales tax.


Max number of segment: 10

Territory Flexfield: This is used to group territories according to company  needs

Combination table: RA_TERRITORIES.

Qns53:  What is purpose of Token Field.

Ans53: To define parameter name defined in oracle reports.

Qns54: What is Template form?

Ans54  Template form is the starting point for all development of new form.

Start developing new form by copying template.fmb file located in

AU_TOP/forms/us to local directory and renaming it as appropriate.

Template Form Contains

–Several libraries like FNDSQF, APPDAYPK, and APPCORE.


–Several form level trigger with required code.

Qns55: What are Handlers?

Ans55: Oracle application uses group of packaged procedure called handlers,

To organize PL/SQL code in the form so that it is easier to develop,

Maintain and debug.

Types Of handler: 1). Item handler

2). Event handler

3). Table handler.

Item handler: An item handler is a PL/SQL Procedure.

That encapsulates all of the code that acts upon an item.

Event handler: An item handler is a PL/SQL Procedure.

That encapsulates all of the code that acts upon an event.

Table handler: An item handler is a PL/SQL Procedure.

That manages interaction between block and base table.

Qns56: What is Appstand Form.

Ans56: Appstand form contains the Following.

1) Object Group STANDARD_PC_AND_VA.

Which contain the visual attribute and property class.

2) Object group STANDARD_TOOLBAR which contains the windows

Canvasses blocks and item of application toolbar.

3) Object group STANDARD_CALENDER which contains the windows

Canvasses blocks and item of application calendar.

4) Object groups QUERY_FIND, which contains a window, blocks and item

Used as a starting point for coding a find window.

Qns56: What is set of books.

Ans56: A financial reporting entity that uses a particular chart of accounts, functional currency and accounting calendar. You must define at least one set of books for each business location.

Qns57: what are four options that are tied to defined set of books.

Ans57: 1. Standard option (supenseposting, automatic posting, Average balance posting)

2). Average Balance option.

3). Budgetary control option.

4). Reporting Currency option.

Qns58: What is FSG.

ns58: A powerful and flexible tool you can use to build your own custom

Reports without programming.

Qns59:  What are the components of FSG?

Ans59: 1) Row set

2) Column set

3) Row order

4) Display set

5) Content set.

Qns60: What is MRC.

Ans60: The Multi Reporting Currency Feature allows u to report and maintain records at the transaction level in more than one  Functional currency. You can do by defining one or more set of books in adition to primary set of books.

Qns61:  What are Alerts.

Ans61: Oracle alert is an application module that reports exception actions based on  detected exceptions. U can create alert when specific event occur or that run periodically. Oracle alert provides a reliable way to monitor database activity. As well as keeping u informed of unusual condition. We can monitor your business performance through alerts.

Qns62:  Types of alerts?

Ans62:  Two types of alerts.

1.      Event alert

2.       Periodic Alert

Event alerts: An event alert is a database trigger that notifies u when a specified database event occurs and a particular condition is met.

Periodic event: A periodic alert on the other hand is not immediate.It is executed according to a predefined frequency

Qns63: What are three alert action types?

Ans63:1.Detail(An action defined atdetail level is initiated once for each exception found   – Meaning once for each row returned by the select statement in the alert definition.

2). Summary (An exception defined at the summary level is initiated  Once for all exceptions found or once for each unique output combination.)

3).  No Exception (An action defined at the no-exception level is initiated once if no data is returned from the select statement)

Qns64: What are the advantages of alert.

Ans64: 1)   Integration with email.

2)  Automatic processing

3)  Performing routine transactions

4)  Maintaining information flow without a paper trail.

Qns65: What is Currency.

Ans65:  Two types of Currency.

1) Foreign Currency: A currency that you define for your set of books for recording and conducting accounting transactions in a currency other than your functional currency

2) Functional Currency: The principal currency you use to record transactions and maintain accounting data within General  Ledger. The functional currency is usually the Currency in which you perform most of your Business transactions. You specify the functional currency for each set of books in the Set of  Books window.

Qns66: Types of matching.

Ans66: Two way Matching: The process of verifying that purchase order and invoice information matches within accepted tolerance levels. Payables uses the following criteria to verify two-way matching:
Invoice price <= Order price
Quantity billed <= Quantity ordered

Three way matching: The process of verifying that purchase order, invoice, and receiving information matches within accepted tolerance levels. Payables uses the following criteria to verify three-way matching:
Invoice price <= Purchase Order price
Quantity billed <= Quantity ordered
Quantity billed <= Quantity received

Four way Matching: The process of verifying that purchase order, invoice, and receiving information matches within accepted tolerance levels. Payables uses the following criteria to verify four-way matching:
Invoice price <= Order price
Quantity billed <= Quantity ordered
Quantity billed <= Quantity received
Quantity billed <= Quantity accepted

Qns67: What is the difference between Master table, setup table, and transaction table.

Ans 67: Master table: Created in any module and accessible across the application.


Transaction –Table: transaction tables are tables that store day-to-day transaction

Data. Such as payable invoice, receivable invoice.

Set-Up table: Created once with in Application. Like FND_CURRENCY.

Qns68: Name Few Master tables, Set up table I, transaction table in AP, AR, GL.


Module Name Master table setup table Transaction table


















Qns69: What do u means by FIFO pick and FIFO ship.

Ans69: FIFO pick: First in first out. (Order comes from customer).

FIFO ship: order ship to customer.

 Qns70: Difference between SC and NCA.


1. SMART CLIENT 1. Network computing Architecture
2. No form server in SC. All form is in directory, which is on the client. 2. Forms are in the server. Thus making security higher.


Qns71: What is first step in GL.

Ans71: Creating chart of account.

Qns72: What are standard reports in GL?

Ans72: Trial Balance Report

Journal Report


Account Analysis Report.

Qns73: What are standard reports in AP?

Ans73: 1.  Supplier Report

2). Payment Report

Qns74: What are standards reports in AR.

Ans74:              1. Tax Report         2.  Customer Profile Report   3.      Aging Report       4. Dunning Letter Report

Qns75.What are customer table, transaction table, and Receipt table in AR.


Module Customer Table Transaction Table















Qns76: What is Custom-Library.

Ans76: The custom library allows extension of oracle application without modification

of oracle application code. U can use the custom library for customization  Such as zoom (moving to another form), enforcing business rule (for example Vendor name must be in uppercase letters) and disabling field that do not apply for your site.

Custom library is placed in AU_TOP / resource directory.

Event Passed to Custom-Library:






Qns78: What is the Component of alerts.

Ans78:  1. Message


3.Operating system script

4. Concurrent request.

Qns79: What is difference between charge back and adjustment?


A new debit item that u assign to your customer closing an existing, outstanding debit item. A receivable feature that allows u to increase or decrease the amount due of your invoice, debit memos, charge back.

Qns80: What are types of invoice?


NINE Type:StandardCredit memoDebit memoExpense Report

PO default


Quick match

Withholding tax


Qns81: What are sub modules in Financials?


Sub module in Financials
CM (cash management)
Financial Analyzer

Qns82: Concept of Multiorganisation, Explain?

Ans82:   Multi organization allows u to setup multiple legal entities within a single installation of oracle applications.


SET OF BOOKS : Within one set of books u may define one or more legal entities.

LEGAL ENTITY: each legal entity has its own employer tax identification number.

And prepare its own tax forms. Each legal entity has its own Tax forms. Each legal entity has its own set of federal tax rule, State tax rule and local tax rule. Legal entities consist of one or More operating units.

OPERATING UNIT: operating units’ represents buying and selling units with in your Organization. Oracle order Entry, Oracle receivables, Oracle Purchasing,  And Oracle Payables.

INVENTORY ORGANIZATION:  an Inventory organization is a unit that has inventory transactions. Possibly manufactures and or distribute products.

Qns83: How will u attach SOB?

Ans83: STEP1: Create a new Responsibility.

STEP2: Attach the new responsibility to an existing user.

STEP3: Defining a new Period Type.

STEP4: Defining an accounting calendar.

STEP5: Defining a set of books.

STEP6: Attach the set of books to your responsibility.(NàProfileàSystem)

STEP7: Signing on as new responsibility.

Qns84: What are key functions provided by Oracle General Ledger?


Function Provided by GL
General AccountingBudgetingMultiple CurrenciesIntercompany AccountingCost Accounting


Financial Reporting

Qns85: What do u means by cost center?

Ans85: COST center gives the information about investment and returns on different projects.

Qns86: what is Fiscal Year.

Ans86: Any yearly accounting Period without relationship to a calendar year.

Qns87: What is Credit-memo?

Ans87: A document that partially or reverse an original invoice.

Qns88: How data is transferred from legacy system to Oracleapps table.

Ans88: A system other than oracle apps system is called legacy System.

Qns89: What is Chart of Accounts?

Ans89:  The account structure your organization uses to record transaction and maintain account balances.

Qns90: What are different types of budgets?


Types of Budgets
OperatingCapitalMaster Production ScheduleVariableTime-Phased

Qns91: How others modules are integrate through GL.

Ans91:  Integration of module With GL

Qns92: Explain Payable Cycles

Ans92: Four steps in AP Cycle

PAYABLE CYCLE                  

Four steps in Payable Cycles:

STEP1: Enter Invoice (this process may or may not include matching each invoice with PO).

STEP2: Approve invoice payment.

STEP3: Select and pay approval invoices.

STEP4: Reconcile the payment with bank statement


A.  Time periods you define to age your debit items. Aging buckets are used in the Aging reports to see both current and outstanding debit items. For example, you can define an aging bucket that includes all debit items that are 1 to 30 days past due.

Payables uses the aging buckets you define for its Invoice Aging Report


A.  An invoice you receive from a supplier representing a credit amount that the supplier owes to you. A credit invoice can represent a quantity credit or a price reduction.


A document that partially or fully reverses an original invoice.


The day of the month that determines when an invoice with proximate payment terms is due. For example, if it is January and the cutoff day is the 10th, invoices dated before or on January 10 are due in the next billing period; invoices dated after the 10th are due in the following period.


A.  An invoice you generate to send to a supplier representing a credit amount that the supplier owes to you. A debit invoice can represent a quantity credit or a price reduction.


A.   A method used to group journal entries by currency and journal entry category within a journal entry batch. When you initiate the transfer of invoices or payments to your general ledger for posting, Payables transfers the necessary information to create journal entry headers for the information you transfer. Journal Import in General Ledger uses the information to create a journal entry header for each currency and journal entry category in a journal entry batch. A journal entry batch can have multiple journal entry headers.


Apps Interview Ques and Ans

1) What is ERP? Architecture of apps?

A packaged business software system that lets a company automate and integrate the majority of its business processes; share common data and practices across the enterprise; [and] produce and access information in a real-time environment.

2) Tell me some thing about SQL-LOADER.

Sql * loader is a bulk loader utility used for moving data from external files into the oracle database.

Sql * loader supports various load formats, selective loading, and multi-tables loads.

1) conventional

–The conventional path loader essentially loads the data by using standard ‘insert’ statement.

2) direct

— the direct path loader (direct = true) by possess of logic involved with that, and loads directly in to the oracle data files.


My data.csv file

1001, “scott tiger”,1000,40


Load data

Infile ‘c:\data\mydata.csv’

Into table emp

Fields terminated by “,” optionally enclosed by ‘”’

(empno, empname,sal,deptno)

>sqlldr scott/tiger@vis

control=loader.ctl  log= gvlog.log  bad=gvbad.bad  discard=gvdis.dsc .

3)  how do u dump data from pl/sql block to flat files?

Using utl_file package, we can dump data from pl/sql block to flat file.

PRE-REQUIREMENTS for UTL_FILE is specify the accessible directories for the UTL_FILE function in the initialization file (INIT.ORA) Using the UTL_FILE_DIR parameters.



–remember to update INITSID.ORA,

–utl_file_dir = ‘c:\oradata’


Fp utl_file.file_type;


Fp := utl_file.fopen(c:\oradata’,tab1.txt’,’w’);

Utl_file.putf(fp,’%s %s \n ‘text field’, 55);



4) What is SET-OF-BOOKS?

Collection of Chat of Accounts and Currency and Calendars is called SOB

5)     What is the interface?

Interface Table is a table which is used as medium for transfer of data between two systems.

6)     What is invoice?

Send you a request for payment

7)     What is INBOUND and OUT BOUND? (Different types of interfaces)

Inbound Interface:

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

Outbound Interface:

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

8)      Tell me what r the Base tables in the AR?

hz_parties      (party_id)     (store info about org, groups and people)

HZ_PARTIES stores information about parties such as organizations, people, and groups, including the identifying address information for the party.

 hz_cust_accounts (cust_account_id)

HZ_CUST_ACCOUNTS stores information about customer relationships. If a party becomes a customer, information about the customer account is stored in this table. You can establish multiplecustomer relationships with a single party, so each party can have multiple customer account records in this table.

 hz_cust_acct_sites_all  (cust_acct_site_id)

HZ_CUST_ACCT_SITES_ALL stores information about customer sites.One customer account can have multiple sites. The address is maintained in HZ_LOCATIONS.

 hz_cust_site_uses_all   (site_use_id)

HZ_CUST_SITE_USES_ALL stores information about site uses or business purposes. A single customer site can have multiple site uses, such as bill to or ship to, and each site use is stored as a record in this table.

hz_party_sites (party_site_id)

HZ_PARTY_SITES stores information about the relationship between Parties and Locations. The same party can have multiple party sites.Physical addresses are stored in HZ_LOCATIONS.

hz_locations (location_id)

HZ_LOCATIONS stores information about physical locations.

hz_Person_Profiles (person_profile_id)

HZ_PERSON_PROFILES stores detail information about people.

hz_Organization_Profiles (organization_profile_id)

HZ_ORGANIZATION_PROFILES stores credit rating, financial statistics, socioeconomic and corporate linkage information for business sites. The primary key for this table is ORGANIZATION_PROFILE_ID.

9)      What r the table’s interface tables in the customer interface tables?

1)     Ra_customers_interface_all

This table stores customer, address, and business purpose information. You do not have to enter values in this table if you do not want to import customers, addresses, or business purposes.

 ADDRESS1 through 4

Enter the address for your customer in these four columns. You can enter up to four lines of an address.


If you enter a value in ORIG_SYSTEM_ADDRESS_REF, you must enter a value in ADDRESS1. For multiple rows with the same address reference, insert values in address 1–4.

Destination:                      HZ_LOCATIONS.ADDRESS1,




2) Ra_customer_profile_int_all

A customer level profile must exist in A_CUSTOMER_PROFILES_INTERFACE for new customers and each bill–to business purpose.

3) Ra_contact_phones_int_all

This table stores telephone numbers for customers, addresses and contacts as well as contacts for customers and addresses.

4) Ra_customer_banks_int_all

This table stores bank information for a customer or for a specific Bill–To address, you must enter a bank account for this customer,

5) Ra_cust_paymethod_int_all

To import payment methods for customers and bill–to business purposes,

10) What r the staging tables in the customer interface?




Ra_customers_contact points_stg



11)Tell me some mandatory columns in the customer interface tables?

a) Ra_customers_interface_all

1) Orig_system_customer_ref

2) insert_update_flag

3) customer_number

4) customer_status


6) last_updated_date


8) creation_date.

b) Ra_customer_profile_int_all

1) customer_profile_class_name

c) Ra_contact_phones_int_all



3) telephone_type

         d) Ra_customer_banks_int_all

1) bank_a/c_name



e) Ra_cust_paymethod_int_all

1) payment_method_name

12)Tell me the Navigation for customer interface?

Receivables à Interface à Customers

13. What tables cannot be updated through customer interface?

No updates will be allowed to be made through customer interface for

Following tables







14. How to send additional customer and address information through customer interafce 

Here is where attribute columns are used.

* Additional Customer data can be populated in

RA_CUSTOMERS_INTERFACE_ALL.customer_attribute1 to 15

This will go into RA_CUSTOMERS.attribute1 to 15

* Additional address information can be populated in

RA_CUSTOMERS_INTERFACE_ALL.address_attribute1 to 15

This will go into RA_ADDRESSES_ALL.attribute1 to 15

And so on.

15. What should be the batch size (number of customer records) general guidelines for optimal performance

About 10,000 records per bacth is ideal, it is suggested to keep the batch

size small.

   16. Why does customer interface error out if there is mismatch in address information?

Because the code validates against these mismatches.

arplscin.sql and arplbcin.sql 

It validates the address being inserted or updated with respect to the tax

location flexfield structure.  For each row being inserted or updated in

RA_CUSTOMERS_INTERFACE, and that has not already been marked in error,

the set_location_ccid function is called to return either an existing ccid

for the address entered or to create a new entry in AR_LOCATION_VALUES for

this new address.  The RA_CUSTOMERS_INTERFACE record is then updated with the

value of the ccid returned.

17. How do you send records at customer level profile and address/site level profile?

For every customer record in RA_CUSTOMERS_INTERFACE_ALL, insert two records  in table RA_CUSTOMER_PROFILES_INT_ALL.    (Refer Note: 1070800.6 )

18. Does Customer Interface import salesperson data?

No, Refer Enhancement Bug: 147495

19. Customer Interface process can be used for updating the customer information How does the UPDATE work?

Current functionality of Customer Interface is to update all the data.  You cannot run Customer Interface to update only changed data. (Refer Bug: 879121 for the intended functinality)

20 .   Tell me what is the procedure to develop an interface?           

  1. First we will get the Requirement document.
  2. We will create control file based on that plot file.
  3. Then the control files which loads the data into staging tables.
  4. Through pl/sql programs we will mapping and validate the data and then dump into the interface tables.
  5. Through the standard programs we will push the data from interface tables to Base tables.

21.     What validations u did in the customer interface?

  1. customer name : the same customer reference can’t have different customer names with in this table


  1. customer number : must be null if your r using automatic customer numbering, must exit if you are not using automatic customer numbering. This value much be unique with in HZ_PARTIES
  2. customer status : must be ‘A’ for active or ‘I’ for inactive


  1. bank account num or bank account currency code :

if the bank a/c already exist do not enter a value

if the bank a/c does not exist  you must enter a value

  1. bank a/c name : it must exist in AP_BANK_ACCOUNTS or if it does not exist values must exist for BANK_A/C_CURRENCY_CODE




Note : every interface table has two error msg

1)      Error code.

2)      Error msg.

22.      How can u call a standard interface program from sql or pl/sql code?









FND_CONCSUB(can submit conc program in host invironment)

24.      Tell me some API?



Is the Program exits, delete conc program and its executables.





25.  What are profile options?

Is the Functional and Technical behavior of Oracle Applications Package.

EX: – I want to assign the user3 responsibility to p4 printer then

System Administrator àProfile àSystem


26.  Oracle E-Business suite?

Oracle apps + analytical components software.

(Oracle discover)

(Oracle sales analyzer)

(Oracle financial analyzer)

(Oracle marketing analyzer)

27. What are some of the important fields that Customer Interface does not load?

Not all fields in RA_CUSTOMERS are being loaded by the interface.










(Refer Enhancement Request Bug: 245300)

28. New TCA/Customer Model, how to load customer as PERSON or ORGANIZATION through Customer Interface?

a) Populate ra_customers_interface_all . person_flag = ‘Y’

Run Customer Interface process will load this record as PERSON

b) Populate ra_customers_interface_all . person_flag = ‘N’ ( or NULL )

Run Customer Interface process will load this record as ORGANIZATION

29. What is multi org?

“Legal entity has more than one operating unit is called as multi org”

          a) Business group — Human resources information is secured by

Business group

b) Legal entity.    — inter-company and fiscal/tax reporting.

Security à responsibility à operating unit.        

c) Operating unit — secures AR, OE, AP, PA and PO Information.

d) Organizations  — is a specialize unit of work at particular locations

30. What are the User PARAMETERS in the Reports?




FND SRWINIT        sets your profile option values, multiple organizations and allows Oracle Application Object Library user exits to detect that they have been called by an Oracle Reports program.

FND SRWEXIT       ensures that all the memory allocated for AOL user exits have been freed up properly.

FND FLEXIDVAL   are used to display flex field information like prompt, value etc

FND FLEXSQL      these user exits allow you to use flex fields in your reports

FND FORMAT_CURRENCY   is used to print currency in various formats by using formula column

32. PL/SQL stored procedure parameters?

       or      what are the two parameters that are mandatory for pl/sql type concurrent program?

Procedure/function (ERRBUF   OUT



ERRBUF :-    Used to write the error message to log or request file.

RETCODE :- Populate log request file with program submission details info.

33) What is Value Set?

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

–When ever the value set associated with any report parameters. It provides list of values to the end user to accept one of the values as report parameter value.

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

 34) What r the validation types?

1) None          ——– validation is minimal.

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

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

prior value.

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

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

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

6) Translatable independent —– input must exist on previously defined list

of values; translated values can be used.

7) Translatable dependent ——- input is checked against a subset of values

based on a prior values; translated value can be used.

35) Form development process?

a) open template form

b) Save as .fmb

c) Change the form module name as form name.

d) Delete the default blocks, window, and canvas

e) Create a window.

f) Assign the window property class to window

g) Create a canvas   (subclass info)

h) Assign canvas property class to the canvas

I) assign the window to the canvas and canvas to the window

j) Create a data block

k) Modify the form level properties. (sub class item à Text item)

l)  Modify the app_cusom package. In the program unit.

m) Modify the pre-form trigger (form level)

n) Modify the module level properties ((console window, First navigation

p) Save and compile the form.

Place the .fmx in the server directory.

Q) Register in the AOL

                                    APPLICATION à FORM

                                    APPLICATION à FUNCTION

                                    APPLICATION à MENU

36)How do u customize the Reports?

  1. Identify the Short name of the standard report in which module we have to customize

Ex: – if u want to customize in the AR module path is

              Appl top\ar\11.5.0\reports\US\ .rdf

  1. Open the .rdf file in Report builder and change the name of the module.
  2. Open the data module and modify the query (what is client requirements) assign the columns to the attributes.
  3. Go to report wizard and select, what r the newly created columns.
  4.  Then Compile it. Then u will get a .rep file in the specified module. If it is not in the specified directory then we have to put in the server directory.
  5. Then Register in the AOL   Concurrent àexecutable.

                                                  Concurrent à program.

  1. g.      go to system administrator  SecurityàResponsibilityàrequest

h)  Add and assign a concurrent program to a request group

37.    Difference b/w procedure and function?
A procedure may return (one or more values using OUT & INOUT Parameters) or may not return a value. But a function has to return a single value and has the return clause in its definition. Function can be called in select statements but procedure can only be called in a pl/sql block.  Procedure’s parameters can have IN or OUT or INOUT parameters. But function’s parameters can only have IN parameters.
38.    Difference b/w ROWID and ROWNUM?
ROWID: It gives the hexadecimal string representing the address of a row. It gives the location in database where row is physically stored. ROWNUM: It gives a sequence number in which rows are retrieved from the database.
39.    Give some examples of pseudo columns?

40.    Difference b/w implicit cursor and explicit cursor?

Implicit cursors are automatically created by oracle for all its DML stmts. Examples of implicit cursors: SQL%FOUND, SQL%NOTFOUND, SQL%ROWCOUNT, SQL%ISOPEN; Explicit cursors are created by the users for multi row select stmts.
41.    How to create a table in a procedure or function?
See the below piece of code:  Since create stmt can be used only at the sql prompt, we have used dynamic sql to create a table.

                    L_STMT VARCHAR2(100);
                    DBMS_OUTPUT.PUT_LINE('STARTING ');
                    L_STMT := 'create table dummy1 (X VARCHAR2(10) , Y NUMBER)';
                    EXECUTE IMMEDIATE L_STMT;
                    DBMS_OUTPUT.PUT_LINE('end ');

The above piece of code can be written In procedure and function DDL’s can be used in function provided that function should be invoked in Begin-End block not from Select statement.

42.    Explain the usage of WHERE CURRENT OF clause in cursors?

Look at the following pl/sql code:

                   CURSOR wip_cur IS
                   SELECT acct_no, enter_date
                   FROM wip
WHERE enter_date < SYSDATE -7
FOR wip_rec IN wip_cur
                   INSERT INTO acct_log (acct_no, order_date)
                   VALUES (wip_rec.acct_no, wip_rec.enter_date);

                   DELETE FROM wip
          END LOOP;

“WHERE CURRENT OF” has to be used in concurrence with “FOR UPDATE”  in the cursor select stmt.
“WHERE CURRENT OF” used in delete or update stmts means, delete/update the current record specified by the cursor.
By using WHERE CURRENT OF, you do not have to repeat the WHERE clause in the SELECT statement.

43.    What is the purpose of FORUPDATE?
Selecting in FOR UPDATE mode locks the result set of rows in update mode, which means that row cannot be updated or deleted until a commit or rollback is issued which will release the row(s). If you plan on updating or deleting records that have been referenced by a Select For Update statement, you can use the Where Current Of statement.

The RAISE_APPLICATION_ERROR is a procedure defined by Oracle that allows the developer to raise an exception and associate an error number and message with the procedure other than just Oracle errors. Raising an Application Error With raise_application_error

   num_tables NUMBER;
   IF num_tables < 1000 THEN
      /* Issue your own error code (ORA-20101) with your own error message. 
         Note that you do not need to qualify raise_application_error with 
         DBMS_STANDARD */
      raise_application_error(-20101, 'Expecting at least 1000 tables');
      NULL; -- Do the rest of the processing (for the non-error case).
   END IF;

The procedure RAISE_APPLICATION_ERROR lets you issue user-defined ORA- error messages from stored subprograms. That way, you can report errors to your application and avoid returning unhandled exceptions.

45.    What is mutating error?
Mutating error occurs in the following scenario:
46.    Can we have commit/rollback in DB triggers?
Having Commit / Rollback inside a trigger defeats the standard of whole transaction’s commit / rollback all together. Once trigger execution is complete then only a transaction can be said as complete and then only commit should take place. If we still want to carry out some action which should be initiated from trigger but should be committed irrespective of trigger completion / failure we can have AUTONOMUS TRANSACTION. Inside Autonomous transaction block we can have Commit and it will act as actual commit.

47.    Can we make the trigger an autonomous transaction?
This makes all the difference because within the autonomous transaction (the trigger), Oracle will view the triggering table as it was before any changes occurred—that is to say that any changes are uncommitted and the autonomous transaction doesn’t see them. So the potential confusion Oracle normally experiences in a mutating table conflict doesn’t exist.

48.    What is autonomous transaction?
Autonomous transaction means a transaction that is embedded in some other transaction, but functions independently.

49.    What is a REF Cursor?
The REF CURSOR is a data type in the Oracle PL/SQL language. It represents a cursor or a result set in Oracle Database.

50.    What is the difference between ref cursors and normal pl/sql cursors?


          type rc is ref cursor;
          cursor c is
          select * from dual;
          l_cursor rc;
          if ( to_char(sysdate,'dd') = 30 ) then
                   open l_cursor
                             for select * from emp;
          elsif ( to_char(sysdate,'dd') = 29 ) then
                   open l_cursor
                             for select * from dept;
                   open l_cursor
                             for select * from dual;
          end if;
          open c;

Given that block of code you see perhaps the most “salient” difference, no matter how many times you run that block The cursor C will always be select * from dual.  The ref cursor can be anything.

Apps Interview Questions 1

1) Where did U find the Applcation short name and basepath names?

A. select basepath,application_short_name from fnd_application from the backend.
From the from end we can get it Navigation Application Developer.—–> Application—->Register
The application name we will get from FND_APPLICATION_TL

2) Where can U find the release version from backend?

A. SELECT release_name from FND_PRODUCT_GROUPS;  —

3)What is the Diff between APPS Schema and other Schemas?
ans: Apps schema contains only Synonyms we can’t create tables in apps schema,
where as other schemas contains tables, & all the objects. Here only we will create the tables
and giving grants on created tables. Almost all every time we will conenct to apps schema only.

4)What are the Folders we will find below the 11.5.0 Folder?
ans: Reports,forms,sql,lib,log,out,bin,admin,html,xml,msg,def, etc

5)Can we create Tables in the Apps Schema?


6)Can we have custom schema when it it required?
ans: yes, we can have custom schema,
when we want to create a new table we required custom schema.

7)What is meant by concurrent Program?
ans: It is nothing but Instance of the execution along with parameters & Incompatables.
Here Incompatables nothing but if we r submiting cc programs if any one can be execute
in those program , which programs r  not imp yet this time we will mention those programs
in incompatables tab.

8)What are the steps we will follow to register Reports as Concurrent Program?
ans: First develop the report & save it in local machine.
upload into custom_top/11.5.0/reports/us/
go to system administrator open executable form
create executable by mentioning executable method as reports ,executable as report name which was created.
go to cc program form create ccprogram by attach executable name in executable section.
then attach this ccprogram to request group,
Request group to Responsibility.
Responsibility to User.

9)What is meant by Request group?
ans: It is nothing but collection of cc programs.

11)Types of User Exits?
13)How to Print request ID in the Output?
ANS: By using to P_CONC_REQUEST_ID parameter in the report, & take one object field in the layout
by specifing source for that object type is :P_conc_request_id.
14)What is meant by responsibility?
ANS: Responsibility nothing but the collection of Data Group, Request Group and Menu.

15)What are the things are mandatory at the time of creating Responsibility?
Ans: Application Name, Responsibility Key, Effective Dates, Data Group and Menu.
17)Can we delete Responsibility?
Ans: No We cannot delete Resposibility but we can disable it by using effective dates.

18)What is Errbuf and RetCode?
Ans: This are to manditory OUT parameters whenever you are going executable method as PL/Sql procedure
Errbuf — is to display the phase
Retcode— is to display the status of the program in the SRS window.
19)how to Write the messages into the Output file from PL/SQl Procedure?
Ans: By using FND_FILE.PUT_LINE(FND_FILE.OUT, ‘MESSAGE’) for outfile
20)What is Control file?Syntax?
Ans: It is a Sql * loader program file to transfer the data from flatfile to stage tables.
21)What is the Diff between Discard file and Bad File?
Ans: It contains the rejected records which are rejected by SQL*Loader,
because of bad format or data type mismatch and so on.  The extension of the bad file .bad.
Discard : :  It contains the rejected records which are rejected by control file
if we have specified any condition in the control file if record is not satisfying
the condition the complete record will be inserted in the discard file.  The extension of file is .dis.

22)How to issue the Commit in Control File?
Ans: Along with the SQLLDR command we can also use the few commands like as bellow

LOAD – Will be used to load the first ‘N’ records
SQLLDER username/password@Hoststring Load=10
SKIP – TO skip the first ‘n’ records
SQLLDER username/password@Hoststring skip=10

ROWS – It will be used to issue the commit after insert ’N’records for every 10 records internally auto commit will happen
SQLLDER username/password@Hoststring rows=10
INIT.ORA file contains the default values for the commit point

23)How to insert data into Multiple tables at a time?
Ans: by using WHEN command in ctl file
24)How to pass parameter to the Control file?
Ans : like &1, &2 These are should be in sequential order we cannot skip the sequence.

25)What is Value sets? Types of Value sets?
Ans: It is a Validation Values we will use these to restrict user to enter correct data into the fields
26)How to register progarm from Backend?
Ans: fnd_program.request
27)How to submit Concurrent Program from Backend?
Ans: fnd_request.submit_request

28)Do we need to issue the Commit statement after calling concurrentprogram?
Ans: No The apps Environment session is auto commit.

29)What are the types of PO’s we have?
Ans: We have Standard, Blanket, Planed , Contract Types.

30)What are the Match Approvals we have?
Ans: We have 2way, 3way , 4 way match approvals.

31)Where the item Name will be stored?

32)What are the levels we have in Purchase Orders form?
Ans: Header, Line, Shipment,Distribution

33)Where the BLANKET po Data will be stored?
Ans: PO_headers_all        in this we can retrive the BLANKET PO data by specifying Type_lookup_code=’BLANKET’

34)How to find the receipt no if we give PO number?
Ans: we have a link between these two  i.e  po_distribution_id,po_header_id in the Rcv_shipment_lines table

35)What are the receipt tables? and as well as receipt types?
Ans: rcv_shipment_headers
We have 3 Receipt types.  Direct Delivery, Standard Receipt, Inspection Required.

36)IN the Same table RFQ,QUOTATION,PO data will be stored then how to identify the
information wether it is RFQ data or Quotation data or PO data?
Ans: The Difference we can see in the Type_lookup_code column.

37)What is the flow of Oracle Purchasing Application?
Ans : Requisition–>RFQ—>Quotations—>Qoute Analysis—>PO—> Receipts

38)Is Item filed is mandatory in Purchase Order form?
Ans: Its is not an Yellow field so it is not mandatory, but for which Item we are creating this PO we need to mentioned.
For that porpuse that is mandatory.

39)Where Shipto and Billto Data will be stored?
Ans: In the RA_Customer_trx_all

40)While Creation  of Executable we are giving the Application Name and also at the time of creating the Concurrent Program we are giving Application Name what is the Diff between these two?
Ans: While Creation of Executable means In which TOP our developed object is reseading.
While CC Program means To Which Responsibility we can attach this Program.

41)How to set the environment to single organization?
Ans: fnd_client_info.set_org_context(‘org_id’);

42)What is meant by Custom Top and what is the Purpose?
ans: Custom Top is nothing but Customer Top, which is created for customer only. we can have multiple custom tops based on client requirement.  It is used to store developed & customized components. whenever oracle corp appling patches it will over ride on all the modules except custom top. that’s why we will use custom top.

43)What is the Significancy of US Folder?
ans: It is nothing but language specification by default it is in american language.
We can have multiple languages folders based on installed languages.
from backend we can get it from   FND_LANGUAGES — COL –INSTALLED_FLAG I,B,D
select language_code,nls_language from fnd_languages
where installed_flag like ‘B’

44)What are the objects APPS schema contain.

Ans:- The APPS schema contains synonyms to all tables and

sequences as well as all server–side code (stored procedures, views,

and database triggers).

For ERP applications, data partitioning is performed by database

views. These views reside in the APPS Oracle schema and derive the

appropriate operating unit context from an RDBMS variable.

45.What is Workflow and what is the benefit of using workflow

Ans:-A graphical tool that allows you to CREATE, TRACK and MODIFY business process.

Embedded in the Oracle Database Server, It can monitor the workflow activity statuses.


*Create a clear business process definition

*Automate the business routings

*Monitor the process

*Allow users to define their own business process to suit their organization needs.

*Readily change the business process definitions in case of a change business process.

46.Where exactly u place your forms in APPS environment.

Ans:- /apps/visappl/au/11.5.0/forms/US

Oracle Forms Interview and Answer

Question 1: What is Form Builder?

Form builder is a component of Oracle Developer that is used to develop form based Applications for presenting and manipulating data.

Question 2: What is a difference between Frame, Item and Block?

Frame is used to arrange data block items. Item are Members of data block. Items grouped into Records. Block provides a mechanism for grouping related items into a functional unit for storing, displaying and manipulating Records.

Question 3: What is a difference between Window, Canvas and View Port?

Window is a container for all visual objects that make up a form application. Window performs functionality such as scrolling, moving and resizing. A single form may include several windows. Each window should have at least one content canvas. Each new form module has one predefined window which is called Window1 and is a modeless window.

Canvas is a surface inside a window on which visual objects can be placed. A canvas is assigned to a window. Each item in a form must refer to not more than one canvas.

View port is a visible portion of canvas.

Question 4: What is MDI?

MDI (Multiple Document Interface) is a parent window through which multiple documents can be accessed and browsed.

Question 5: What is a difference between Modal and Modeless window?

Modal Window is a restricted window that requires a window exit before moving to another window. You cannot move freely between windows. Modeless Window is an unrestricted window that the user can move freely. User can have simultaneously access to more than one window.

Question 6: What are Canvases in Oracle Forms and describe different types of Canvases?

Canvas is a surface inside a window on which visual objects can be placed. A canvas is assigned to a window. Each item in a form must refer to not more than one canvas.

Types of Canvases:

1)      Content Canvas

2)      Stacked Canvas

3)      Toolbar Canvas

a)      Vertical Toolbar

b)      Horizontal toolbar

4)      Tab Canvas

Content Canvas is a base canvas and is a default canvas type. Content canvas occupies the entire content area of the window. More than one content canvas can be assigned to the same window but only one content canvas can be displayed on a window at a time. To display more than one content canvas at the same time, assign each content canvas to a different window.

Stacked Canvas is displayed on top of the content canvas and is usually small in size then that of content canvas in the same window. To convert an existing content canvas to a stacked canvas, simply change its canvas type property from content to stack. To show and hide canvases programmatically, use the SHOW_VIEW, HIDE_VIEW and SET_VIEW_PROPERTY built-ins. stacked canvas is useful to display additional information, for hiding information and can act as a scrolling view.

Toolbar Canvas is used to create toolbar for individual window. Toolbar canvas is of two types: Vertical and Horizontal toolbar canvases.

Vertical Toolbar canvas is displayed to the left of a content canvas. Horizontal Toolbar canvas is displayed at the top of a content canvas. Toolbar canvas is used to hold buttons and other frequently used GUI elements. Toolbar canvas increases application usability and decrease form module maintenance Time. Object Navigator window has both horizontal and vertical toolbars where as Property Palette has a horizontal toolbar only. You can also create more than one toolbar for the same window. MDI Toolbar: Attaching a Toolbar to a form provides a MDI toolbar, so that there is no need to create more than one toolbar for a form application that uses multiple windows. Toolbar can be attached to individual windows or to the form itself.

Tab Canvas enables the user to organize and display data on separate Tabs. Tab canvas is displayed on top of the Content Canvas. Each Tab canvas is made up of one or more Tab pages and must have at least one. Each Tab page occupies an equal amount of space on Tab canvas. Any Item you place on a Tab canvas has a Canvas property as well as Tab page Property. The ordering of Tab pages in the object navigator determines the left-to-right or Top-To-bottom order of the Tabs at runtime. Tab canvas provides easy access to data and displays large amount of data on a single canvas and is also used to hide information.

Question 7: What are Messages and Alerts?

Messages and Alerts are the form of communication between the application and the User.

Types of Messages:

1)      Informative message

2)      Error message

3)      Working message

4)      Application message

Informative Message informs the user about the current state of processing. Example: Last value retrieved Press [Accept] to enter answer. Informative messages can be suppressed with an On-Message Trigger.

Error Message informs the user about the errors interrupting the processing. Example: Function key not allowed. Press [Show function keys] for list of valid keys too many arguments on command line. Error messages can be suppressed with an On-Error Trigger.

Working Message informs the operator that the form is currently in processing. Example: Working… Working message can be suppressed by setting the system variable SUPPRESS_WORKING to True.Example: Sytem.suppress_working: =’TRUE’

Application Message is created by the programmer using the MESSAGE built-in.

Types of Alerts:

1)  System Alert

2)  Application Alert

Alerts are displayed in a Modal window.

System Alert is a system acknowledgement to the operator before processing can be continue.

Application Alert are designed and created by the programmer as part of application using SHOW_ALERT built-in.

Question 8: Explain Message Severity level in Oracle Forms?

Message Severity Level is used to suppress messages according to the severity level. There are six different severity levels that the programmer can affect: 0, 5, 10, 15, 20, and 25. The default value is 0 for all messages. If the severity level is greater than 25 than the   Message cannot be suppressed. During a run form session, form builder suppresses all messages with severity levels that are the same or lower than the indicated severity level. Defined with: system.message_level. Form builder does not suppress prompts or vital error messages, no matter what severity level you select.

Question 9: When can the Triggers in oracle forms can be failed?

Triggers are failed only when one of the following occurs:

a)      During an Unhandled exception

b)      By raising built-in exception FORM_TRIGGER_FAILURE. Means failing a trigger in a controlled manner.

c)      FORM_TRIGGER_FAILURE is a predefined Pl/Sql exception available only in form Builder.

Question 10: What is a difference between ON-ERROR and ON-MESSAGE Trigger?

ON-ERROR Trigger fires whenever an Oracle Forms causes an error message to display. ON-ERROR Trigger is used to replace default error message with a customized     Message. Built-in functions that are used to determine the Error message are:     ERROR_CODE, ERROR_TEXT, ERROR_TYPE (FRM, ORA).

ON-MESSAGE Trigger fires whenever an Oracle Forms causes a message to     display. ON-MESSAGE Trigger is used to replace default message with a customized     Message. Built-in functions that are used to determine the message are: MESSAGE_CODE, MESSAGE_TEXT, MESSAGE_TYPE (FRM, ORA, NULL). 

Question 11: Name the types of Alert properties?

Types of Alert properties are: Stop, Caution and Note.

Question 12: What are Input items? Explain different types of Input items?

Input Items are those items that accepts user Input. Input items enables insert, update, delete or query an item process.

Types of Input Items:

Check Box is a two-state interface object that indicates whether a certain value is Checked or unchecked. Trigger associated with check box is WHEN-CKECKBOX-CHANGED.

WHEN-CHECKBOX-CHANGED:This Trigger fires whenever an operator changes the state of a check box, either by clicking with the mouse or through keyboard interaction.

List Item consists of many alternative choices, out of which one and only one can be selected at a time. There are three types of list item: Poplist, Tlist and Combo Box. Poplist is a field with an iconic button attached to the right side. When user clicks on     a poplist, all of its elements are displayed. Tlist appears as a rectangular box that displays the list elements. Scroll bar appears to the right side of the list, if the list is bigger.

Combo box accepts user input. Appears as a field with a down arrow next to its right side. Trigger associated with list item is WHEN-LIST-CHANGED. WHEN-LIST-CHANGED Trigger fires when an operator selects a different element in a list item or de-selects the currently selected element. In addition, if a When-List-Changed trigger is attached to a combo box style, it fires each time the operator enters or modifies the entered text.

Radio Group consists of a fixed number of radio button options and only one can be selected at a time. It is alternative to List item. Consider List Item instead of Radio Group if there are more than four or five choices. Trigger associated with Radio Group is WHEN-RADIO-CHANGED. WHEN-RADIO-CHANGED Trigger fires when an operator selects a different Radio button in a radio group or de-selects the currently selected radio button either by clicking with the mouse or through keyboard interactions.

Question 13: What are Non-Input items? Explain its types?

Non-Input Items are those items that do not accept direct user input.

Types of Non-Input items:

Display Item is a read-only text item. Display item is similar to text item except that it cannot not be edited, queried, Navigated or accepts user input.

Image Item is used to store and display images. User can populate an image item either by fetching from a LONG RAW or BLOB Column or by using a trigger and a built-in to populate the image item programmatically. Images can be stored in either the database or the file system. When user insert images into the database by means of a save (commit), they are automatically compressed using the Oracle image compression. Images can also be populated with a BFILE, but will need to use DBMS_LOB to do so. Images cannot be cached. Triggers associated with the image item are: WHEN-IMAGE-ACTIVATED, WHEN-IMAGE-PRESSED. WHEN-IMAGE-ACTIVATED Trigger fires whenever an operator selects or de-selects the image item. WHEN-IMAGE-PRESSED Trigger fires whenever an operator single-click or double-click on an image item.

Push Button Push Button is a non-input item that does not store or display data. Push Button is an interface object that is clicked to initiate an action. It is used for: Navigating between items, Display an LOV, Invoke an editor, calling to another window, Commit the data, Issue a query, Perform Calculations. Trigger associated with the Push Button is: WHEN –BUTTON-PRESSED.WHEN-BUTTON-PRESSED Trigger fires when an operator selects a button either by way of key or by clicking with a mouse.

Calculated Items are read-only items that are used for performing calculations. Can be expressed as: Formula Calculated Item: Performs horizontal calculations. Involves bind variables. Summary calculated Item: Performs Vertical calculations on values of a single item over all rows in a block.

Hierarchical Tree Items displays data in the form of standard Navigator style.

Bean Area Item enables you to integrate JAVA components into your application.

JAVA Bean is a component written in JAVA that can plug into any applet or JAVA application. JAVA Beans helps to interact with the client machine.

Question 14: What are Relations in Oracle Forms and explain its types?

Relations involve the Master-Detail relationship. Relation can be build automatically through Data block wizard or manually through create toolbar.

Types of Relations:

Non-Isolated Relation is a default Type. Prevent the deletion of master record if the associated child record exists in the database. Default Triggers type that are created by this relation are: ON-CLEAR-DETAILS (Form-level), ON-POPULATE-DETAILS (Block-level), ON-CHECK-DELETE-MASTER (Block-level).

Isolated Relation allows the master record deletion if the associated child record exists. Default Triggers type that are created by this relation are: ON-CLEAR-DETAILS (Form-level), ON-POPULATE-DETAILS (Block-level).

Cascading Relation allows the deletion of child record if the associated master record is deleted. Default Triggers type that are created by this relation are: ON-CLEAR-DETAILS (Form-level), ON-POPULATE-DETAILS (Block-level), PRE-DELETE (Block-level).

The default program units (procedures) created for above all three types of     Relations are the same: CHECK_PACKAGE_FAILURE, CLEAR_ALL_MASTER_DETAILS, and QUERY_MASTER_DETAILS.

Question 15: What is Co-ordination Causing Event? Explain different types of Co-ordination?

Any event that changes the current record in a Master block is a Co-ordination Causing Event.

Types of Co-ordination:

1)      Deferred

2)      Automatic Query

Three Conditions for coordination causing event are:

1)      Immediate (Deferred=NO, Automatic Query=NO)

2)      Deferred (Deferred=YES, Automatic Query=NO)

3)      Deferred with Automatic Query (Deferred=YES, Automatic Query=YES)

Immediate: When the coordination-causing event occurs, Form builder fetches the detail record immediately.

Deferred: When the coordination-causing event occurs, the Form Builder has to navigate to the detail Block and executes the query in order to fetch the detail records.

Deferred with Automatic Query:

When the coordination-causing event occurs, the Form Builder has to navigate to the Detail Block in order to fetch the detail records.

Question 16: What are the two phases of block coordination?

Two phases of block coordination are:

Clear Phase: During the clear phase Oracle forms navigates internally to the detail block and fetches the detail records.

Population Phase: During a population phase Oracle forms issue a select statement to repopulate the detail records associated with the new master record.

Question 17: What are Editors? Explain different types of editors in oracle forms?

Editors are used for special requirements such as: larger editing window, Search/Replace, cut, copy, paste etc.

Types of Editors:

1)      Default Editor

2)      System Editor

3)      User-Named Editor

Default Editor: The default editor provides standard editing features, including search/replace and cut, copy, and paste. The default editor is built into every form and is automatically available from every text item.

System Editor: If there is a system editor available, you can specify that Form Builder should use the current system editor, rather than the default editor.

User-Named Editor: Is a named object. You can specify editor attributes such as Window display size, Position and Title.

Built-in used for Editor:

SHOW-EDITOR: Is a built-in procedure, which accepts any editor name and takes some I/P string and returns modified O/P string.

EDIT_TEXTITEM: Needs the input focus to be in the text item before the built-in is executed.

Question 18: What is a LOV? Explain its types?

LOV (List of Values): An LOV is a scrollable popup window with either single or multi-column selection list.

Types of LOV:

Static LOV: Contains the predetermined values.

Dynamic LOV: Contains values that come at runtime.

LOV for Validation property of an item:

When LOV for validation is set to true, Oracle forms compares the current value of the Text item to the values in the first column displayed in the LOV whenever the Validation event occurs. If the value in the text item matches one of the values in the first column of LOV, validation succeeds, the LOV is not displayed and the processing continues normally. If the value in the text item does not match one of the values in the first column of the LOV, Oracle forms displays the LOV and uses the Text item value as the search criteria to automatically reduce the list.

Built-in used to display the LOV are: SHOW_LOV (Function), LIST_VALUES (Procedure). Built-in that is used for setting the LOV properties: SET_LOV_PROPERTY, GET_LOV_PROPERTY.

Question 19: What are Property Classes?

A Property Class is a named object that contains a list of properties and their settings. There can be any number of properties in a property class and the properties in a class   can apply to different types of objects. Property Class can be subclass in any number of modules. Property Class can have Triggers. You can define a Trigger in a property class when you want a form, block or item that you base on the class to inherit the trigger. When you define a trigger in a property class, the trigger appears in the object navigator under the trigger node for the class, but does not appear under the trigger node for objects based on the class.

Question 20: What are the various different types of Properties in Oracle Forms?

The various different types of Properties in Oracle Forms are:

Default Property: Is the default property of an object. Is denoted by a circle.

Changed Property: When changing the default property value of an object to some new value. Is denoted by a square.

Inherited Property: Is one that takes its value from the property class. It is displayed with an arrow to the left of the property name.

Variant Property: Changes a value of inherited property results to a variant property. It is displayed with a red cross over an arrow.

Question 21: What are Visual Attributes?

Visual Attributes are the font, color and pattern properties that can be set for form and Menu objects. Visual Attributes includes the Font Properties such as Font name, font size, font style Font width etc. and color or pattern properties such as foreground color, background Color, Fill pattern etc. 

Question 22: What is an Object Group?

Object Group is used to package related Form Builder objects so that they can be copied or used in another module. Example: You might build a appointment scheduler in a form and then decide to make it available from other forms in your applications. The scheduler would probably be built from several types of objects, including a window, canvas, blocks and items that display dates and appointments and, Triggers that contain the logic for scheduling and other functionality. If you packaged these objects into an object group, you could then copy them to any number of other forms in one simple operation. You can create object groups in form and menu modules. Once you create an object group, you can add and remove objects to it as desired. Dragging a block into an object group implicitly includes all objects that are contained within that block. (Items, triggers, relations etc.). The objects in a group must all be defined in the same module, you cannot place objects from two different forms in the same object group. An object group cannot contain another object group. When an object in an object group is deleted from a module, it is removed from the object group automatically. Deleting an object group from a module does not delete the objects it contains from the module.

Question 23: What is a Record Group?

Record Group defines the data structure that is used to represent LOV and also used to exchange data between forms. A record group can have an unlimited number of columns of type CHAR, NUMBER, or DATE provided that the total number of columns does not exceed 64K. Record Group column names cannot exceed 30 characters. Record Group is local to Form Builder, rather than existing in the Database.

Question 24: Explain different types of Record Groups?

Different types of Record Groups are:

Query Record Group has an associated Select statement and is derived from the Database table.

Non-Query Record Group does not associate with the Query and its structure and values can be modified programmatically at runtime. Non-Query Record Group can be created and modified only at runtime.

Static Record Group does not associated with Query, instead can define its structure and row values at design time and they remain fixed at runtime. Static Record Group can be created and modified only at design time.

Question 25: What is a difference between Object and PL/SQL Libraries?

Object Libraries are the collection of Form objects that can be used in other modules. Can contain simple objects, property classes, object groups and program units.

PL/SQL Libraries are the collection of PL/SQL Program units including procedures, Functions and packages whose code can be referenced and called from other modules.

Question 26: What are Smart Classes?

Smart Class is an object in an object library that is frequently used as a class.

Question 27: What is OC4J?

OC4J stands for Oracle Containers for J2EE. OC4J is preferred to run form applications. Oracle connectivity with JAVA is done through OC4J. On NT, run Batch file to start (startinst.bat) or stop (stopinst.bat) OC4J. OC4J starts in DOS Window. Minimize the window in order to work; closing the window will abort OC4J.

Question 28: What is a Console?

Console provides information at Runtime. Console consists of: Message line and Status line. Message Line: The Message line displays both form and application messages. Status Line: The Status Line displays a variety of Indicators to reflect the current status of the Form Module. Such as: Record n/m, enter-query, List of values etc.

Question 29: What is a difference between OPEN_FORM, CALL_FORM and NEW_FORM?

OPEN_FORM: OPEN_FORM opens another form in a modeless window. The user can work on multiple forms concurrently. The user can navigate within multiple forms. With the OPEN_FORM the user can call another form in a different database session. Syntax: OPEN_FORM (‘form_name’, active_mode, session_mode, data_mode, paramlist); default: activate and no session mode. OPEN_FORM is a restricted procedure and cannot be called in the Enter-Query mode.

CALL_FORM: CALL_FORM calls another form in a Modal window. The user cannot navigate within different Forms. Requires to exit the called form before navigating back to the calling form. Forms are called in the same session.

NEW_FORM: NEW_FORM exits the current form and opens the new form as a parent window. NEW_FORM releases the memory by exiting the current form.

Question 30: What are the benefits of multiple form Applications?

Benefits of Multiple form Applications are:

  1. Easier to debug small form.
  2. Flexibility between forms.
  3. Easy to maintain.
  4. Modularity.
  5. Data can be exchanged between forms.

Question 31: Explain different methods for exchanging data between forms?

Data can be exchanged between forms by four different means:

1)      Through Global variables

2)      Through Parameter Lists

3)      Through Global Record Groups

4)      Through PL/SQL variables in shared libraries.

Through Global Variables: Global variables contain character data values with a maximum of 255 characters. Each Global variable is known by the same name to each form in the session. Can be created by a PL/SQL assignment, or by the DEFAULT_VALUE built-in. Example, DEFAULT_VALUE (‘’,’GLOBAL.cust_id). If the Global variable has not been initialized before it is referenced in a called form an error is reported.In order to ensure the existence of global variable use the DEFAULT_VALUE built-in. To remove default_value built-in use ERASE built-in. Ex: ERASE (‘global_name’).

Through Parameter Lists: Parameter can be of any data type. The use of parameters in Multi-form applications is limited by the fact that they are visible only to the form in which they are defined. The built-in OPEN_FORM optionally takes as an argument the name or id of a parameter list. The Built-ins that enable the user to work with parameter lists includes: GET_PARAMETER_LIST, CREATE_PARAMETER_LIST, DESTROY_PARAMETER_LIST, ADD_PARAMETER, DELETE_PARAMETER. Example: Parameter.cust_id.

Through Global Record Groups: To use Global Record Group:-

1)      Use CREATE_GROUP_FROM_QUERY to create the record group with Global_scope.

2)      Populate the Record Group with the POPULATE_GROUP built-in.

3)      The Record Group is now available to any form in the same session.

Through PL/SQL Variable in Shared Libraries: PL/SQL Variable use less memory than Global Variables. PL/SQL Variable can be of any Data Type.

To use PL/SQL variables:

1)      Create a PL/SQL Library.

2)      Create a package specification with variables.

3)      Attach the library to multiple forms.

4)      Set Variable values in calling form.

5)      OPEN_FORM with SHARE_LIBRARY_DATA option.

6)      Use variables in opened form.

Example: OPEN_FORM (‘called_lib’, Activate, No_session, Share_library_data)

Question 32: Explain EXIT_FORM in Oracle Forms?

EXIT_FORM Built-in is used for closing or exiting the form.


ASK_COMMIT: IS a default type. Gives the decision to the user.

DO_COMMIT: Posts and commit changes across all form for the current transaction.

NO_COMMIT: Validates and rollback uncommitted changes in the current form.

NO_VALIDATE: Is the same as NO_COMMIT but without validation.

Question 33: How code between forms can be shared?

Codes between forms can be shared through the followings:

1)      Library Modules by attaching them to each form as required.

2)      Stored Program Units in the database.

Question 34: Explain SYNCHRONIZE Built-in?

SYNCHRONIZE built-in is used to synchronize the Terminal Screen with the internal     State of the form. SYNCHRONIZE update the screen display to reflect the information that Form Builder has its internal representation of the screen.



FOR J IN 1..1000 LOOP






Question 35: What is a difference between Data and Control Block?

DATA BLOCK: Data Block is directly associated with the Database. This enables the user to automatically access and manipulates data in the database. Data Block is associated with either a Database Table (or View), a stored procedure, A From clause query, or Transactional triggers. Items in the data block are called data items or base table items.

CONTROL BLOCK: Control Block is created manually, they are not associated with the Database. Items in the Control Block are called Control items.

Question 36: What is a Debugger?

With the Debugger you can monitor the execution of code within the trigger and other     program units. The steps include:

1)      Step Into: Executes the next statement.

2)      Step Over: Executes the next statement without stepping into a nested subprogram.

3)      Step Out: completes the nested subprogram and steps to the next executable statement in the calling program.

4)      Go: resumes execution until the program terminates normally or is interrupted by the next breakpoint.

5)      Pause: Pauses the execution of running PL/SQL code to enable you to examine the environment. For Example, you could check variable values.

6)      Stop: Terminates debugging and program execution completely.

Question 37: What is an Indirect Reference?

Items can be referenced indirectly with the NAME_IN and COPY built-in Subprograms. Use Indirect referencing when you create procedures and functions in a library Module, because direct references cannot be resolved.

Question 38: What is a difference between NAME-IN and COPY built-in?

NAME-IN built-in (function): Returns the value of the indicated variable. The returned value is in the form of a character string. Use conversion functions for Number and Date. The NAME_IN function cannot return the contents of a global or local variable. In PL/SQL triggers that will be executed in enter_query mode, you must use NAME_IN rather than normal bind-variable notation to access values in the data-block. Bind variables cannot be referenced directly in the PL/SQL statements.

Example 1:

IF :emp.ename=’abc’—-Direct Reference

IF NAME_IN(‘emp.ename’)=’abc’—-Indirect Reference

Example 2:



COPY built-in (Procedure): The COPY built-in assigns an indicated value to an indicated variable or item. The COPY built-in is used for copying a value from one item or variable into another item or global variable. Use COPY built-in because you cannot use standard PL/SQL syntax to set a referenced item equal to a value.

Example 1:

:emp.ename:=’abc’———Direct Reference

COPY(‘abc’,’emp.ename’);—-Indirect Reference

Example 2:


Question 39: What is allowed and not allowed in Enter-Query Mode?

Enter-Query Mode Allows:

1)      Retrieve all Records

2)      Retrieve records by using selection criteria.

Enter-Query Mode does not Allows:

1)      Navigate out of the current block

2)      Exit from the runtime session

3)      Use certain functions such as Next Record.

4)      Insert new records

5)      Updating existing records

6)      Deleting Records. 

Question 40: What is a Menu Module in Oracle Forms?

Menu Module consists of a hierarchy of menus, each with selectable items.

Question 41: Explain ONETIME_WHERE property?

For instances where you want to restrict the query only once, you can programmatically set the ONETIME_WHERE property of a block.


Set_Block_Property(‘INVENTORIES’, ONETIME_WHERE,’product_id=‘||:order_items.product_id);



Question 42: What are the different methods of Navigation in Oracle Forms?

Different methods of Navigation are:

1)      Default Menu

2)      Menu Toolbar

3)      Mouse

4)      Buttons

5)      Function Keys

Question 43: What is a sequence of firing Triggers at Form level in Oracle Forms?

Sequences of firing Triggers at form level:

1)      PRE-LOGON

2)      ON-LOGON

3)      POST-LOGON

4)      PRE-FORM

5)      PRE-BLOCK




9)      POST-BLOCK


Question 44: What is a sequence of firing Triggers at Item level in Oracle Forms?

Sequence of firing Triggers at Item level:







Question 45: What are the different types of Form builder variables?

Different types of Form builder variables are:

1)      Item (:block_name.item_name)

2)      Global (:GLOBAL.variable_name)

3)      System (:SYSTEM.variable_name)

4)      Parameter (

Question 46: What are the standard validation checks for Text item?

Standard validation checks for Text Item are:

1)      Format mask

2)      Required

3)      Data Type

4)      Lowest-Highest allowed Value

5)      Validate from List

Question 47: Explain Defer Requirement Enforcement?

This property applies only when item-level validation is in effect. When DRE is set to     Yes than WHEN-ITEM-VALIDATION Trigger does not fire. That is Item Level validation does not take place, then the error will be tracked during record-level validation.

Question 48: Explain the benefits of reusing objects and code in Oracle Forms?

Benefits of reusing objects and code are:

1)      Increase Productivity: Reusing objects and code decreases development time, thereby increasing productivity.

2)      Decrease Maintenance: Changing the code at one place reflects at many other places, thereby reducing maintenance time.

3)      Increase modularity: Sharing and reusing code increases the modularity of the applications.

4)      Maintain Standards: Standard objects and code can be used for multiple form modules.

5)      Improved Application Performance: By decreasing Network Traffic.

Question 49: Explain Triggers in Oracle Forms? Also explain different categories of Triggers?

Triggers are blocks of PL/SQL code that is written to perform some specific tasks. Trigger is a program unit that is executed or fired due to an event. Triggers can be fired for events such as:

1)      Query-related events

2)      During validation or navigation events

3)      For error or messages

4)      During Post or Commit process etc.

Trigger consists of three components:

1)      Trigger Type: Events that causes the Trigger to fire. (Pre, Post, When, On, Key Events).

2)      Trigger Code: Defines the action that Trigger should perform.

3)      Trigger Scope: Defines the level of the Trigger (Form, Block or Item level)

Pre-Event: Fires before an action is performed.

Post-Event: Fires just after an action has performed.

When-Event: Fires in addition to standard Processing. Is used to augment functionality. On-Event: Fires in place of standard processing. Used to replace or bypass a process. Also used for suppressing errors and messages.

Key-Triggers: Fires in place of standard action of a function key. Fires when the operator presses the associated key or key-sequence.

Trigger is divided into following categories:

1) Block Processing Triggers: When-Clear-Block, When-Create-Record, When-Database-record, When-Remove-Record.

2) Interface Event Triggers: When-Button-Pressed, When-Checkbox-Changed, When-Radio-Changed, When-List-Changed, When-Image-Activated, When-Image-Pressed, When-Mouse-Click, When-Mouse-DoubleClick, When-Mouse-Down, When-Mouse-up, When-Mouse-Move, When-Mouse-Enter, When-Mouse-Leave, When-Timer-Expired, When-Window-Activated, When-Window-Closed, When-Window-Deactivated, When-Window-Resized.

3) Key Triggers: Function Key, Key-Fn, Key-Others.

4) Master-Detail Triggers: On-Check-Delete-Master, On-Clear-Details, On-Populate-Details.

5) Message-Handling Triggers: On-Error, On-Message.

6) Navigational Triggers: Pre-Form, Pre-Block, Pre-Record, Pre-Text-Item, Post-Form, Post-Block, Post-Record, Post-Text-Item, When-Form-Navigate, When-New-Form-Instance, When-New-Block-Instance, When-New-Record-Instance, When-New-Item-Instance.

7) Query-Time Triggers: Pre-Query, Post-Query.

8) Transactional Triggers: On-Check-Unique, On-Close, On-Commit, On-Count, On-Fetch, On-Select, On-Delete, On-Insert, On-Update, On-Logon, On-Logout, On-Rollback, Post-Change, Post-Database-Commit, Post-Forms-Commit, Post-Delete, Post-Insert, Post-Update, Post-Select, Post-Fetch, Pre-Delete, Pre-Update, Pre-Insert, Pre-Commit, Pre-Select, Pre-Logon, Pre-Logout.

9) Validation Triggers: When-Validate-Item, When-Validate-Record.

10) User-Named Triggers: Execute_Trigger(‘Trigger_name’)

Question 50: What are System Variables?

System variables are oracle form variables that are used to control the way an aplication behaves.

List of system Variables:

1)      System.Form_Status

2)      System.Block_Status

3)      System.Record_Status

4)      System.Coordination_Operation

5)      System.Master_Block

6)      System.Current_Block

7)      System.Current_Form

8)      System.Current_Item

9)      System.Current_Value

10)  System.Cursor_Block

11)  System.Cursor_Record

12)  System.Cursor_Item

13)  System.Cursor_Value

14)  System.Last_Form

15)  System.Last_Record

16)  System.Last_Query

17)  System.Message_Level

18)  System.Suppress_Working

19)  System.Mode 

Question 51: What is a difference between Restricted and Unrestricted Built-In Subprograms?

Built-in Subprogram is divided into two categories:

1) Restricted Built-in Subprograms

2) Unrestricted Built-in Subprograms

Restricted Built-In Subprograms:Restricted built-ins affect navigation in your form, either external screen navigation, or internal navigation. You can call these built-ins only from triggers where no internal navigation is occurring. Restricted built-ins cannot be called from the Pre and Post triggers, which fire when Oracle Forms is navigating from object to another. Restricted built-ins can be called from the When triggers that are specific to interface items, such as When-Button-Pressed or When-Checkbox-Changed. Restricted built-ins can also be called from any of the When-New-“Object”-Instance triggers and from key triggers. Examples: Clear_Block, Go_Block, Next_Block, Previous_Block, Clear_Form, Commit_Form, Enter, Exit_Form, Open_form etc.

Unrestricted Built-In Subprograms: Unrestricted built-ins do not affect logical or physical navigation and can be called from any Trigger. Examples:

1)      Show_Alert

2)      Pause

3)      Set and Get Built-ins (Ex: Get_Item_Property, Set_Item_Property)

4)      Find Built-ins (Ex: Find_Block, Find_View etc)

5)      Call_Form etc.