Apps Complete Interview Questions
Apps Complete Interview Questions
1. It contains the Header information for the Purchasing documents. We require one row for each
document we create.
Six types of documents that use PO_HEADERS_ALL are
a. RFQ
b. Quotation
c. Standard PO
d. Planned PO
e. Blanket PO
f. Contracts
2. It stores information about each PO lines. We need one row for each line we attach to a
document.
Each row includes
a. LINE NUMBER
b. ITEM NUMBER
c. UNIT
d. PRICE
e. U.O.M
f. QUANTITY
3. It contains the information about PO shipment schedules and Blanket Agreement Price
Breaks.
We need one row for each schedule or price break we attach to a document
Each row includes
• Destination Type
• Requestor Id
• Quantity Ordered and Delivered to Destination
If the distribution corresponds to a Blanket PO release, PO_RELEASE_ID column identifies this release
We enter distribution information in distribution window accessible through PO window
RECEIVING
1. ONLINE: Receipts are processed Online. If there are any errors, they are shown on the FORM
itself, and don’t let you IGNORE and PROCEED.
2. IMMEDIATE: Receipts are processed immediately, but no errors are shown. Errors are recorded in
REC_TRANSACTION_INTERFACE table.
3. BATCH: Receipts are processed in batch, but no errors are shown. Errors are recorded in
REC_TRANSACTION_INTERFACE table.
Note: In all the above two cases, it requires Receiving Transaction Processor to be run periodically.
When you SAVE a Received Data in FORM, which tables are UPDATED?
Data can be loaded into ROI either through flat files or direct SELECT statement. You can see details of
errors from PO_INTERFACE_ERRORS table by joining with RCV_TRANSACTIONS_INTERFACE table
using Interface_id.
PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITIONS_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
PO_VENDORS
PO_LOOKUP_CODES
PO_VENDOR_SITES_ALL
PO_AGENTS
PO_DOCUMENT_TYPES_ALL_B
PO_RESCHEDULE_INTERFACE
MTL_SUPPLY
IMPORTANT FIELDS OF REQUISITION
REQUISITION_TYPE
PREPARE
TOTAL_CURRENCY
LINE_TYPE
CATEGORY
SOURCE DESTINATION TYPE AND ORGANIZATION
If you SAVE requisition, the above three tables are populated, while if you APPROVE a requisition, major
tables updated are
PO_REQUISITION_HEADER
PO_APPROVAL_LIST_HEADERS
PO_DOCUMENT_TYPES
CANCEL
FINALLY CLOSED
It is a concurrent program, which is used to import requisition from Oracle or Non-Oracle system.
Data is first loaded in PO_REQUISITION_ALL table. The RIP can then be run, to import the
records from the interface table as requisition in Oracle Processing.
RIP creates a requisition line and one or more requisition distribution for each row it finds in the
interface table. It then groups these lines on Requisitions according to parameters defined.
IMPORTANT TABLES
PO_REQUISITION_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL
PO_INTERFACE_ERRORS
INTERNAL REQUISITIONS
It is used to obtain materials within the same Organization or different Organization but within the
same set of books.
INVENTORY
MOVE ORDER
It is a request for Sub-Inventory Transferor account issue.
When using an account transfer, the actual movement is an issue (not physical transfer) from one
Sub-Inventory to another Sub-Inventory.
In Sub-Inventory transfer, the material is directly transferred but Move Orders require a REQUEST and an
APPROVAL.
1. Move Order Requisition: The requisition is a manually generated request for a move order. We
must create a move order requisition. You can generate request for Sub-Inventory transfer or
account transfers. The requisition can optionally go through an Oracle Workflow approval process
before it becomes a Move Order. If no approval process is used, the requisition becomes a Move
Order immediately.
2. Replenishment Move Order: These Move Order are generated by Kanban cards, where the Pull
sequence calls for a Sub-Inventory transfer or by Min-Max planned items, where the item
replacement source is another Sub-Inventory. In this case, the Min-Max or Replenishment Count
Report automatically generates a Move Order. Replenishment Move Order are pre-approved and
ready to be transacted.
3. The Pick release process generates Move Orders to bring the material from its Source location in
stores to a Staging location, which you define as a Sub-Inventory in Oracle Inventory. This
transaction is a Sub-Inventory Transfer.
1. MISCELLANEOUS ISSUE
2. MISCELLANEOUS RECEIPT
3. MISCELLANEOUS SUB-INVENTORY TRANSFER
We should Order a material, when On-Hand quantity plus Supply minus Demand is less than Minimum
Inventory level. The minimum Inventory level is nothing but a Safety Stock
We can perform Re-Order Point Planning for the Entire Organization. Also we can use Re-Order
point planning for items under independent demand
We can specify Re-Order point planning as the Inventory Planning method where we define an
Item
We can use Re-Order point planning for items that do not need to be controlled very tightly and are not very
expensive to carry in Inventory.
MIN-MAX PLANNING
It is a method of determining, when or how much to order based on user defined Min and Max
levels
We can perform Min-Max planning either at Organization level or Sub-Inventory level
MIN-MAX report is run to execute this planning.
INVENTORY ACCURACY CONTROL
Cycle Counting
It is a periodic counting of individual items throughout the year. High value items are counted more
frequently than the low value items
ABC Analysis
PHYSICAL INVENTORY
Physical Inventory is a periodic reconciliation of system On-Hand balances with Physical counts in
Inventory.
You can perform Physical inventory whenever you choose to verify the accuracy of your system On-Hand
quantities
This can be done for the entire Organization or for a specific Sub-Inventory
A tag is a tool for recording the On-Hand quantities of a specific item at a particular location. Usually a tag is
a slip of paper posted on the items location. Oracle can automatically generate tag numbers that we can use
to enter Physical inventory counts.
ORACLE ORGANIZATION
Set of Books -> Legal Entities -> Operating Units ->Inventory Organizations
Set of Books
It is composed of a chart of accounts, a calendar and functional currencies
Legal Entities that share the chart of accounts, accounting calendar and functional currency can be
accounted for the same set of books
One set of books can contain one or more legal entities
Legal Entities
It is a company for which by law you must prepare fiscal or tax report including a balance sheet and
a Profit and Loss report
Legal entities comprise of one or more Operating Units
Operating Units
Operating unit represents buying or selling units within an Organization
Inventory Organization
It is a unit that has Inventory Transaction and Balances and possibly Manufactures and Distributes
products
What are the basic things that you should consider when you plan your Enterprise Structure?
a. Set of Books
You can tie a Set of Books to each Inventory Organization
b. Costing Methods
You can choose standard or average costing methods only at Organization level
c. Item Costs
Inventory keeps one cost per item per Inventory Organization
d. Movement between Sites
In-transit inventory can be used for Inter Organization transfers
e. Planning methods
Re-Order point planning can be performed only at Organization level
Min-Max planning can be performed both at Organization and Sub-Inventory
Replenishment counting can be performed only at Sub-Inventory level.
f. Forecasting
Inventory forecast item use at Organization level only
g. Accuracy analysis
Physical Inventory, Cycle count and ABC classification can be performed both at
Organization and Sub-Inventory level
UOM class
This is a group of unit of measure with similar characteristics. For example Weight can be a UOM
class with UOM such as gram, pound, ounce, kilogram etc
UOM conversion
It is a mathematical relationship between two different Units of Measure
Organization Calendar is also known as Working Day Calendar
Status attributes or Item attributes enable key functionality for each item
An item status is defined by selecting the value check boxes for the status attributes
Both Status attributes and item attributes can be controlled at the Item level and Organizational level
STOCKABLE: The functional area is Oracle Inventory. You can stock the item in Inventory
TRANSACTABLE: You can transact the Item in Inventory, OM, Purchasing and WIP.
PURCHASEABLE: You can place an Item on PO
BUILD IN WIP: You can manufacture the Item
CUSTOMER ORDERS ENABLED: You can sell these Items
INTERNAL ORDERS ENABLED: You can create an Internal Sales Order for the Item
BOM ALLOWED: You can create a Bill of Material for this Item
INVOICE ENABLED: You can create an Invoice for this Item
Status Attribute can have MASTER LEVEL control or ORGANIZATIONAL LEVEL control. MASTER level
control means an Item has Identical Attributes in all Organization that use it. ORGANIZATIONAL level
control means an attribute that you maintain at Organizational level may have different values for an Item for
different Organizations.
What are the different kinds of relationships that you can define for an Item?
1. Item Cross-Reference
2. Substitute Items
3. Related Items
4. Manufacturer Part Number
5. Customer Item Numbers
Note: Items are always defined in the Master Organization and then enabled in as many child organizations
as you want.
DELETION CONSTRAINT
These are specific business rules and custom checks to be done before Oracle Inventory allows deletion to
be done
INVENTORY CONTROLS
a. LOCATOR CONTROL
b. REVISION CONTROL
c. LOT CONTROL
d. SERIAL NUMBER CONTROL
MTL_SYSTEM_ITEM_B
Columns which end with ‘_ID’ is a number for Identification
Columns which end with ‘_CODE’ contains meaningful information
In MSIB Inventory_Item_Id column contains Item_Id and Segment1 contains Item name
MTL_PARAMETERS is the Organization table (Org Name, Org Code, etc)
For UOM, MTL_UNIT_OF_MEASURE
ORG_ID is the Operating unit id whereas ORGANIZATION_ID is the Inventory Organization Id
MTL_ITEM_CATEGORIES_B for Item Categories
MTL_CATEGORY_SETS is for category sets
ORDER MANAGEMENT
Internal Sales Order originates as requisitions in Oracle Purchasing. The process for Internal Orders is as
follows
An Employee enters a Requisition for an Item
The Requisition is sent for approval
The Purchasing System issues an Internal Sales Order to OM
Order management imports Internal Sales Order through Order Import Process
OM creates a Pick release when the item is available in the warehouse
If the requisitioner is at another location, OM handles packing and shipping to that site
The Item is delivered
OM handles the accounting for the release from the Inventory and Purchasing handles the
accounting for the issue to the requisitioner.
RETURN MATERIAL AUTHORIZATION
The RMI flow basically reverses the Order Process. It includes getting the material back from the customer,
putting it back into the stock and issuing the credit. There is also a corresponding return to a customer
transaction for getting the needed repair or replacement back to the customer.
Oracle OM facilitates a link back to the original order through a reference source field on the return form that
ties to a sales order. Once the link is established all the relevant information from the Original Order will be
defaulted to the RMI. Returned receipts are handled by Inventory
A value set is a set of values, which restricts the valid values that can be entered. The value set can be
either numeric and alphanumeric.
It can be very sophisticated, incorporating SQL querying from several tables and able to populate the
database with one column.
A concurrent program is an instance of an execution file along with parameter definations and
incompatibilities.
Concurrent Managers are components of concurrent processing that monitor and run time consuming, non
iteractive tasks without tying up your terminal.
OR
These are controllers of background processing for Oracle Applications. The main function of concurrent
managers is to regulate and control process requests based upon a set of rules. It is a technique used to
execute non interactive, data dependent programs simultaneously in the background.
Internal Concurrent Manager controls all the other concurrent managers that are operating system process
that poll for requests.
We can also create concurrent managers to handle particular types of results or programs and specialize
them for our business requirement.
The manager that takes care of conflicts in concurrent Processing is Conflict Internal Manager.
What do you mean by document number?
In compile all the PL/SQL within the reports are compiled but in incremental compile only the changed
PL/SQL units are compiled.
When compiling the report for the first time, we should do the full compilation and not the Incremental
compile.
INV_MOVE_PUB.PROCESS_MOVE_ORDER
Used for move order creation
INV_REPLENISH_DETAIL_PUB.LINE_DETAILS_PUB
Move Order Allocation
INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM
Move Order or Sales Order confirm
INV_RESERVATION_PUB.CREATE_RESERVATION
Reservation Creation
INV_RESERVATION_PUB.QUERY_RESERVATION
Query Reservation
Lexical Parameters enable you to link your report to any other Oracle product.
For example: When you are calling a report from a certain form, you can use the run product method and
pass to it a parameter list, that has a parameter referring to a lexical parameter used in the report.
COPIES Is the number of report copies that should be made when the report is printed.
DESNAME Is the name of the output device (e.g., the file name, printer's name, mail userid).
DESTYPE Is the type of device to which to send the report output (screen, file, mail, printer, or screen using
PostScript format).
ORIENTATION Is the print direction for the report (landscape, portrait, default).
PRINTJOB Is whether the Print Job dialog box should appear before the report is run.
DESNAME
DESTYPE
DESFORMAT
COPIES
OPTIMIZER
Cursor Attributes
FOUND
NOTFOUND
ISOPEN
ROWCOUNT
What are views?
Views are database objects whose contents are derived from another table.
A view contains no data of its own.
Process: First create a TYPE of VARRAY and then define in the table.
Collectors are used to accurately represent relationships between datatypes in your database objects.
Collectors such as varray allow you to repeat only those column values that change, potentially saving
storage space.
There are two types of collectors
1. Nested Tables
2. Varying Arrays
Mapping Rule
It is not necessary that values available in legacy system will be valid values in Oracle Apps. So the rules to
change legacy values to valid Oracle Apps values is called mapping rule.
Flex Field
User Profiles
1. What are the different profile levels available to set values for your profile options.
Ans: Site, Application, Responsibility and User levels.
2. Which level has the highest priority, and overrides values entered at other levels.
Ans: User level has the highest priority.
3. Which are the forms through which profile options can be entered as default.
Ans: Concurrent Programs, Request sets, Key Flex field segments and Descriptive Flex field
segments.
4. Any user can view and change any profile value set at any level.
a. TRUE
b. FALSE
Ans: FALSE
6. Name the API package which is used in the PL/SQL procedures to manipulate and view profile
option values.
Ans: FND_PROFILE
7. Any changes you make to a profile option value using API routines affect only the run-time
environment, that is these settings ends when the program ends.
a. TRUE
b. FALSE
Ans: TRUE
Responsibility
9. Define responsibility.
Ans: A responsibility is a level of authority in Oracle Applications that lets users access only those
Oracle Applications functions and data appropriate to their roles in an organization.
Request Security Group: A request security group defines the concurrent programs, including
requests and request sets, that may be run by an application user under a particular
responsibility.
Menu: A menu is a hierarchical arrangement of application functions (forms) that displays in the
Navigate window. Menus can also point to non form functions (sub functions) that do not display
in the Navigate window, but that define the range of application functionality available for a
responsibility. Each responsibility is associated with a menu.
13. What is the difference between Request Group and a Request Security Group.
Ans: When a request group is assigned to a responsibility, it becomes a request security group.
From a standard submission form, such as the Submit Requests form, users can run only the
reports, concurrent programs, and request sets
that are in their responsibility’s request security group.
15. Reports, Report Sets and Concurrent programs within a request group can be submitted
through submit request forms only if the corresponding request group is attached to a
responsibility.
a. TRUE
b. FALSE
Ans: TRUE
17. The application name entered while creation of the responsibility prevents the user from
accessing other applications forms and functions through the menu.
a. TRUE
b. FALSE
Ans: FALSE
19. What are the two application systems with which a responsibility can be associated
Ans: Oracle Applications and Oracle Self – Service Web Applications.
Sub function (Non Form Function): A non form function (sub function) is a securable subset of a
form’s functionality: in other words, a function executed from within a form.
24. Which are the menu entry types that are not displayed by the navigate window.
Ans: Sub functions, Menus without entries and Menu entries without a prompt.
25. What are the two entities which uniquely identifies a responsibility.
Ans: Responsibility name and Application Name.
26. Even though a Request Group is not assigned to a Responsibility, the user to whom this
responsibility has been assigned can run request sets owned by him from a submit request
window.
a. TRUE
b. FALSE
Ans: TRUE
27. What is the role of a attribute in the area of Self – Service Web applications.
Ans: Attributes are used to define what information users can access
through Oracle Self - Service Web Applications. They uses columns, rows and values in
database tables to define what information users can access
29. What are the tow different types of attributes which can be assigned to a responsibility.
Ans: Securing Attributes and Excluded Attributes.
1. What is API?
Ans: API stands for Application Programming Interfaces.
2.What is the difference between Client Side API’s and Server Side API’s?
Ans: APIs those are all stored in the ORACLE database are called Server side API’s. APIs those
are in front end libraries are called Client Side APIs.
7.How can you retrieve system date from database? Which API having the same functionality in
Oracle Apps?
Ans: SELECT sysdate FROM DUAL used to find the system date in Oracle Database.
FND_STANDARD.SYSTEM_DATE API having the similar functionality.
8.Can you invoke web browser through any API’s? If so Which API can do this?
Ans: Yes, you can invoke web browser through API. FND_UTILITIES.OPER_URL API can do
this.
13.What are the two types of files we can deliver with the help of FND_FILE Package?
Ans: FND_FILE.OUT – Oracle Apps Output File.
FND_FILE.LOG – Oracle Apps Log File.
14.How can you see the status of the concurrent program through backend?
Ans: With the help of FND_CONCURRENT.GET_REQUEST_STATUS API we can see the
status of the concurrent program through backend.
This package is used to format the currency . We can use it in Client side as well as Server Side .
Procedure FND_PROGRAM.ENABLE_PROGRAM
(Short name IN VARCHAR2,
Application IN VARCHAR2,
ENABLED IN VARCHAR2)
20.Can you submit the request from Backend triggers? Which API helps to do that?
Ans: Yes, You can summit the request with in the backend triggers. Before submitting the request
you have to use the FND_REQUEST.SET_MODE API to set the mode. With out using
FND_REQUEST.SET_MODE we can’t submit the request from Database Triggers.
25.What are the two default parameters you have to give when you create stored procedures &
functions as a concurrent program?
Ans: errbuf - VARCHAR2
CONCURRENT PROCESSING
10. What setting to make to make the concurrent program to appear in the SRS window?
Ans: Enable the option ‘Use in SRS’.
13. Inside Stage in Request, how the individual request process?(Choose One)
a. Parallel
b. Sequential
c. Manager chooses the method
d. Depends on the setting in Concurrent Program
Ans: a. Parallel
16. What are the Optimizer Modes available in Concurrent Program session control?
Ans: All Rows, First Rows, Rules and Choose
17. When you go for best throughput which mode you prefer? Choose one
i. All Rows
ii. Choose
iii.First Rows
iv. Rules
26. What is the limit for the number of arguments for a concurrent program? (Choose One)
a.100
b.240
c.32
d.500
Ans: 100
29. What are the various statuses of Running Phase of a concurrent process?
Ans:
a. Normal
b. Paused
c. Resuming
d. Terminating
30. Using SRS, can you schedule a single request or a set or request to run automatically?
True / False
Ans: True
2. What is customization?
Ans: Customization is not a new development. The existing form will be modified as per our
requirement. This may be cosmetic change or navigation change or functionality change.
3. Compare Custom development & customization. When they are used and Why?
Ans:
Custom development.
a. New development
b. Template form has to use
c. The required functionality is not provided by oracle in that case we have to go for
custom development.
Customization.
a. Tailoring the existing application
b. Same source file has to use
c. The existing functionality is not fully satisfy our requirement, Then we are going for
customization.
6. Name the directory having the FORMS source codes ( FMB files ) ?
Ans: AU_TOP forms directory.
13. Name the directories where you have to copy your Fmb and Fmx files?
Ans: All FMB files will be coped in AU_TOP form directory. FMX will be copied to corresponding
Prod_Top form directory.
e.x all GL forms fmx will be coped in GL_Top form directory.
14. Why we have to maintain the file names in Capital Letter? ( Library/FMB)
Ans: Some of operation system will have case sensitivity, those OS may not able to get the
correct file, for avoiding case sensitivity problem we have to maintain the file name in UPPER
case.
23. What is who column and how can you set the values?
Ans: Who columns are database columns, which gives the history of the record. ( it will gives
created user name with date and last modified user name with date of the record).
By using fnd_standard.set_who procedure we can set the value.
25. How can you change the default menu bar action?
Ans: By using APPCORE library
We can, But Oracle Application advise against modifying the reference trigger. Because this
change will affect the whole application.
a. You can give comment of the from in Form module “comment window”.
b. By using FND_Standard.Form_info procedure you can comment your form, this is in Pre_Form
trigger.
ORACLE ALERT
3. An Alert can be
a. Disabled only
b. Disabled or Deleted
c. Deleted only
Ans: (b)
7. If the frequency for periodic alert is On Demand, then the alert has to be run through
a. Standard Request Submission window
b. Alert Run Window
c. Alert Submission window
d. Request Periodic alert check window
Ans: (d)
12. Event alert should not be defined on one of the following table
a. FND_USERS
b. FND_CONCURRENT_REQUESTS
c. FND_ALERTS
d. FND_CONCURRENT_PROGRAMS
Ans: (b)
17. What are the types of actions that can be performed when an alert is triggered
Ans: Message, Concurrent Program, SQL script, OS Script
20. Choose from the following that can be included to an action set
a. Escalation group
b. Threshold group
c. Actions
d. All the above
Ans: (d)
22. “On Error” what are the possible actions that can be performed (All applicable options)
a. Abort
b. Move to another action set member
c. Move to another action set
d. Disable the action set
Ans: a,b and c
24. One Detail and One Summary action has to be attached to a Threshold Group
True/False
Ans: True
25. Types of actions that are attached to a Threshold group can be of different types
True/False
Ans: False
26. In a Self-Referencing Alert which one of the following Implicit Input variable is used
a. ROWID
b. REFERENCE_ID
c. DATE_LAST_CHECKED
d. USER_ID
Ans: c
27. Each periodic alert attached to a periodic set continues to run according to its individually
defined frequency.
True/False
Ans: True
28. For performing Action Escalation, history has to be saved for at least
a. One day longer than the number of days between alert checks
b. Two days longer that the number of days between alert checks
c. Three days longer that the number of days between alert checks
d. One week longer that the number of days between alert checks
Ans: a
29. For Action Escalation, both Detail level and Summary level actions can be performed
True/False
Ans: False
Business group
Set of Books
Legal Entity
Balancing Entity
Operating Unit
Inventory Organization
In HRMS
Internal
External
10) What is the relationship between legal entity and balancing entity?
One to many.
One legal entity can have many balancing entities.
13) Can we call a manufacturing plant as operating unit & Inventory organization ? When ?
Yes, when a location plays both manufacturing and selling.
14) The Database architecture is same for multi-org and Non-multi-org installation.
(TRUE/FALSE)
TRUE
15) What is the name of RDBMS global variable used from 10.7 version onwards w.r.t multi-
org ?
CLIENT_INFO
16) What is the significance of the RDBMS global variable used w.r.t multi-org ?
A global variable ‘Client_info’ exist, which is 64 bytes long. The first 10 bytes store
The org_id ( Operating Unit ID ). Organization context is derived using this.
FALSE
Logical partitioning.
TRUE.
19) List the applications partitioned and the entities used for partitioning ?
GL SOB Y
Fixed Assets Corp Book N
HR Business group Y
OM / AR / PO / AP Operating unit Y
Inventory Inventory organization Y
20) All the applications in Oracle Applications are secured w.r.t data access.( TRUE/FALSE )
FALSE
FALSE.
It is partitioned using operating unit.
22) ‘Order Entry’ module is partitioned using Inventory Organization ( TRUE/FALSE)
FALSE.
It is partitioned using operating unit.
23) List the items required for creating Set Of Books (SOB) ?
Its created for a combination of 3 Cs
Functional Currency, Accounting Calendar, Chart of Accounts.
It needs to be attached to a business group.
25) Name the utility used in ‘auto install’ to define/convert to multi-org feature ?
‘Adadmin’.
30) List the operating modes of seed data replication w.r.t multi-org feature ?
38) Is there is any way to check the parameters/profiles configured in a multi-org set-up ? If
yes how it can be checked ?
Yes.
By running multi-org validation report.
39) What are the contents or aspects checked by the multi-org validation report ?
Report Sections
The report consists of the following sections:
Active Responsibilities
Customers with Operating Unit Specific Attributes
Suppliers with Operating Unit Specific Attributes
Profile Option Errors and Warnings
The report warns you that this data exists in the database. If you choose Yes for the
correct Customer Attributes report parameter, the report deletes the operating unit–
specific data from the customer records.
Not all responsibilities in current operating unit have the same option value
All responsibilities in one operating unit must share the same values for
the following profile options:
HR: Business Group
OM: Item Validation Organization
Tax: Allow Override of Tax Code
Tax: Invoice Freight as Revenue
Tax: Inventory Item for Freight
The Validation Report indicates a violation for the operating units with inconsistent profile
option values and lists the values, which are set at the responsibility level, or are
defaulted from the site or application level.
40) What are the limitations in Oracle Applications 11i - multi-org features ?
Case Study
XYZ company has three manufacturing plants at Chennai, New Delhi and Pune. It has sales
offices at Bangalore, Calcutta, Chennai, Mumbai, New Delhi and Lucknow. It has warehouses
at Bhopal, Cochin, Hyderabad, Mysore and Jaipur.
XYZ needs to report profit/loss for each business. It’s manufacturing plants at Delhi and
Chennai are dedicated to plastic furniture. Pune plant has two divisions: The first division
takes care of design, manufacture and maintenance of the tooling such as mold for Delhi and
Chennai plants. Second division produces Industrial Products on a make to order basis.
41) How many set of books are to be created to meet the reporting needs of XYZ ?
Only one set of books needs to be created when the functional currency, accounting
calendar & chart of accounts are same for both the businesses. However chart of
accounts should have a separate segment to identify the business.
42) How many segments are to be defined in the Chart of Accounts for the above scenario
and identify each segment with an entity ?
Segment Entity
1 Balancing segment ( Business identity)
2 Department
3 Account code
4 Sub-account code
43) List the legal and balancing entities in the above case study ?
44) Identify the Operating units and Inventory Organizations in the above case study to
configure multi-org set-up.
Chennai ## ##
New Delhi ## ##
Pune ##
Bangalore ##
Calcutta ##
Mumbai ##
Lucknow ##
Bhopal ##
Cochin ##
Hyderabad ##
Mysore ##
Jaipur ##
Interfaces
6. What are the steps to be followed while transferring data from an external source to Oracle
applications?
Ans:
a. Load file using SQL*Loader
b. Validate data in Pre-interface tables
c. Update flag / ids, date etc.
d. Submit report for pre interface errors.
e. Populate Interface tables
f. Call open interface program.
g. See error Report
h. Confirm success
1. What is SQL*Loader?
Ans: It is a utility provided by oracle to transfer data from flat files to Oracle tables.
13. Is bad file, log file created, if you don’t specify the path?
Ans: Yes.
10. How do you ensure that customized reports are not overwritten during an upgrade?
By placing them under Custom directory.
15. What are the different methods of doing a Flex field report?
There are two methods of doing a Flex Field report.
1. By using Flex Field views.
2. By using Flex Field user exits.
17. From which trigger do you call the SRWINIT user exit?
Before Report Trigger.
18. From which trigger do you call the SRWEXIT user exit?
After Report Trigger.
19. Where are the log files and output files of a report stored?
Log files and Out files are stored under the Log and Out directories
of the respective Product directory.
24. What are the required parameters if you want to create a flex field report ?
• P_CONC_REQUEST_ID.
The user exit FND SRWINIT uses this parameter to retrieve
information about the concurrent request that started this report.
• P_FLEXDATA
This parameter holds the SELECT fragment of the SQL query.
ORACLE WORKFLOW
ORACLE database is comprised of three types of files. One or more Data files, two are more Redo Log
files, and one or more Control files.
3. What is a Tablespace?
A database is divided into Logical Storage Unit called tablespaces. A tablespace is used to grouped
related logical structures together.
Every ORACLE database contains a tablespace named SYSTEM, which is automatically created
when the database is created. The SYSTEM tablespace always contains the data dictionary tables for the
entire database.
Each databases logically divided into one or more tablespaces One or more data files are explicitly created
for each tablespace.
6. What is schema?
A view is a virtual table. Every view has a Query attached to it. (The Query is a SELECT statement
that identifies the columns and rows of the table(s) the view uses.)
Yes.
Provide an additional level of table security, by restricting access to a predetermined set of rows and
columns of a table.
Hide data complexity.
Simplify commands for the user.
Present the data in a different perpecetive from that of the base table.
Store complex queries.
A sequence generates a serial list of unique numbers for numerical columns of a database's tables.
Synonyms are used to : Mask the real name and owner of an object.
Provide public access to an object
Provide location transparency for tables,views or program units of a remote database.
Simplify the SQL statements for database users.
Indexes are automatically maintained and used by ORACLE. Changes to table data are automatically
incorporated into all relevant indexes.
Clusters are groups of one or more tables physically stores together to share common columns and are
often used together.
The related columns of the tables in a cluster is called the Cluster Key.
A row is stored in a hash cluster based on the result of applying a hash function to the row's cluster key
value. All rows with the same hash key value are stores together on disk.
Hash clusters are better choice when a table is often queried with equality queries. For such queries the
specified cluster key value is hashed. The resulting hash key value points directly to the area on disk that
stores the specified rows.
A database link is a named object that describes a "path" from one database to another.
Private Database Link, Public Database Link & Network Database Link.
Private database link is created on behalf of a specific user. A private database link can be used only
when the owner of the link specifies a global object name in a SQL statement or in the definition of the
owner's views or procedures.
Public database link is created for the special user group PUBLIC. A public database link can be used
when any user in the associated database specifies a global object name in a SQL statement or object
definition.
3
2. What is Network Database link ?
Network database link is created and managed by a network domain service. A network database link can
be used when any user of any database in the network specifies a global object name in a SQL
statement or object definition.
A data block size is specified for each ORACLE database when the database is created. A database
users and allocated free database space in ORACLE datablocks. Block size is specified in INIT.ORA file
and cann't be changed latter.
In Circumstances, all of the data for a row in a table may not be able to fit in the same data block. When
this occurs , the data for the row is stored in a chain of data block (one or more) reserved for that segment.
An Extent is a specific number of contiguous data blocks, obtained in a single allocation, used to store a
specific type of information.
Each Non-clustered table has a data segment. All of the table's data is stored in the extents of its data
segment. Each cluster has a data segment. The data of every table in the cluster is stored in the cluster's
data segment.
Each Index has an Index segment that stores all of its data.
A Database contains one or more Rollback Segments to temporarily store "undo" information.
Temporary segments are created by ORACLE when a SQL statement needs a temporary work area to
complete execution. When the statement finishes execution, the temporary segment extents are released
to the system for future use.
Every ORACLE database has one or more physical data files. A database's data files contain all the
database data. The data of logical database structures such as tables and indexes is physically stored in
the data files allocated for a database.
A data file can be associated with only one database.Once created a data file can't change size.
One or more data files form a logical unit of database storage called a tablespace.
The set of Redo Log files for a database is collectively known as the database's redo log.
The Primary function of the redo log is to record all changes made to data.
The Information in a redo log file is used only to recover the database from a system or media failure
prevents database data from being written to a database's data files.
A Control file records the physical structure of the database. It contains the following information.
Database Name
Names and locations of a database's files and redolog files.
Time stamp of database creation.
When an instance of an ORACLE database is started, its control file is used to identify the database and
redo log files that must be opened for database operation to proceed. It is also used in database recovery.
The data dictionary of an ORACLE database is a set of tables and views that are used as a read-only
reference about the database.
It stores information about both the logical and physical structure of the database, the valid users of an
ORACLE database, integrity constraints defined for tables in the database and space allocated for a
schema object and how much of it is being used.
An integrity constraint is a declarative way to define a business rule for a column of a table.
53. Can an Integrity Constraint be enforced on a table if some existing table data does not satisfy the
constraint ?
No.
55. What is difference between UNIQUE constraint and PRIMARY KEY constraint ?
A column defined as UNIQUE can contain NULLs while a column defined as PRIMARY KEY can't
contain Nulls.
A rule defined on a column (or set of columns) in one table that allows the insert or update of a row only
if the value for the column or set of columns (the dependent value) matches a value in a column of a
related table (the referenced value). It also specifies the type of data manipulation allowed on
referenced data and the action to be performed on dependent data as a result of any action on referenced
data.
57. What are the Referential actions supported by FOREIGN KEY integrity constraint ?
UPDATE and DELETE Restrict - A referential integrity rule that disallows the update or deletion of
referenced data.
DELETE Cascade - When a referenced row is deleted all associated dependent rows are deleted.
The condition must be a Boolean expression evaluated using the values in the row being inserted or
updated and can't contain subqueries, sequence, the SYSDATE,UID,USER or USERENV SQL functions,
or the pseudo columns LEVEL or ROWNUM.
60. What is the maximum number of CHECK constraints that can be defined on a column ?
No Limit.
SYSTEM ARCHITECTURE :
Database buffers store the most recently used blocks of database data. It can also contain modified data
that has not yet been permanently written to disk.
DATA ACCESS
98. What are the different approaches used by Optimizer in choosing an execution plan ?
Rule-based and Cost-based.
99. What are the factors that affect OPTIMIZER in choosing an Optimization approach ?
The OPTIMIZER_MODE initialization parameter Statistics in the Data Dictionary the
OPTIMIZER_GOAL parameter of the ALTER SESSION command hints in the statement.
100. What are the values that can be specified for OPTIMIZER MODE Parameter ?
COST and RULE.
101. Will the Optimizer always use COST-based approach if OPTIMIZER_MODE is set to "Cost'?
Presence of statistics in the data dictionary for atleast one of the tables accessed by the SQL statements
is necessary for the OPTIMIZER to use COST-based approach. Otherwise OPTIMIZER chooses RULE-
based approach.
This value causes the optimizer to choose the rule_based approach for all SQL statements issued to the
instance regardless of the presence of statistics.
103. What are the values that can be specified for OPTIMIZER_GOAL parameter of the ALTER SESSION
Command ?
104. What is the effect of setting the value "CHOOSE" for OPTIMIZER_GOAL, parameter of the ALTER
SESSION Command ?
The Optimizer chooses Cost_based approach and optimizes with the goal of best throughput if statistics
for atleast one of the tables accessed by the SQL statement exist in the data dictionary. Otherwise the
OPTIMIZER chooses RULE_based approach.
105. What is the effect of setting the value "ALL_ROWS" for OPTIMIZER_GOAL parameter of the ALTER
SESSION command ?
This value causes the optimizer to the cost-based approach for all SQL statements in the session
regardless of the presence of statistics and to optimize with a goal of best throughput.
106. What is the effect of setting the value 'FIRST_ROWS' for OPTIMIZER_GOAL parameter of the
ALTER SESSION command ?
This value causes the optimizer to use the cost-based approach for all SQL statements in the session
regardless of the presence of statistics and to optimize with a goal of best response time.
107. What is the effect of setting the 'RULE' for OPTIMIER_GOAL parameter of the ALTER SESSION
Command ?
This value causes the optimizer to choose the rule-based approach for all SQL statements in a session
regardless of the presence of statistics.
110. What are the different types of PL/SQL program units that can be defined and stored in ORACLE
database ?
117. What are the differences between Database Trigger and Integrity constraints ?
A declarative integrity constraint is a statement about the database that is always true. A constraint applies
to existing data in the table and any statement that manipulates the table.
A trigger does not apply to data loaded before the definition of the trigger, therefore, it does not
guarantee all data in a table conforms to the rules established by an associated trigger.
A trigger can be used to enforce transitional constraints where as a declarative integrity constraint
cannot be used.
DATABASE SECURITY
DYNAMIC PRIVILEGE MANAGEMENT - When the privileges of a group must change, only the privileges
of the role need to be modified. The security domains of all users granted the group's role automatically
reflect the changes made to the role.
SELECTIVE AVAILABILITY OF PRIVILEGES - The roles granted to a user can be selectively enable
(available for use) or disabled (not available for use). This allows specific control of a user's privileges
in any given situation.
APPLICATION AWARENESS - A database application can be designed to automatically enable and
disable selective roles when a user attempts to use the application.
124. What are the system resources that can be controlled through Profile ?
The number of concurrent sessions the user can establish the CPU processing time available to the user's
session the CPU processing time available to a single call to ORACLE made by a SQL statement the
amount of logical I/O available to the user's session the amout of logical I/O available to a single call to
ORACLE made by a SQL statement the allowed amount of idle time for the user's session the allowed
amount of connect time for the user's session.
Commit - Phase - If all participants respond to the coordinator that they are prepared, the coordinator asks
all nodes to commit the transaction, if all participants cannot prepare, the coordinator asks all nodes to roll
back the transaction.
140. What are the different modes of mounting a Database with the Parallel Server ?
Exclusive Mode If the first instance that mounts a database does so in exclusive mode, only that Instance
can mount the database.
Parallel Mode If the first instance that mounts a database is started in parallel mode, other instances that
are started in parallel mode can also mount the database.
144.WhatisOn-lineRedoLog?
The On-line Redo Log is a set of tow or more on-line redo files that record all committed changes made to
the database. Whenever a transaction is committed, the corresponding redo entries temporarily stores in
redo log buffers of the SGA are written to an on-line redo log file by the background process LGWR.
The on-line redo log files are used in cyclical fashion.
Rolling back transactions that have been explicitly rolled back or have not been committed as indicated by
the rollback segments regenerated in step a.
Releasing any resources (locks) held by transactions in process at the time of the failure.
Resolving any pending distributed transactions undergoing a two-phase commit at the time of the
instance failure.
Introduction to DBA
A database instance (Server) is a set of memory structure and background processes that access a set of
database files.
The memory structure that are used to store most queried data from database. This helps up to
improve database performance by decreasing the amount of I/O performed against data file.
3. What is a Schema ?
An index is a database structure used by the server to have direct access of a row in a table.
An index is automatically created when a unique of primary key constraint clause is specified in create
table comman (Ver 7.0)
5. What is clusters ?
Group of tables physically stored together because they share common columns and are often used
together is called Cluster.
The related columns of the tables are called the cluster key. The cluster key is indexed using a cluster
index and its value is stored only once for multiple tables in the cluster.
Two processes wating to update the rows of a table which are locked by the other process then deadlock
arises.
In a database environment this will often happen because of not issuing proper row lock commands.
Poor design of front-end application may cause this situation and the performance of server will reduce
drastically.
These locks will be released automatically when a commit/rollback operation performed or any one of this
processes being killed externally.
MEMORY MANAGEMENT
9. What is SGA ? How it is different from Ver 6.0 and Ver 7.0 ?
The System Global Area in a Oracle database is the area in memory to facilitates the transfer of
information between users. It holds the most recently requested structural information between users. It
holds the most recently requested structural information about the database.
The structure is Database buffers, Dictionary cache, Redo Log Buffer and Shared SQL pool (ver 7.0 only)
area.
The data dictionary cache is stored in an area in SGA called the Shared SQL Pool. This will allow sharing
of parsed SQL statements among concurrent users.
Data segment are the physical areas within a database block in which the data associated with tables and
clusters are stored.
13. What are the factors causing the reparsing of SQL statements in SGA?
Due to insufficient Shared SQL pool size.
Monitor the ratio of the reloads takes place while executing SQL statements. If the ratio is
greater than 1 then increase the SHARED_POOL_SIZE.
Database buffers are cache in the SGA used to hold the data blocks that are read from the data segments
in the database such as tables, indexes and clusters DB_BLOCK_BUFFERS parameter in INIT.ORA
decides the size.
Dictionary cache is information about the databse objects stored in a data dictionary table.
Number of times processes repeatedly query the dictionary table is called recursive hints. It is due to the
data dictionary cache is too small. By increasing the SHARED_POOL_SIZE parameter we can optimize the
size of Data Dictionary Cache.
Change made to entries are written to the on-line redo log files. So that they can be used in roll forward
operations during database recoveries. Before writing them into the redo log files, they will first brought to
redo log buffers in SGA and LGWR will write into files frequently.
LOG_BUFFER parameter will decide the size.
18. How will you swap objects into a different table space for an existing database ?
Perform import using the command imp system/manager file=export.dmp indexfile=newrite.sql. This will
create all definitions into newfile.sql.
19. List the Optional Flexible Architecture (OFA) of Oracle database ? or How can we organise the
tablespaces in Oracle database to have maximum performance ?
20. How will you force database to use particular rollback segment ?
SET TRANSACTION USE ROLLBACK SEGMENT rbs_name.
A free extent is a collection of continuous free blocks in tablespace. When a segment is dropped its extents
are reallocated and are marked as free.
22. How free extents are managed in Ver 6.0 and Ver 7.0 ?
23.Which parameter in Storage clause will reduce no. of rows per block?
PCTFREE parameter
We can plan the storage for a table as how much initial extents are required, how much can be
extended next, how much % should leave free for managing row updations etc.,
This is used to reserve certain amount of space in a block for expansion of rows.
To manage the database level transactions such as modifications of the data dictionary table that record
information about the free space usage.
Create a database which implicitly creates a SYSTEM Rollback Segment in a SYSTEM tablespace.
Make new rollback segment available (After shutdown, modify init.ora file and Start database)
Deactivate Rollback Segment R0 and activate the newly created rollback segments.
30. How the space utilisation takes place within rollback segments ?
It will try to fit the transaction in a cyclic fashion to all existing extents. Once it found an extent is in use
then it forced to acquire a new extent (No. of extents is based on the optimal size)
31. Why query fails sometimes ?
A single transaction may wipeout all avaliable free space in the Rollback Segment Tablespace. This
prevents other user using Rollback segments.
34. List the sequence of events when a large transaction that exceeds beyond its optimal value when
an entry wraps and causes the rollback segment to expand into another extend.
Transaction Begins.
The entry attempts to wrap into second extent. None is available, so that the RBS must extent.
36. How will you estimate the space required by a non-clustered tables?
After arriving the calculation, add 10 % additional space to calculate the initial extent size for a working
table.
37. It is possible to use raw devices as data files and what is the advantages over file. system files ?
Yes.
Database's overall physical architecture is maintained in a file called control file. It will be used to
maintain internal consistency and guide recovery operations. Multiple copies of control files are advisable.
39. How to implement the multiple control files for an existing database ?
40. What is meant by Redo Log file mirrorring ? How it can be achieved?
This can be achieved by creating group of log files together, so that LGWR will automatically writes them
to all the members of the current on-line redo log group. If any one group fails then database automatically
switch over to next group. It degrades performance.
Shadow set of disks save as a backup in the event of disk failure. In most Operating System if any disk
failure occurs it automatically switchover to place of failed disk.
Improved performance because most OS support volume shadowing can direct file I/O request to use the
shadow set of files instead of the main set of files. This reduces I/O load on the main set of disks.
They allow the database to maintain read consistency between multiple transactions.
It is the set of before image data blocks that contain rows that are modified by a transaction.
Each Rollback Segment entry must be completed within one rollback segment.
It is a measure of well the data cache buffer is handling requests for data.
Hit Ratio = (Logical Reads - Physical Reads - Hits Misses)/ Logical Reads.
The tar command cannot be used for physical file backup, instead we can use dd command which is less
flexible and has limited recoveries.
47. List the factors that can affect the accuracy of the estimations ?
The space used transaction entries and deleted records does not become free immediately after completion
due to delayed cleanout.
Inserts of, updates to and deletes of rows as well as columns larger than a single datablock, can cause
fragmentation an chained row pieces.
An user account is not a physical structure in Database but it is having important relationship to the
objects in the database and will be having certain privileges.
Instead grant the ability to access the procedures that access the tables.
When procedure executed it will execute the privilege of procedures owner. Users cannot access tables
except via the procedure.
50. What are the dictionary tables used to monitor a database spaces ?
DBA_FREE_SPACE
DBA_SEGMENTS
DBA_DATA_FILES.
52. What are the roles and user accounts created automatically with the database ?
SYS user account - The DBA role will be assigned to this account. All of the basetables and views for
the database's dictionary are store in this schema and are manipulated only by ORACLE.
SYSTEM user account - It has all the system privileges for the database and additional tables and views
that display administrative information and internal tables and views used by oracle tools are created
using this username.
SQL * Loader - It loads data from standard operating system files (Flat files) into ORACLE database
tables.
Export (EXP) and Import (imp) utilities allow you to move existing data in ORACLE format to and from
ORACLE database.
55. What are the minimum parameters should exist in the parameter file (init.ora) ?
DB NAME - Must set to a text string of no more than 8 characters and it will be stored inside the
datafiles, redo log files and control files and control file while database creation.
DB_DOMAIN - It is string that specifies the network domain where the database is created. The
global database name is identified by setting these parameters (DB_NAME & DB_DOMAIN)
CONTORL FILES - List of control filenames of the database. If name is not mentioned then default name
will be used.
PROCESSES - To determine number of operating system processes that can be connected to ORACLE
concurrently. The value should be 5 (background process) and additional 1 for each user.
Each server and background process can write an associated trace file. When an internal error is
detected by a process or user process, it dumps information about the error to its trace. This can be used
for tuning the database.
Roles are the easiest way to grant and manage common privileges needed by different groups of database
users.
Assign each role to group of users. This will simplify the job of assigning privileges to individual users.
58. What are the steps to switch a database's archiving mode between NO ARCHIVELOG and
ARCHIVELOG mode ?
60. How can we specify the Archived log file name format and destination ?
By setting the following values in init.ora file.
LOG_ARCHIVE_FORMAT = arch %S/s/T/tarc (%S - Log sequence number and is zero left paded, %s -
Log sequence number not padded. %T - Thread number lef-zero-paded and %t - Thread number not
padded). The file name created is arch 0001 are if %S is used.
LOG_ARCHIVE_DEST = path.
- to collect statisties about object used by the optimizer and store them in the data dictionary.
- to delete statistics about the object used by object from the data dictionary.
- to validate the structure of the object.
- to identify migrated and chained rows of the table or cluster.
Snapshot is an object used to dynamically replicate data between distribute database at specified time
intervals. In ver 7.0 they are read only.
- A simple snapshot is based on a query that does not contains GROUP BY clauses, CONNECT BY
clauses, JOINs, sub-query or snashot of operations.
- A complex snapshots contain atleast any one of the above.
Updating or Inserting records in remote database through database triggers. It may fail if remote database is
having any problem.
Time the references to occur when master tables are not in use.
Peform the reference the manually immdiately locking the master tables. We can join tables in snopshots
by creating a complex snapshots that will based on the master tables.
COMPLETE - Tables are completly regenerated using the snapshot's query and the master tables
every time the snapshot referenced.
FAST - If simple snapshot used then a snapshot log can be used to send the changes to the snapshot
tables.
FORCE - Default value. If possible it performs a FAST refresh; Otherwise it will perform a complete
refresh.
We must be able to create a after row trigger on table (i.e., it should be not be already available )
We cannot specify snapshot log name because oracle uses the name of the master table in the name of
the database objects that support its snapshot log.
(The table name created will be MLOGS_tablename, and trigger name will be TLOGS name).
Database on other servers can be updated and those transactions can be grouped together with others
in a logical unit.
Database uses a two phase commit.
- Logical Backups
- Cold Backups
- Hot Backups (Archive log)
Logical backup involves reading a set of databse records and writing them into a file. Export utility is used
for taking backup and Import utility is used to recover from backup.
Cold backup is taking backup of all physical files after normal shutdown of database. We need to take.
- All Data files.
- All Control files.
- All on-line redo log files.
- The init.ora file (Optional)
Taking backup of archive log files when database is open. For this the ARCHIVELOG mode should be
enabled. The following files need to be backed up.
All data files. All Archive log, redo log files. All control files.
A flag to indicate whether grants on databse objects will be exported or not. Value is 'Y' or 'N'.
Flag to indicate whether table rows should be exported. If 'N' only DDL statements for the databse objects
will be created.
For Incremental exports, the flag indirects whether a record will be stores data dictionary tables recording
the export.
A flag to indicate whether statistical information about the exported objects should be written to export
dump file.
A flag to indicate whether a read consistent version of all the exported objects should be maintained.
A flag to indicate whether the import should ignore errors encounter when issuing CREATE commands.
A flag to indicate whether rows should be imported. If this is set to 'N' then only DDL for database objects
will be exectued.
2. What is a transaction ?
Transaction is logical unit between two commits and commit and rollback.
TRUNCATE commits after deleting entire table i.e., can not be rolled back. Database triggers do not fire on
TRUNCATE
DELETE allows the filtered deletion. Deleted records can be rolled back or committed.
Database triggers fire on DELETE.
Join is a query which retrieves related columns or rows from multiple tables.
Subquery is a query whose return values are used in filtering conditions of the main query.
INSTR (String1,String2(n,(m)),
INSTR returns the position of the mth occurrence of the string 2 in
string1. The search begins from nth position of string1.
ROWID is a pseudo column attached to each row of a table. It is 18 character long, blockno,
rownumber are the components of ROWID.
Using ROWID.
CONSTRAINTS
Maintaining data integrity through a set of rules that restrict the values of one or more columns of the tables
based on the values of primary key or unique key of the referenced table.
SAVEPOINTS are used to subdivide a transaction into smaller parts. It enables rolling back part of a
transaction. Maximum of five save points are allowed.
17. What is difference between CHAR and VARCHAR2 ? What is the maximum SIZE allowed for
each type ?
CHAR pads blank spaces to the maximum length. VARCHAR2 does not pad blank spaces. For CHAR it is
255 and 2000 for VARCHAR2.
18. How many LONG columns are allowed in a table ? Is it possible to use LONG columns in WHERE
clause or ORDER BY ?
Only one LONG columns is allowed. It is not possible to use LONG column in WHERE or ORDER BY
clause.
The integrity constraints can be enabled or disabled by ALTER TABLE ENABLE constraint/DISABLE
constraint.
22. If an unique key constraint on DATE column is created, will it validate the rows that are inserted with
SYSDATE ?
Database Link is a named path through which a remote database can be accessed.
24. How to access the current value and next value from a sequence ? Is it possible to access the current
value in a session before accessing next value ?
It is not possible. Only if you access next value in the session, current value can be accessed.
CYCLE specifies that the sequence continues to generate values after reaching either maximum or
minimum value. After pan ascending sequence reaches its maximum value, it generates its minimum
value. After a descending sequence reaches its minimum, it generates its maximum.
NO CYCLE specifies that the sequence cannot generate more values after reaching its maximum or
minimum value.
A View can be updated/deleted/inserted if it has only one base table if the view is based on columns from
one or more tables then insert, update and delete is not possible.
28.If a View on a single base table is manipulated will the changes be reflected on the base table ?
If changes are made to the tables which are base tables of a view will the changes be reference on the
view.
SQL *forms is 4GL tool for developing and executing; Oracle based interactive application.
3. Name the two files that are created when you generate the form give the filex extension ?
BLOCK
False.
6. Can we create two blocks with the same name in form 3.0 ?
No.
7. While specifying master/detail relationship between two blocks specifying the join condition is a
must ? True or False.
True.
8. What is a Trigger ?
1. Navigational Triggers.
2. Transaction Triggers.
Function Key
Key-function
Key-others
Key-startup
11. What is the difference between a Function Key Trigger and Key Function Trigger ?
Function key triggers are associated with individual SQL*FORMS function keys
You can attach Key function triggers to 10 keys or key sequences that normally do not perform any
SQL * FORMS operations. These keys refered as key F0 through key F9.
These triggers are executes when inserting,deleting and updating operations are performed and can be
used to change the default function of insert,delete or update respectively.
For Eg, instead of inserting a row in a table an existing row can be updated in the same table.
It fires when a value in a field has been changed and the field status is changed or new and the key
has been pressed. If the field status is valid then any further change to the value in the field will not fire the
on-validate-field trigger.
17. A query fetched 10 records How many times does a PRE-QUERY Trigger and POST-QUERY Trigger
will get executed ?
18. What is the difference between ON-VALIDATE-FIELD trigger and a POST-CHANGE trigger ?
When you changes the Existing value to null, the On-validate field trigger will fire post change trigger will
not fire. At the time of execute-query post-chage trigger will fire, on-validate field trigger will not fire.
On-validate-field trigger fires, when the field Validation status New or changed.
Post-field-trigger whenever the control leaving form the field, it will fire.
20. What is the difference between a POST-FIELD trigger and a POST-CHANGE trigger ?
Post-field trigger fires whenever the control leaving from the filed.
Post-change trigger fires at the time of execute-query procedure invoked or filed validation status changed.
22. Give the sequence in which triggers fired during insert operations, when the following 3 triggers are
defined at the smae block level ?
a. ON-INSERT b. POST-INSERT c. PRE-INSERT
PRE-INSERT,ON-INSERT & POST-INSERT.
No.
No.
25. How can you execute the user defined triggers in forms 3.0 ?
Execute_Trigger (trigger-name)
It will fires whenever SQL * Forms would normally attempt to lock a row.
Navigational Trigger.
31. What is the difference between restricted and unrestricted package procedure ?
Restricted package procedure that affects the basic basic functions of SQL * Forms. It cannot used in all
triggers execpt key triggers.
Unrestricted package procedure that does not interfere with the basic functions of SQL * Forms it can be
used in any triggers.
32. Classify the restricted and unrestricted procedure from the following.
a. Call
b. User-Exit
c. Call-Query
d. Up
e. Execute-Query
f. Message
g. Exit-From
h. Post
i. Break
a. Call - unrestricted
b. User Exit - Unrestricted
c. Call_query - Unrestricted
d. Up - Restricted
e. Execute Query - Restricted
f. Message - Restricted
g. Exit_form - Restricted
h. Post - Restricted
i. Break - Unrestricted.
No.
It synchoronizes the terminal screen with the internal state of the form.
35. What are the unrestricted procedures used to change the popup screen position during run time ?
Anchor-view
Resize -View
Move-View.
1. Error_Code
2. Error_Text
3. Form_Failure
4. Form_Fatal
5. Message_Code
Post writes data in the form to the database but does not perform database commit
Commit permenently writes data in the form to the database.
41. What the PAUSE package procedure does ?
43. What package procedure used for invoke sql *plus from sql *forms ?
False.
True.
46. When the form is running in DEBUG mode, If you want to examine the values of global variables and
other form variables, What package procedure command you would use in your trigger text ?
Break.
SYSTEM VARIABLES
1. System.block_status
2. System.current_block
3. System.current_field
4. System.current_value
5. System.cursor_block
6. System.cursor_field
7. System.field_status.
User Exits :
A user exit is a subroutine which are written in programming languages using pro*C pro *Cobol , etc., that
link into the SQL * forms executable.
Page :
Pages are collection of display information, such as constant text and graphics.
Unlimited.
a. True.
56. Deleting a page removes information about all the fields in that page ?
a. True. b. False
a. True.
Popup Window :
Pop-up windows are screen areas that overlay all or a portion of the
display screen when a form is running.
Alert :
An alert is window that appears in the middle of the screen overlaying a portion of the current display.
FORMS 4.0
Form
Menu
Library
The Layout Editor is a graphical design facility for creating and arranging items and boilerplate
text and graphics objects in your application's interface.
05. BLOCK
Block is a single mechanism for grouping related items into a functional unit for storing,displaying and
manipulating records.
ITEMS
Text item.
Chart item.
Check box.
Display item.
Image item.
List item.
Radio Group.
User Area item.
A navigable item is one that operators can navigate to with the keyboard during default navigation, or
that Oracle forms can navigate to by executing a navigational
built-in procedure.
09. Can you change the color of the push button in design time?
No.
A Check Box is a two state control that indicates whether a certain condition or value is on or off,
true or false. The display state of a check box is always either "checked" or "unchecked".
Basiscs of PL/SQL
1. What is PL/SQL ?
PL/SQL is a procedural language that has both interactive SQL and procedural programming
language constructs such as iteration, conditional branching.
PL/SQL uses block structure as its basic structure. Anonymous blocks or nested blocks can be used in
PL/SQL.
Datatypes PL/SQL
Some scalar data types such as NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Some composite data types such as RECORD & TABLE.
6. What are % TYPE and % ROWTYPE ? What are the advantages of using these over datatypes?
% TYPE provides the data type of a variable or a database column to that variable.
% ROWTYPE provides the record type that represents a entire row of a table or view or columns selected
in the cursor.
The advantages are : I. Need not know about variable's data type
ii. If the database definition of a column in a table changes, the data type of a variable changes
accordingly.
E.g. TYPE r_emp is RECORD (eno emp.empno% type,ename emp ename %type
);
e_rec emp% ROWTYPE
cursor c1 is select empno,deptno from emp;
e_rec c1 %ROWTYPE.
Objects of type TABLE are called "PL/SQL tables", which are modelled as (but not the same as)
database tables, PL/SQL tables use a primary PL/SQL tables can have one column and a primary key.
Cursors
There are two types of cursors, Implict Cursor and Explicit Cursor.
PL/SQL uses Implict Cursors for queries.
User defined cursors are called Explicit Cursors. They can be declared and used.
DECLARE CURSOR cursor name, OPEN cursor name, FETCH cursor name INTO or Record types,
CLOSE cursor name.
Cursor for loop implicitly declares %ROWTYPE as loop index,opens a cursor, fetches rows of values from
active set into fields in the record and closes
when all the records have been processed.
The cursor having query as SELECT .... FOR UPDATE gets closed after COMMIT/ROLLBACK.
The cursor having query as SELECT.... does not get closed even after COMMIT/ROLLBACK.
WHERE CURRENT OF clause in an UPDATE,DELETE statement refers to the latest row fetched from a
cursor.
Database Triggers
Database trigger is stored PL/SQL program unit associated with a specific database table. Usages are
Audit data modificateions, Log events transparently, Enforce complex business rules Derive column
values automatically, Implement complex security authorizations. Maintain replicate tables.
17. How many types of database triggers can be specified on a table ? What are they ?
If FOR EACH ROW clause is specified, then the trigger for each Row affected by the statement.
If WHEN clause is specified, the trigger fires according to the retruned boolean value.
18. Is it possible to use Transaction control Statements such a ROLLBACK or COMMIT in Database
Trigger ? Why ?
It is not possible. As triggers are defined for each table, if you use COMMIT of ROLLBACK in a
trigger, it affects logical transaction processing.
19. What are two virtual tables available during database trigger execution ?
20. What happens if a procedure that updates a column of table X is called in a database trigger of the
same table ?
I & ii.
Exception :
Exception is the error handling part of PL/SQL block. The types are Predefined and user_defined.
Some of Predefined execptions are.
CURSOR_ALREADY_OPEN
DUP_VAL_ON_INDEX
NO_DATA_FOUND
TOO_MANY_ROWS
INVALID_CURSOR
INVALID_NUMBER
LOGON_DENIED
NOT_LOGGED_ON
PROGRAM-ERROR
STORAGE_ERROR
TIMEOUT_ON_RESOURCE
VALUE_ERROR
ZERO_DIVIDE
OTHERS.
23. What is Pragma EXECPTION_INIT ? Explain the usage ?
The PRAGMA EXECPTION_INIT tells the complier to associate an exception with an oracle error. To get an
error message of a specific oracle error.
25. What are the return values of functions SQLCODE and SQLERRM ?
SQLCODE returns the latest code of the error that has occured.
SQLERRM returns the relevant error message of the SQLCODE.
30. What are the modes of parameters that can be passed to a procedure ?
IN,OUT,IN-OUT parameters.
BEGIN
Executable statements.
Exception.
exception handlers
end;
34. Explain how procedures and functions are called in a PL/SQL block ?
The Same procedure name is repeated with parameters of different datatypes and parameters in different
positions, varying number of parameters is called overloading of procedures.
The two parts of package are PACKAGE SPECIFICATION & PACKAGE BODY.
Package Specification contains declarations that are global to the packages and local to the schema.
Package Body contains actual procedures and local declaration of the procedures and cursor
declarations.
38. What is difference between a Cursor declared in a procedure and Cursor declared in a package
specification ?
A cursor declared in a package specification is global and can be accessed by other procedures or
procedures in a package.
A cursor declared in a procedure is local to the procedure that can not be accessed by other procedures.
39. How packaged procedures and functions are called from the following?
a. Stored procedure or anonymous block
b. an application program such a PRC *C, PRO* COBOL
c. SQL *PLUS
40. Name the tables where characteristics of Package, procedure and functions are stored ?
Display items are similar to text items but store only fetched or assigned values. Operators cannot
navigate to a display item or edit the value it contains.
16. How many maximum number of radio buttons can you assign to a radio group?
17. can you change the default value of the radio button group at run time?
No.
Visual Attributes.
Visual Attributes are the font, color and pattern characteristics of objects that operators see and intract
with in our application.
Window
A window, byitself , can be thought of as an empty frame. The frame provides a way to intract with the
window, including the ability to scroll, move, and resize the window. The content of the window ie. what
is displayed inside the frame is determined by the canvas View or canvas-views displayed in the window at
run-time.
24. List the buil-in routine for controlling window during run-time?
Find_window,
get_window_property,
hide_window,
move_window,
resize_window,
set_window_property,
show_View
26. What built-in is used for changing the properties of the window dynamically?
Set_window_property
Canvas-View
A canvas-view is the background object on which you layout the interface items (text-items, check boxes,
radio groups, and so on.) and boilerplate objects that operators see and interact with as they run your
form. At run-time, operators can see only those items that have been assiged to a specific canvas. Each
canvas, in term, must be displayed in a specfic window.
28. Give the equivalent term in forms 4.0 for the following.
Page, Page 0?
Page - Canvas-View
Page 0 - Canvas-view null.
A content view is the "Base" view that occupies the entire content pane of the window in which it is
displayed.
A stacked view differs from a content canvas view in that it is not the base view for the window to which it
is assigned
31. List the built-in routines for the controlling canvas views during run-time?
Find_canvas
Get-Canvas_property
Get_view_property
Hide_View
Replace_content_view
Scroll_view
Set_canvas_property
Set_view_property
Show_view
Alert
No
35. What built-in is used for showing the alert during run-time?
Show_alert.
Yes. Set_alert_property.
37. What is the built-in function used for finding the alert?
Find_alert
Editors
Default editor
User_defined editors
system editors.
Edit_text item
show_editor
LOV
Yes.
42. Can you attach an lov to a field at run-time? if yes, give the build-in name.
Yes. Set_item_proprety
Show_lov
44. What is the built-in used to get and set lov properties during run-time?
Get_lov_property
Set_lov_property
Record Group
45. What is a record Group?
A record group is an internal oracle forms data structure that has a simillar column/row frame work to a
database table
Create_group (Function)
Create_group_from_query(Function)
Delete_group(Procedure)
Add_group_column(Function)
Add_group_row(Procedure)
Delete_group_row(Procedure)
Populate_group(Function)
Populate_group_with_query(Function)
Set_group_Char_cell(procedure)
48. What is the built_in routine used to count the no of rows in a group?
Get_group _row_count
System Variables
49. List system variables available in forms 4.0, and not available in forms 3.0?
System.cordination_operation
System Date_threshold
System.effective_Date
System.event_window
System.suppress_working
False
A library is a collection of Pl/SQL program units, including user named procedures, functions & packages
Yes
The library pll files is a portable design file comparable to an fmb form file
The library lib file is a plat form specific, generated library file comparable to a fmx form file
The pld file is Txt format file and can be used for source controlling your library files
Parameter
54. How do you pass the parameters from one form to another form?
To pass one or more parameters to a called form, the calling form must perform the following steps in a
trigger or user named routine excute the create_parameter_list built_in function to programatically.
Create a parameter list to execute the add parameter built_in procedure to add one or more
parameters list.
Execute the call_form, New_form or run_product built_in procedure and include the name or id of the
parameter list to be passed to the called form.
54. What are the built-in routines is available in forms 4.0 to create and manipulate a parameter list?
Add_parameter
Create_Parameter_list
Delete_parameter
Destroy_parameter_list
Get_parameter_attr
Get_parameter_list
set_parameter_attr
55. What are the two ways to incorporate images into a oracle forms application?
Boilerplate Images
Image_items
A fetch from a long raw database column PL/Sql assignment to executing the read_image_file built_in
procedure to get an image from the file system.
57. What are the triggers associated with the image item?
Image_add
Image_and
Image_subtract
Image_xor
Image_zoom
Raise form_trigger_failure
61. What are the menu items that oracle forms 4.0 supports?
FORMS4.5
object groups
02. what are the different objects that you cannot copy or reference in object groups?
canvas views
Most Canvas views are content canvas views a content canvas view is the "base" view that occupies the
entire content pane of the window in which it is displayed.
Stacked canvas view is displayed in a window on top of, or "stacked" on the content canvas view assigned
to that same window. Stacked canvas views obscure some part of the underlying content canvas view,
and or often shown and hidden programmatically.
Tool bar canvas views are used to create tool bars for individual windows Horizontal tool bars are
display at the top of a window, just under its menu bar.
Vertical Tool bars are displayed along the left side of a window
Get_view_property, Set_view_property
Windows
Canvas views are the back ground objects on which you place the interface items (Text items), check
boxes, radio groups etc.,) and boilerplate
objects (boxes, lines, images etc.,) that operators interact with us they run your form . Each canvas
views displayed in a window.
Modalless windows
Modal windows
More than one modelless window can be displayed at the same time, and operators can navigate
among them if your application allows them to do so . On most GUI platforms, modelless windows can
also be layered to appear either in front of or behind other windows.
The console includes the status line and message line, and is displayed at the bottom of the window to
which it is assigned.
To specify that the console should be displayed, set the console window form property to the name of
any window in the form. To include the console, set console window to Null.
For a modelless window, it determines whether oracle forms hides the window automatically when the
operators navigates to an item in the another window.
Only one window in a form can display the console, and you cannot chage the console assignment at
runtime.
14. Can you have more than one content canvas view attached with a window?
Yes.
Each window you create must have atleast one content canvas view assigned to it. You can also
create a window that has manipulate contant canvas view. At run time only one of the content canvas
views assign to a window is displayed at a time.
When_window_activated
When_window_closed
When_window_deactivated
When_window_resized
Within this triggers, you can examine the built in system variable system.event_window to determine
the name of the window for which the trigger fired.
Modules
18. What are the default extensions of the files careated by forms modules?
19. What are the default extentions of the files created by menu module?
.mmb, .mmx
20 What are the default extension of the files created by library module?
The default file extensions indicate the library module type and storage format
.pll - pl/sql library module binary
Master Detail
21. What is a master detail relationship?
A master detail relationship is an association between two base table blocks- a master block and a
detail block. The relationship between the blocks reflects a primary key to foreign key relationship
between the tables on which the blocks are based.
Any event that makes a different record in the master block the current record is a coordination causing
event.
There are two phases of block coordination: the clear phase and the population phase. During, the
clear phase, Oracle Forms navigates internally to the detail block and flushes the obsolete detail
records. During the population phase, Oracle Forms issues a SELECT statement to repopulate the
detail block with detail records associated witjh the new master record. These operations are
accomplished through the execution of triggers.
25. What are the different types of Delete details we can establish in Master-Details?
Cascade
Isolate
Non-isolote
26. What are the different defaust triggers created when Master Deletes Property is set to Non-isolated?
Master Delets Property Resulting Triggers
----------------------------------------------------
Non-Isolated(the default) On-Check-Delete-Master
On-Clear-Details
On-Populate-Details
26. Whar are the different default triggers created when Master Deletes Property is set to Cascade?
Ans: Master Deletes Property Resulting Triggers
---------------------------------------------------
Cascading On-Clear-Details
On-Populate-Details
Pre-delete
28. What are the different default triggers created when Master Deletes Property is set to isolated?
30. What are the different types of Coordinations of the Master with the Detail block?
42. What is the User-Named Editor?
A user named editor has the same text editing functionality as the default editor, but, becaue it is a named
object, you can specify editor attributes such as windows display size, position, and title.
A user named editor can be displayed programmatically with the built in procedure SHOW-EDITOR,
EDIT_TETITEM independent of any particular text item.
Show editor is the generic built_in which accepts any editor name and takes some input string and
returns modified output string. Whereas the edit_textitem built_in needs the input focus to be in the text
item before the built_in is excuted.
46. What is the basic data structure that is required for creating an LOV?
Record Group.
47. What is the "LOV of Validation" Property of an item? What is the use of it?
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 the LOV, validation
succeeds, the LOV is not displayed, and 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.
48. What are the built_ins used the display the LOV?
Show_lov
List_values
49. What are the built-ins that are used to Attach an LOV programmatically to an item?
set_item_property
get_item_property
(by setting the LOV_NAME property)
50. What are the built-ins that are used for setting the LOV properties at runtime?
get_lov_property
set_lov_property
A record group is an internal Oracle Forms that structure that hs a column/row framework similar to a
database table. However, unlike database tables, record groups are separate objects that belong to the
form module which they are defined.
A record group can have an unlimited number of columns of type CHAR, LONG, NUMBER, or DATE
provided that the total number of column does not exceed 64K.
A query record group is a record group that has an associated SELECT statement. The columns in a
query record group derive their default names, data types, had lengths from the database columns
referenced in the SELECT statement. The records in query record group are the rows retrieved by the
query associated with that record group.
A non-query record group is a group that does not have an associated query, but whose structure and
values can be modified programmatically at runtime.
A static record group is not associated with a query, rather, you define its structure and row values at
design time, and they remain fixed at runtime.
58. What are the built-ins used for Creating and deleting groups?
CREATE-GROUP (function)
CREATE_GROUP_FROM_QUERY(function)
DELETE_GROUP(procedure)
59.What are the built -ins used for Modifying a group's structure?
ADD-GROUP_COLUMN (function)
ADD_GROUP_ROW (procedure)
DELETE_GROUP_ROW(procedure)
60. POPULATE_GROUP(function)
POPULATE_GROUP_WITH_QUERY(function)
SET_GROUP_CHAR_CELL(procedure)
SET_GROUP_DATE_CELL(procedure)
SET_GROUP_NUMBER_CELL(procedure)
61. What are the built-ins used for Getting cell values?
GET_GROUP_CHAR_CELL (function)
GET_GROUP_DATE_CELL(function)
GET_GROUP_NUMBET_CELL(function)
GET_GROUP_ROW_COUNT(function)
GET_GROUP_SELECTION_COUNT(function)
GET_GROUP_SELECTION(function)
RESET_GROUP_SELECTION(procedure)
SET_GROUP_SELECTION(procedure)
UNSET_GROUP_SELECTION(procedure)
63. What are the built-ins used for finding Object ID function?
FIND_GROUP(function)
FIND_COLUMN(function)
64. Use the ADD_GROUP_COLUMN function to add a column to a record group that was created at
design time.
I) TRUE II)FALSE
II) FALSE
65. Use the ADD_GROUP_ROW procedure to add a row to a static record group
I) TRUE II)FALSE
I) FALSE
61. What are the built-in used for getting cell values?
Get_group_char_cell(function)
Get_group_date_cell(function)
Get_group_number_cell(function)
Get_group_row_count(function)
Get_group_selection_count(function)
Get_group_selection(function)
Reset_group_selection(procedure)
Set_group_selection(procedure)
Unset_group_selection(procedure)
63. What are the built-ins used for finding object ID functions?
Find_group(function)
Find_column(function)
64. Use the add_group_column function to add a column to record group that was created at a design time?
False.
65. Use the Add_group_row procedure to add a row to a static record group 1. true or false?
False.
parameters
Parameters provide a simple mechanism for defining and setting the values
of inputs that are required by a form at startup. Form parameters are variables of type char,number,date
that you define at design time.
67. What are the Built-ins used for sending Parameters to forms?
You can pass parameter values to a form when an application executes the call_form, New_form,
Open_form or Run_product.
The maximum no of chars the parameter can store is only valid for char parameters, which can be
upto 64K. No parameters default to 23Bytes and Date parameter default to 7Bytes.
69. How do you call other Oracle Products from Oracle Forms?
Run_product is a built-in, Used to invoke one of the supported oracle tools products and specifies the name
of the document or module to be run. If the called product is unavailable at the time of the call, Oracle Forms
returns a message to the opertor.
In Pl/Sql, You can reference and set the values of form parameters using bind variables syntax. Ex.
PARAMETER name = '' or :block.item = PARAMETER
Parameter name
To indirectly reference a parameter use the NAME IN, COPY 'built-ins to indirectly set and reference
the parameters value' Example name_in ('capital parameter my param'), Copy ('SURESH','Parameter
my_param')
Text Parameters
Data Parameters
When the value of a data parameter being passed to a called product is always the name of the
record group defined in the current form. Data parameters are used to pass data to produts invoked with
the run_product built-in subprogram.
No.
IMAGES
76. What is the difference between boiler plat images and image items?
Boiler plate Images are static images (Either vector or bit map) that you import from the file system or
database to use a grapical elements in your form, such as company logos and maps Image items are
special types of interface controls that store and display either vector or bitmap images. Llike other
items that store values, image items can be either base table items(items that relate directly to database
columns) or control items. The definition of an image item is stored as part of the form module FMB and
FMX files, but no image file is actualy associated with an image item until the item is populate at run time.
When-image-activated fires when the operators double clicks on an image item when-image-
pressed fires when an operator clicks or double clicks on an image item
79. How do you create a new session while open a new form?
Using open_form built-in setting the session option Ex. Open_form('Stocks ',active,session). when invoke
the mulitiple forms with open form and call_form in the same application, state whether the following
are true/False
80. Any attempt to navigate programatically to disabled form in a call_form stack is allowed?
False
81. An open form can not be execute the call_form procedure if you chain of called forms has been
initiated by another open form?
True
82. When a form is invoked with call_form, Does oracle forms issues a save point?
True
Mouse Operations
83. What are the various sub events a mouse double click event involves?
Double clicking the mouse consists of the mouse down, mouse up, mouse click, mouse down & mouse
up events.
System.mouse_button_pressed
System.mouse_button_shift_state
system.mouse_item
system.mouse_canvas
system.mouse_record
OLE
Object Linking & Embadding provides you with the capability to integrate objects from many Ms-Windows
applications into a single compound document creating integrated applications enables you to use the
features form .
86. What is the difference between object embedding & linking in Oracle forms?
In Oracle forms, Embedded objects become part of the form module, and linked objects are references
from a form module to a linked source file.
87. What is the difference between OLE Server & Ole Container?
An Ole server application creates ole Objects that are embedded or linked in ole Containers ex. Ole
servers are ms_word & ms_excell. OLE containers provide a place to store, display and manipulate objects
that are created by ole server applications. Ex. oracle forms is an example of an ole Container.
In place activation
External activation
A property clause is a named object that contains a list of properties and thier settings. Once you create a
property clause you can base other object on it. An object based on a property can inherit the setting of
any property in the clause that makes sense for that object.
Yes
92. What are the important difference between property clause and visual attributes?
Named visual attributes differed only font, color & pattern attributes, property clauses can contain this
and any other properties. You can change the appearance of objects at run time by changing the
named visual attributes programatically , property clause assignments cannot be changed programatically.
When an object is inheriting from both a property clause and named visual attribute, the named visual
attribute settings take precedence, and any visual attribute properties in the class are ignored.
Form Build-ins
It allows you to read and write information to a file in the file system.
Calls the user exit named in the user_exit_string. Invokes a 3Gl programe by name which has been
properly linked into your current oracle forms executable.
It is a terminal screen with the internal state of the form. It updates the screen display to reflect the
information that oracle forms has in its internal representation of the screen.
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL
Triggers
Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle
forms determines through validation that the record should be processed by the next post or commit as an
insert or update. c generally occurs only when the operators modifies the first item in the record, and after
the operator attempts to navigate out of the item.
On-Check_delete_master
On_clear_details
On_populate_details
101. What are the difference between lov & list item?
Lov is a property where as list item ias an item. A list item can have only one column, lov can have one or
more columns.
Pop_list
Text_list
Combo box
The pop list style list item appears initially as a single field (similar to a text item field). When the operator
selects the list icon, a list of available choices appears.
The text list style list item appears as a rectangular box which displays the fixed number of values. When
the text list contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to
view and select undisplayed values.
A combo box style list item combines the features found in list and text item. Unlike the pop list or the text
list style list items, the combo box style list item will both display fixed values and accept one operator
entered value.
Display items are similar to text items with the exception that display items only store and display fetched
or assigned values.Display items are generaly used as boilerplate or conditional text.
when one form invokes another form by executing open_form the first form remains displayed,and
operators can navigate between the forms as desired. when one form invokes another form by executing
call_form,the called form is modal with respect to the calling form.That is, any windows that belong to the
calling form are disabled, and operators cannot navigate to them until they first exit the called form.
When one form invokes another form by executing new_form oracle form exits the first form and releases
its memory before loading the new form calling new form completely replace the first with the second. If
there are changes pending in the first form,the operator will be prompted to save them before the new form
is loaded.
A library is a collection of subprograms including user named procedures, functions and packages.
Library's provide a convenient means of storing client-side program units and sharing them among
multipule applications. Once you create a library, you can attach it to any other form,menu,or library
modules. When you can call library program units from triggers menu items commands and user named
routine, you write in the modules to which you have attach the library.
when a library attaches another library ,program units in the first library can reference program units in
the attached library. Library support dynamic loading-that is library program units are loaded into an
application only when needed. This can significantly reduce the run-time memory requirements of an
applications.
Removes the source code from the library file and generates a library files that contains only pcode.The
resulting file can be used for final deployment, but can not be subsequently edited in the designer.
Vbx control provide a simple mehtod of buildig and enhancing user interfaces.The controls can use
to obtain user inputs and display program outputs.vbx control where originally develop as extensions for
the ms visual basic environments and include such items as sliders,grides and knobs.
Timer is a "internal time clock" that you can programmatically create to perform an action each time the
timer expires.
find_timer
create_timer
delete_timer
115. what are difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database
commit occures. The post-form-commit trigger fires after inserts,updates and deletes have been posted to
the database but before the transactions have been finalished in the issuing the command.The post-
database-commit trigger fires after oracle forms issues the commit to finalished transactions.
Fires during the execute query and count query processing after oracle forms constructs the select
statement to be issued, but before the statement is actually issued.
The pre-query trigger fires just before oracle forms issues the select statement to the database after the
operator as define the example records by entering the query criteria in enter query mode.
When-timer-expired.
Using transactional triggers we can control or modify the default functionality of the oracle forms.
REPORTS
1. What are the different file extensions that are created by oracle reports?
Previewer.
It is a command line argument that allows you to specify a file that contain a set of arguments for
r20run.
7.Where is a procedure return in an external pl/sql library executed at the client or at the server?
At the client.
At the server.
9. What are the default parameter that appear at run time in the parameter screen?
10. Which parameter can be used to set read level consistency across multiple queries?
Read only.
The term is terminal definition file that describes the terminal form which you are using r20run.
The term file which key is correspond to which oracle report functions.
13. Is it possible to insert comments into sql statements return in the data model editor?
Yes.
14. If the maximum record retrieved property of the query is set to 10 then a summary value will be
calculated?
15. What are the sql clauses supported in the link property sheet?
16. To execute row from being displayed that still use column in the row which property can be used?
Format trigger.
17. Is it possible to set a filter condition in a cross product group in matrix reports?
No.
18. If a break order is set on a column would it effect columns which are under the column? No.
19. With which function of summary item is the compute at options required?
20. What is the purpose of the product order option in the column property sheet?
Yes.
Yes.
A placeholder column is used to hold a calculated values at a specified place rather than allowing is to
appear in the actual row where it has to appeared.
A hidden column is used to when a column has to embedded into boilerplate text.
A break group is used to display one record for one group ones.While multiple related records in other
group can be displayed.
28. If two groups are not linked in the data model editor, What is the hierarchy between them?
Two group that is above are the left most rank higher than the group that is to right or below it.
29.The join defined by the default data link is an outer join yes or no?
Yes.
30. How can a text file be attached to a report while creating in the report writer?
By using the link file property in the layout boiler plate property sheet.
32. Can a field be used in a report wihtout it appearing in any data group?
Yes.
33. For a field in a repeating frame, can the source come from the column which does not exist in the data
group which forms the base for the frame?
Yes.
34. Is it possible to center an object horizontally in a repeating frame that has a variable horizontal size?
Yes.
35. If yes,how?
36. What are the two repeating frame always associated with matrix object?
37. Is it possible to split the printpreviewer into more than one region?
Yes.
38. Does a grouping done for objects in the layout editor affect the grouping done in the datamodel
editor?
No.
39. How can a square be drawn in the layout editor of the report writer?
40. To display the page no. for each page on a report what would be the source & logical page no. or & of
physical page no.?
41. What does the term panel refer to with regard to pages?
A panel is the no. of physical pages needed to print one logical page.
An anchoring object is a print condition object which used to explicitly or implicitly anchor other objects to
itself.
Before report, Before form, After form , Between page, After report.
46. Does a Before form trigger fire when the parameter form is suppressed.
Yes.
47. At what point of report execution is the before Report trigger fired?
After the query is executed but before the report is executed and the
records are displayed.
48. Is the After report trigger fired if the report execution fails?
Yes.
Before form , After form , Before report, Between page, After report.
No.
51. What are the ways to monitor the performance of the report?
Because for each query, report has to open a separate cursor and has to
rebind, execute and fetch data.
55. Why is a Where clause faster than a group filter or a format trigger?
56. What is the main diff. bet. Reports 2.0 & Reports 2.5?
57. What is the diff. bet. setting up of parameters in reports 2.0 reports
2.5?
In Reports 2.0 the link tool has to be selected and then two fields to be
linked are selected and the link is automatically created. In 2.5 the first
field is selected and the link tool is then used to link the first field to
the second field.
59.What are the two types views available in the object navigator(specific
to report 2.5)?
view by structure.
62. How is it possible to select generate a select ste. for the query in
the query property sheet?
By using the tables/columns button and then specifying the table and the
column names.
While both reports 2.0 and 2.5 create the parameter, report 2.5 gives a
message that a bind parameter has been created.
No.
When confine mode is on, an object cannot be moved outside its parent in
the layout.
66. What is the diff. when Flex mode is mode on and when it is off?
When flex mode is on, reports automatically resizes the parent when the
child is resized.
67. How can a button be used in a report to give a drill down facility?
By setting the action asscoiated with button to Execute pl/sql option and
using the SRW.Run_report function.
68. What are the two ways by which data can be generated for a parameter's
list of values?
69. What are the two panes that Appear in the design time pl/sql
interpreter?
70. What are three panes that appear in the run time pl/sql interpreter?
By selecting the cross products tool and drawing a new group surrounding
the base group of the cross products.
A group that forms part of a cross product will have a thicker border.
73. Atleast how many set of data must a data model have before a data model
can be base on it?
Four.
No.
75. Is it possible to link two groups inside a cross products after the
cross products group has been created?
No.
A way in which to pass control (and possibly arguments ) form Oracle report
to another Oracle products of 3 GL and then return control ( and ) back
to Oracle reports.
78. How can values be passed bet. precompiler exits & Oracle call
interface?
Oracle DBA
Ans : A
Ans : B
13. Which of the following is not an reason for the fact that most of the
processing is done at the
server ?
a] To reduce network traffic. b] For application sharing, c] To
implement business rules
centrally, d] None of the above
Ans : D
16. What is the difference between a LIST BOX and a COMBO BOX ?
a] In the list box, the user is restricted to selecting a value from a
list but in a combo box
the user can type in a value which is not in the list
b] A list box is a data entry area while a combo box can be used only
for control purposes
c] In a combo box, the user is restricted to selecting a value from a
list but in a list box the
user can type in a value which is not in the list
d] None of the above
Ans : A
22. The system variable that records the select statement that SQL * FORMS
most recently used
to populate a block is
a] SYSTEM.LAST_RECORD
b] SYSTEM.CURSOR_RECORD
c] SYSTEM.CURSOR_FIELD
d] SYSTEM.LAST_QUERY
Ans: D
23. Which of the following is TRUE for the ENFORCE KEY field
a] ENFORCE KEY field characterstic indicates the source of the value
that SQL*FORMS
uses to populate the field
b] A field with the ENFORCE KEY characterstic should have the INPUT
ALLOWED
charaterstic turned off
a] Only 1 is TRUE
b] Only 2 is TRUE
c] Both 1 and 2 are TRUE
d] Both 1 and 2 are FALSE
Ans : A
27. The packaged procedure that makes data in form permanent in the
Database is
a] Post
b] Post form
c] Commit form
d] None of the above
Ans : C
28. Which of the following is TRUE for the SYSTEM VARIABLE $$date$$
a] Can be assigned to a global variable
b] Can be assigned to any field only during design time
c] Can be assigned to any variable or field during run time
d] None of the above
Ans : B
32. Name the two files that are created when you generate a form using
Forms 3.0
a] FMB & FMX, b] FMR & FDX, c] INP & FRM, d] None of the above
Ans : C
35. All datafiles related to a Tablespace are removed when the Tablespace
is dropped
a] TRUE
b] FALSE
Ans : B
45. A database trigger doesnot apply to data loaded before the definition
of the trigger
a] TRUE
b] FALSE
Ans : A
47. Which of the following does not affect the size of the SGA
a] Database buffer
b] Redolog buffer
c] Stored procedure
d] Shared pool
Ans : C
Ans : A
Ans : C
Ans : C
Ans : D
Ans : C
Ans : B
Ans : A
Ans C
Ans : B
61. Which of the following is not correct about the "TABLE" datatype ?
a] Can contain any no of columns
b] Simulates a One-dimensional array of unlimited size
c] Column datatype of any Scalar type
d] None of the above
Ans : A
Ans C
Ans : B
Ans : C
Ans : C
66. Declare
a number := 5; b number := null; c number := 10;
Begin
if a > b AND a < c then
a := c * a;
end if;
End;
What will be the value of 'a' after execution ?
a] 50
b] NULL
c] 5
d] None of the above
Ans : C
67. Does the Database trigger will fire when the table is TRUNCATED ?
a] Yes
b] No
Ans : B
Ans : C
Ans : A
Ans : A
Ans B
Ans : B
Ans : C
Ans : D
Ans : C
Ans : B
Ans : C
79. What built-in subprogram is used to manipulate images in image items ?
a] Zoom_out
b] Zoom_in'
c] Image_zoom
d] Zoom_image
Ans : C
Ans : A
Ans : B
Ans : A
Ans : C
Ans : C
Ans : A
Ans : D
Ans : D
Ans : B
Ans : C - Please check the Correcness of this Answer ( The correct answer
is 2 )
Ans : C
Ans : C
Ans : B
Ans : B
94. What type of file is used for porting Forms 4.5 applications to various
platforms ?
a] .FMB file
b] .FMX file
c] .FMT file
d] .EXE file
Ans : C
Ans A
96. When a form is invoked with CALL_FORM does Oracle forms issues
SAVEPOINT ?
a] Yes
b] No
Ans : A
97. Can we attach the same LOV to different fields in Design time ?
a] Yes
b] No
Ans : A
98. How do you pass values from one form to another form ?
a] LOV
b] Parameters
c] Local variables
d] None of the above
Ans : B
99. Can you copy the PROGRAM UNIT into an Object group ?
a] Yes
b] No
Ans : B
Ans : A
Ans : C
102. What is a Built_in subprogram ?
a] Library
b] Stored procedure & Function
c] Collection of Subprograms
d] None of the above
Ans : D
Ans : A
Ans : C
Ans : B
Ans : A
Ans : B
Ans D
Ans : D
110. Kind of COMMENT statements placed within SQL statements ?
a] Asterisk(*) in column ?
b] ANSI SQL style statements(...)
c] C-Style comments (/*......*/)
d] All the above
Ans : D
Ans : D
Ans : A
Ans : A
Ans : D
115. For a field in a repeating frame, can the source come from a column
which does not exist in
the datagroup which forms the base of the frame ?
a] Yes
b] No
Ans : A
116. What are the different file extensions that are created by Oracle
Reports ?
a] .RDF file & .RPX file
b] .RDX file & .RDF file
c] .REP file & .RDF file
d] None of the above
Ans : C
117. Is it possible to Disable the Parameter form while running the report
?
a] Yes
b] No
Ans : A
118.What are the SQL clauses supported in the link property sheet ?
a] WHERE & START WITH
b] WHERE & HAVING
c} START WITH & HAVING
d] WHERE, START WITH & HAVING
Ans : D
Ans.: D
120. If two groups are not linked in the data model editor, what is the
hierarchy between them?
a] There is no hierarchy between unlinked groups
b] The group that is right ranks higher than the group that is to the
left
c] The group that is above or leftmost ranks higher than the group
that is to right or below
it
d] None of the above
Ans : C
Ans : B
Ans : B
Ans : A
Ans : B
Ans : A
Ans : A
Ans : B
129. NOARCHIEVELOG parameter is used to enable the database in Archieve
mode
a] TRUE
b] FALSE
Ans : B
Ans : B
Ans : B
Ans : D
Ans : A