Vous êtes sur la page 1sur 29

About Oracle Apps

Subscribe here >> 19 July 2007
Enter your Email Address
Interview Questions on Oracle SCM,AOL,Forms Search

Subscribe me!   1. What is order cycle? Advance Computer Tips


About Online Tips
Order cycles describe the processing or routing, through which orders progress. Order
 Subscribe in a reader
cycles contain cycle actions such as Enter, Pick Release or Ship Confirm. Each
cycle action has at least one result. For example, results for the action ‘Enter’ include Popular Articles
‘Booked’, ‘Partial’ and ‘Entered’. You can customize your order cycle by defining
Setting up MULTI­ORG 
prerequisites for each action so that Oracle Order Entry performs these actions in the
Recent Posts
sequence you define. For example, the prerequisite for the action Pick Release could Basic Concepts : AOL 
be the action Legal Review and the result Pass. You would not be able to pick
Category release the order until it meets this prerequisite. You can define as many order cycles Oracle Apps AR Overview. 
as you want so you can handle different processing requirements for different types
Alerts   AOL   AOL and Must know concepts of GL/AP/AR 
of orders or for orders from different sales channels. For example, you may have one
Syadmin   AR   Fast
order cycle that requires legal approval that you use for international orders and one Oracle Finance Functional 
Formula   Form Personalization without legal approval for domestic orders.
Interview Questions   INV FAQ­Oracle Apps AR Functional 
IPL   Oracle Alerts   Oracle AP
If you make any changes to cycle actions in an order cycle you can determine when
Oracle Apps (IQ)   Oracle those changes take effect by setting the profile option OE: Cycle Action Changes
Free Oracle Apps vis instance.
AR   Oracle Financials
Affect Existing Orders
Oracle Forms   Oracle GL
Oracle HRMS   Oracle Oracle Financials Tutorials
Tables used are SO_CYCLES, SO_CYCLE_ACTIONS, SO_ACTION_PRE_REQS,
News   Oracle PO (IQ)   Oracle
SO_ACTIONS, SO_RESULTS, SO_ACTION_RESULTS. Basic Concepts in Oracle AP ­
Reports   Oracle SCM Part1 
PL/SQL   PL/SQL (IQ)
PO   Script   Site Hub 2. List the various actions of a typical order cycle? Basic Concepts in Oracle AP ­
Sysadmin   Tips Part2 
'n' Tricks   tools Order cycles contain cycle actions such as ‘Enter’, ‘Pick Release’ or ‘Ship Confirm’,
‘Backorder Release’, ‘Receivable Interface’, ‘Inventory Interface’, ‘Complete Line’, Basic Concepts in Oracle AR ­
Tutorial   XML Publisher Part1 
‘Complete order’.
Basic Concepts in Oracle AR ­
Oracle Financials Enetered ­> Book ­> Demand/ATP (Available to Promise) ­> Pick Release ­> Part2 
Oracle Apps AR Overview. 
Shipping ­> Inventory Interface ­> Receivable Interface ­> Close order
Basic Concepts in Oracle GL ­
Part1 
More on Oracle Apps AR.  3. What is the relation between an order type and an order cycle?
Basic Concepts in Oracle GL ­
FAQ­Oracle Apps AP .  Part2 
Order Cycle can differ depending on the type of an order For example you may have
FAQ­Oracle Apps PO  one order cycle that requires legal approval that you use for international orders and Basic Concepts in Oracle Cash
one without legal approval for domestic orders Management­ Part1 
Oracle Finance Functional  Order cycle is attached to the order type.
Basic Concepts in Oracle Cash
FAQ­Oracle Apps AR Functional  Management­ Part2 
4. What does Inventory Interface do?
Must know concepts of GL,AP,AR Pay On Receipt in Oracle
Inventory Interface Program populates the interface tables with transactions Applications ­Tutorial 
submitted through Confirm shipment forms. It updates order lines with shipped
Recurring Invoice ­ A complete
Java Interview Questions quantities and updates inventory. Tutorial

5. What are ATO and PTO?
Oracle HRMS Tutorials
ATO ­ Assemble to Order ­ A configuration you make in response to customer order
Basic Concepts in Core HRMS ­ which includes optional items.
Part1 
PTO ­ Pick to Order ­ A configure to order environment where the option and included
Basic Concepts in Core HRMS ­
Part2 
items in a model appear on pick slips and order pickers gather the options when they
ship the order. Alternative to manufacturing the parent item on a work order and then
Basic Concepts in Core HRMS ­ shipping it.
Part3 

Basic Concepts in Core HRMS ­
6. What is RMA?
Part4 
RMA is permission for a customer to return items. OE allows you to authorize the
How to check if the employee is return of your sales orders as well as sales made by other dealers as long as the item
rehired 
are part of your item master and price list. Receipt of goods previously sold to
Date Tracking in Oracle HRMS  customer, credit to a customer or replace with identical item.

Oracle HRMS Payroll Tables  7. What is Hold?
Basic Concepts on Oracle HRMS
SSHR  A feature that prevents an order or order line from processing through the order cycle.
You can place hold on any order or order line.
Batch Element Entry (BEE) in
Oracle HRMS 
8. What are various types of holds?
How to use Web ADI in Oracle
HRMS. Credit check hold, Legal Review hold, Sales Review Hold, Customer request Hold.
(so_holds.type_code)

Few of logitechs hold types:
CREDIT This hold is automatically placed on an order invoiced to a customer who
fails credit check
GSA This hold is automatically placed on an order which is in violation of GSA
CONFIGURATOR This hold is automatically placed on a Sales Order Line that fails
Configurator Validation
Order Management Product on Short Supply
Order Management Product on Quality Stop Shipment
Order Management Awaiting clarification on Order Detail
Order Management Incomplete Ship To
Credit Management Customer/Order on Credit Hold
Order Management EDI order with incorrect pricing ­ hold until pricing issue resolved
Order Management EDI order with incorrect QTY (Case Pack) ­ hold until QTY issue
resolved
Order Management Customer Requested Hold
Credit Management Manual Credit Hold on Backorder
Order Management EDI order waiting for information
Document Services Pre Release Hold to applied to Prevent Pick Release
Document Services Pre Release Hold to applied to Prevent Backorder Release
Order Management RMA Order Waiting For Information
Credit Management Overdue Payment Hold by Credit Managment
Order Management Product on Short Supply

9. What is a hold Parameter?

A criterion you use to place a hold on an order or order line. Valid hold parameters are
customer, customer site, order, and item. (so_order_holds_view_hold.hold_level)

Logitech HOLD_LEVEL
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
Customer
Item
Order
Site Use

10. What are various types of discounts?

Discount is a reduction of list price for an item. Fixed price discounts ­ Final price is
contractually fixed regardless of fluctuations in list price. For example: item A has a
list price of 100, a fixed price discount specifies a selling price of 90, results in a
selling price of 90 even if the list price changes to 110.

Price adjustments ­ The difference between list price of an item and its selling price.
Price difference can have positive or negative impact on price list. Price adjustments
which lower the list price are called as price adjustment discounts. It can be for order
or order line.

Earned discounts ­

11. What is scheduling of orders?

Order scheduling includes assigning demand or reservations, warehouses, shipment
dates, lots and sub­inventories to order line, it can be don’t on booked or un­booked
orders.

12. How do you calculate value of an order (from tables)?

select
sum((sol.ordered_quantity ­ nvl(sol.cancelled_quantity,0)) * sol.selling_price)
from so_headers_all sh, so_lines_all sol
where sh.order_number = &order_number
and sol.header_id = sh.header_id

13. What is underlying table for discounts?

SO_DISCOUNTS, SO_DISCOUNT_CUSTOMERS, SO_DISCOUNT_LINES,
SO_PRICE_ADJUSTMENTS

14. What is auto­accounting?

An Receivable feature that lets you determine how the Accounting Flex­field for your
revenue, receivable, freight, tax, unbilled receivables, and unearned revenue account
types are created.

15. What is Auto­invoicing?

A program that imports invoices, credit memos, and on account credits from other
system into oracle receivables.

16. What does the table ra_cust_trx_line_gl_dist store?

Stores the accounting records for revenue, unearned revenue, and unbilled
receivables for each invoice or credit memo line. This table must have one row for
each accounting distribution.

17. What are the underlying tables in various transactions in receivables?

RA_CUSTOMER_TRX, RA_CUST_TRX_LINE_SALESREPS,
RA_CUSTOMER_TRX_LINE_GL_DIST, RA_CUSTOMER_TRX_LINES,
AR_PAYMENT_SCHEDULES AR_PAYMENT_SCHEDULES,
AR_CASH_RECEIPTS, AR_MISC_CASH_DISTRIBUTIONS,
AR_CASH_RECEIPT_HISTORY, AR_RECEIVABLE_APPLICATION

18. What are interface tables used during autoinvoicing interface?

RA_INTERFACE_LINES, RA_INTERFACE_SALESCREDITS,
RA_INTERFACE_DISTRIBUTIONS

19. If invoice, credit memos and debit memos all get stored in the same table
then, how do you come to know which transaction is it?

RA_CUSTOMER_TRX table stores cust_trx_type_id, which identifies the user
defined transaction type. Which in turn is stored in RA_CUST_TRX_TYPES. The field
TYPE defines the type of transaction, which is linked to LOOKUP_CODE of
AR_LOOKUPS table. Basic 6 transaction types are hard coded in AR_LOOKUPS
table and are not user maintainable.

20. What is a credit memo?

Credit memo is a document, which partially or fully, reverses an original invoice. You
can create credit memos through the Oracle Receivables Enter Credit Memos form or
through Auto­Invoice.

21. What is a debit memo?

Debits that you assign to your customer for additional charges that you want to
collect. You may want to charge your customers for unearned discounts taken,
additional freight charges, taxes, and finance charges.

22. What are the underlying tables for credit memos and debit memos?

RA_CUSTOMER_TRX_ALL

23. What is an accounting Rule?

Accounting rule is a rule that Oracle receivables Auto­invoice uses to specify revenue
recognition schedules for your transactions. You can define your accounting rule
where revenue is recognized over a fixed or variable period of time. For example, you
can define a fixed duration accounting rule with monthly revenue recognition for a
period of 12 months.

24. What is the difference between an accounting rule and an invoicing rule?

Invoicing Rule: Rules the Oracle receivables uses, to determine when you bill your
invoices. You can bill in advance or in arrears.

25. What are the various features of Oracle Receivables?

Multiple System Options

Use optional batching
Customize to meet your needs:
Accounting Flex­field
Item Flex­field
Territory Flex­field
Sales Tax Flex­field
Descriptive Flex­field
Define any chart of accounts using up to 30 segments
Define your own accounting calendar
Choose from a variety of payment terms:
Split terms
Proxima terms
Terms by amount or percent
Multiple discounts
Choose from tax options:
By location or product
Compounding tax
Tax exemptions
Group multiple, conditional taxes
Sales Tax or VAT environment
User­definable tax hierarchy

Customers

Specify customer relationships
Validate customer addresses
Enter addresses in country­specific formats
Enter an unlimited number of:

Addresses, foreign or domestic
Remit­to addresses
Business purposes
Contact names
Telephone numbers

Create customer credit profiles:

Payment terms
Automatic receipt information
Finance charges

Copy credit profiles
Define sales territories
Default pertinent customer site information to transactions
Query customers using variable criteria

Invoicing

Create sign­insensitive transactions
Number invoices and lines automatically
Recognize revenue over multiple periods using invoice rules
Create recurring invoices
Create consolidated billing invoices based on periods defined by payment
terms
Specify transaction type, including:

Deposit
Guarantee
Invoice
Debit memo

Create credit memos, including:

Full and partial credit
Automatic sales credit reversal
On­account credit

Handle write­offs automatically or manually
Set adjustment limits
View transaction balances
View accounting entries on­line
Print invoices at any time

Collections

Record customer calls
Print customer statements
Create dunning letters based on days overdue or dunning levels
Define unlimited number of user­defined dunning letter templates
Produce statements based on user­definable cycles
Reapply cash
Perform inquires on­line or on the web
Create flexible agings
Drill down to detail by aging bucket
Inquire using external references such as project and order number
View correspondence history on­line
Create centralized statement sites
Create centralized dunning sites

Cash Application

Record payments from third parties
Create chargebacks
Process receipts automatically:

Lockbox transmission
Bills of exchange
Direct debits

Match receipts to transactions by:

Transaction Number
Order Number
Purchase Order Number
Consolidated Bill number
Custom Number
Use AutoCash rules:

Apply to oldest invoice first
Exact match on invoice
Clear past due invoices
Clear the account
Clear Past Due Invoices grouped by Payment Term

Apply payments according to user­defined rule sets
Use earned and unearned discounts
Discount on specified line types
Track bank remittances
Clear bank statement items automatically or manually
Use flexible lockbox formats
Create bank charges automatically
Reapply cash
Reverse multiple receipts in a single step
Process Notes Receivable

Future­dated checks
Promissory Note

Global Accounting

Record sales and VAT taxes with complete tax reporting
Issue letters of credit
Handle bills of exchange and automatically eliminate risk
Use optional sequential numbering
Enter multiple currencies using user­defined currency formats
Process cross­currency receipts
Calculate currency gains and losses
Enter cross­currency deposits
Default tax code from revenue segment of natural account
Enter and print line amounts that include tax
Report in multiple currencies

Reporting

View reports on­line
Report by company
Create accounting reports of agings, receipts, cash application, and
adjustments
Use Report eXchange to customize reports:

Query selected information
Export to other applications

Create flexible agings, including:

Customizable aging buckets
Dispute bucket
Customer and invoice summary
By amount and salesperson

Additional reports:

Transaction registers
Tax reports
Credit and collections reports
Key indicators
Supplier/Customer Netting report
Foreign Exchange Gain/Loss report

26. Does an RMA (order return) automatically generate credit memos?

Yes, Receivable Interface of RMA will generate credit memos. If the RMA Interface
results Partially Accepted or Completely Accepted are prerequisites to the
Receivables Interface in the order cycle, only quantities of the item that have been
received in a sub­inventory are credited. Items, which are received for purposes of
inspection, are not eligible to be credited unless they pass inspection and are
received into a sub­inventory. Thus if the prerequisite for the Receivables Interface
includes RMA Interface ­ Partially Accepted, then the Receivables Interface creates
partial credits corresponding to the accepted quantity that has not already been
credited. If the prerequisite for the Receivables Interface is only RMA Interface ­
Completely Accepted, the Receivables Interface waits until the full quantity is
accepted and then creates a full credit. If the RMA Interface is not a prerequisite to
the Receivables Interface in the order cycle, the full return quantity entered on the
RMA line is eligible to be credited.

27. What does form registration do?
28. Why do you need form registration?
29. If I add certain code to a form and don't register it what will happen?
30. If I add a column to a form and don’t register it what will happen?

After you paint your form, register your form with Oracle Application Object Library. In
fact, you must register any form you wish to run under Oracle Application Object
Library. By registering your form, you assign it to a particular application and let
Oracle Application Object Library add form­level triggers your form needs to support
EasyForm and such features as Menus, QuickPick, and help text. You should
register your forms again after you make any changes to their structures such as
adding or deleting fields or zones. You can reregister your form as many times as you
want without harming it.

You can use the Update Form Information form to register any changes you make to
the blocks and fields of your form, or to change the name that appears in QuickPicks.

31. What are the various steps in developing a report?

After getting a valid specification, decide on the oracle tool in which report could be
developed, .if its SQLreport then ­
1. Write SQL statement
2. Build layout
3. Put script in CUSTOM_TOP directory
4. Register it

If its Oracle Reports (6i) then ­
1. Build a data model. data model includes query, summary columns, formula
columns, placeholders, groupings etc
2. Paint the layout
3. Write triggers to enforce business rules
4. Create parameters
5. Put script in CUSTOM_TOP directory
6. Register it

32. How do you call a user exit?

From Forms: ­ ?
From Reports: ­ srw.user_exit ("user_exit_name( parameter1,parameter2,...)");

33. What is anchoring?

Anchors are used to determine the vertical and horizontal positioning of a child object
relative to its parent.

Rules:

1. An object may be anchored to only one other object.
2. Matrix objects, anchors, and the margin cannot be anchored to anything (i.e., they
may not be the parent or child object for an anchor).
3. A repeating frame that is the vertical or horizontal repeating frame for a matrix
cannot be anchored to another object, but other objects may be anchored to it (i.e., it
can be the parent but not the child object for an anchor).
4. Nothing can be anchored to a hidden object (an object with Hidden checked).
5. Moving an anchor also cause the two objects it anchors together to move.
6. Objects cannot be anchored together in such a way that they have a circular
dependency. For example:
· Assume that object A and object B are anchored together and object A is the
parent. Object B cannot be the parent for another anchor between object A and object
B. In addition, object B cannot be the parent for an anchor to object C, if object C is
the parent for an anchor to object A.
· Assume that frame A contains field B and field B is above frame A in the editor.
Furthermore, frame A is anchored to field C, which is not inside of frame A, and field
C is the parent. Field C cannot be the parent for an anchor to field B. Because it is
inside of frame A, field B cannot be anchored to field C, if field C is the parent.
7. To copy an anchor, you must select the anchor and the two objects it anchors
together. If you select the anchor by itself, nothing will be copied to the paste buffer.
If you select the anchor and one of the objects, only the object is placed in the
clipboard.
8. An anchor cannot be resized.
9. An anchor must always be on top of the objects it anchors together (i.e., it must be
one or more layers above the parent and child objects). Oracle Reports prevents you
from moving the anchor to a layer below its parent and child objects.
10. You cannot use Align, Align Objects, or Size Objects from the Arrange menu on
anchors.

34. What are format triggers?

Format Triggers are PL/SQL functions executed before the object is formatted. The
trigger can be used to dynamically change the formatting attributes of the object.

Rules:

Caution: The PL/SQL in a Format Trigger is executed each time that Oracle Reports
attempts to format the layout object. As a result, format triggers should only contain
PL/SQL program units that set formatting attributes (e.g., color and highlighting). You
should not perform other actions, such as inserting data in a table, because you
cannot predict when or how many times the trigger will fire. For example, if you have
Page Protect checked for an object, the object might not be formatted on the logical
page where the trigger is fired. In addition, the trigger may be executed more than
once.

1. Comments inserted directly into the PL/SQL code must use the PL/SQL comment
delimiters.
2. In a Format Trigger, you can read the values of Oracle Reports columns and
parameters of the correct frequency (look at the rule below), but you cannot directly
set their values. For example, you can use the value of a parameter called COUNT1
in a condition (e.g., IF :COUNT1 = 10), but you cannot directly set its value in an
assignment statement (e.g., :COUNT1 = 10). (This restriction also applies to user
exits called from the Format Trigger.)
3. Note also that the use of PL/SQL global variables to indirectly set the values of
columns or parameters is not supported. If you do this, you may get unpredictable
results.
4. You cannot reference columns or variables in the Format Trigger of an object that
have a different frequency than the object. For example, if you create a master/detail
report, the parent group's repeating frame cannot have a Format Trigger that relies on
a value in the child group. For each parent, there may be multiple children. Therefore,
at the parent record level, Oracle Reports cannot determine which of the child records
to use. You also cannot reference any page­dependent columns (i.e., Reset At of
Page) or columns that rely on page­dependent columns in a Format Trigger. The
reason for this is that it would result in a circular dependency. That is, the value of a
page­dependent column cannot be computed until the report is formatted, but the
report cannot be formatted until the Format Trigger is executed.
5. If a Format Trigger returns false and the object does not format, this can cause
other objects not to print. For example, if a repeating frame does not format, any
objects (fields, boilerplate, frames, or other repeating frames) it encloses would not
format either.
6. For repeating frames, the Format Trigger is executed for each instance of the
repeating frame. To create a Format Trigger that acts upon all instances of a
repeating frame at once, create a frame around the repeating frame and enter a
Format Trigger for the frame. If the Format Trigger returns FALSE for every instance
of a repeating frame on a logical page, the repeating frame will occupy no space on
the logical page and anchors to other objects will collapse (if specified).
7. The PL/SQL in a Format Trigger must return consistent results for the same
object. For example, say you have a frame whose Format Trigger returns FALSE
when a certain condition is met. If the frame spans two pages, the Format Trigger
actually fires twice (once for each page on which the frame formats). The condition in
your PL/SQL must return the same result both times the Format Trigger fires.
Otherwise, only part of the frame will be formatted (e.g., the part of the frame on the
first page formats, but the part on the second page does not).
8. If the Format Trigger on a repeating frame in a matrix report returns FALSE, an
entire row or column of the matrix will not format. For example, if an instance of the
across dimension repeating frame does not format, the entire column will not format
in the matrix.
9. If you want to conditionally change the cell of a matrix, you should put a frame
around the field inside the matrix and use the Format Trigger for the frame.

35. What is a user Exit?

A user exit is a routine your form calls to perform application processing.
Occasionally, you may need to build your own user exit to perform application
processing that is beyond the scope of SQL or SQL*Forms commands. Oracle
Application Object Library helps you build a user exit in a third generation language
(such as Pro*C) and integrate it into a standard user exit library.

36. How can you increase the performance of reports?

1. Writing straight forward and plain data fetching Queries.
2. Utilizing a correct combination of indices on tables to fetch data.
3. In case of Oracle reports (6i) reduce the number of User exits, format triggers,
formula columns, summary columns etc.
4. In case of Oracle reports (6i), instead of writing a complex query, break it up into
multiple simple queries and link them up with data­links.

38. What is Explain Plan?

Explain Plan analyzes the query and breaks it up in to the steps which oracle follows
to fetch the data.

PURPOSE:

To determine the execution plan Oracle follows to execute a specified SQL
statement. This command inserts a row describing each step of the execution plan
into a specified table. If you are using cost­based optimization, this command also
determines the cost of executing the statement.
39. How did you optimize your SQL after using Explain Plan?

0. Eliminate FULL table scans.
1. Forcing appropriate indices.
2. Rearranging the table names in from clause.
3. Doing away with functions in where clause.
4. Use EXISTS where ever possible instead of sub­queries.

40. What is TKPROF?

TKPROF is a toll by Oracle to format the trace file output. By passing different
parameters you can control the contents of the output file.

Use the following arguments with TKPROF:

filename1 specifies the input file, a trace file containing statistics produced by the
SQL trace facility. This file can be either a trace file produced for a single session or
a file produced by appending together individual trace files from multiple sessions.

filename2 specifies the file to which TKPROF writes its formatted output.

EXPLAIN determines the execution plan for each SQL statement in the trace file and
writes these execution plans to the output file. TKPROF determines execution plans
by issuing the EXPLAIN PLAN command after connecting to ORACLE with the user
and password specified in this parameter. The specified user must have CREATE
SESSION system privileges.

TABLE specifies the schema and name of the table into which TKPROF temporarily
places execution plans before writing them to the output file. If the specified table
already exists, TKPROF deletes its rows, uses it for the EXPLAIN PLAN command,
and then deletes its rows. If this table does not exist, TKPROF creates it, uses it,
and then drops it.

The specified user must be able to issue INSERT, SELECT, and DELETE
statements against the table. If the table does not already exist, the user must also
be able to issue CREATE TABLE and DROP TABLE statements.

For these privileges to issue statement, see the ORACLE7 Server SQL Language
Reference Manual.

This option allows multiple individuals to concurrently run TKPROF with the same
user in the EXPLAIN value. These individuals can specify different TABLE values
and avoid destructively interfering with each other's processing on the temporary plan
table.

If you use the EXPLAIN parameter without the TABLE parameter, TKPROF uses the
table PROF$PLAN_TABLE in the schema of the user specified by the EXPLAIN
parameter. If you use the TABLE parameter without the EXPLAIN parameter,
TKPROF ignores the TABLE parameter.

INSERT creates a SQL script that stores the trace file statistics in the database.
TKPROF creates this script with the name filename3. This script creates a table and
inserts a row of statistics for each traced SQL statement into the table.

SYS enables and disables the listing of SQL statements issued by the user SYS, or
recursive SQL statements into the output file. The default value of YES causes
TKPROF to list these statements. The value of NO causes TKPROF to omit them.

Note that this parameter does not affect the optional SQL script. The SQL script
always inserts statistics for all traced SQL statements, including recursive SQL
statements.

SORT sorts the traced SQL statements in descending order of the specified sort
option before listing them into the output file. If more than one option is specified, the
output is sorted in descending order by the sum of the values specified in the sort
options. If you omit this parameter, TKPROF lists statements into the output file in
ascending order of when each was first issued.

The sort options are:

PRSCNT number of times parsed
PRSCPU CPU time spent parsing
PRSELA elapsed time spent parsing
PRSDSK number of physical reads from disk during parse
PRSQRY number of consistent mode block reads during parse
PRSCU number of current mode block reads during parse
PRSMIS number of library cache misses during parse
EXECNT number of executes
EXECPU CPU time spent executing
EXEELA elapsed time spent executing
EXEDSK number of physical reads from disk during execute
EXEQRY number of consistent mode block reads during execute
EXECU number of current mode block reads during execute
EXEROW number of rows processed during execute
EXEMIS number of library cache misses during execute
FCHCNT number of fetches
FCHCPU CPU time spent fetching
FCHELA elapsed time spent fetching
FCHDSK number of physical reads from disk during fetch
FCHQRY number of consistent mode block reads during fetch
FCHCU number of current mode block reads during fetch
FCHROW number of rows fetched
PRINT lists only the first integer sorted SQL statements into the output file. If you
omit this parameter, TKPROF lists all traced SQL statements. Note that this
parameter does not affect the optional SQL script. The SQL script always inserts
statistics for all traced SQL statements.

Example This example runs TKPROF, accepts a trace file named
KERVMS_RPK2_FG_SQLDBA_007.TRC and writes a formatted output file named
OUTPUTA.PRF:

TKPROF KERVMS_RPK2_FG_SQLDBA_007.TRC OUTPUTA.PRF

EXPLAIN=SCOTT/TIGER TABLE=SCOTT.TEMP_PLAN_TABLE_A
INSERT=STOREA.SQL SYS=NO SORT=(EXECPU,FCHCPU) PRINT=10

41. What is SQL trace?

The SQL trace facility provides performance information on individual SQL
statements. The SQL trace facility generates the following statistics for each
statement:

· Parse, execute, and fetch counts
· CPU and elapsed times
· Physical reads and logical reads
· Number of rows processed
· Misses on the library cache

42. What does so_picking_batches contain?

A user­defined group of pickslips for orders that you release for picking all at once.
You create picking batches when you release your orders for shipping. For example,
a batch can contain all shipments for a specific warehouse, or all priority shipments
regardless of warehouse.

SO_picking batches contains picking batch name and other information depends on
the values entered on pick release screen from the following fields like warehouse,
customer, sub­inventory, order etc. user may enter combination of these values and
create a picking batch. Which in turn will fire an concurrent program which populates
the so_picking_headers, so_picking_lines, so_picking_line_details tables and prints
picking slips for the batch.

43. How do you call a flex­field from a report?

44. What all reports have you customized in OE?

1. Printing sales orders in European languages.
2.

45. Mention any report customization you have done?

46. How do you register a report?

1. Create the Executable
2. Create concurrent program
2.1 Assign the executable, which you have created.
2.2 Create the parameters to be passed to the report.
2.3 Attach value set to each and every parameter. If value set not there you have to
create one.
2.4 List incompatible program if any.

47. What is a responsibility?

Use this form to define a responsibility. A responsibility determines how much of an
application's functionality a user can use, what reports and concurrent programs the
user can run, and which applications' data those reports and concurrent programs can
access.

48. How do you create a responsibility?

Navigate Security Responsibility Define
1. Specify the application in which you want to create responsibility.
2. Specify the data group by which user will login to database.
3. Specify the main Menu which user will see on the screen.
4. Specify the first screen user would see after the successful login.
5. Assign the report security group which decides which reports user has access to.
(Optional)

49. What tables does demand interface update?

MTL_DEMAND_INTERFACE

50. What is canvas?

Canvas­views are the background 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 as they run your form. Each canvas­view is
displayed in a window.

51. How do you transfer data from legacy system to oracle financials?

· Transfer the data into ASCII files from Legacy system.
· Upload the data from the ASCII files into Interface Tables using SQL*loader.
· Import the data, which is existing in the interface tables to the Oracle's base tables
after necessary validations.

53. What are lexical parameters?

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

Rules:

1. You cannot make lexical references in a PL/SQL statement.

2. If a column or parameter is used as a lexical reference in a query, its data type
must be Character.

3. If you want to use lexical references in your SELECT clause, you should create a
separate lexical for each column you will substitute. In addition, you should assign an
alias to each lexical reference. This enables you to use the same layout field and
boilerplate label for whatever value you enter for the lexical on the Runtime Parameter
Form. See the example below.

4. If you use lexical references in your SELECT clause, you must specify the same
number of items at runtime as were specified in the report's data model. In addition,
each value you specify for your lexical references at runtime must have the same
data type as its Initial Value. Look at the example below.

5. An Oracle Reports link should not depend upon a lexical reference. That is, neither
the child column of a link or its table name should be determined by a lexical
reference. To achieve this functionality, you need to create a link with no columns
specified and then enter the SQL clause (e.g., WHERE) for the link directly in the
query. For example, your parent and child queries might be written as follows:

Parent Query: SELECT DEPTNO FROM EMP

Child Query: SELECT &PARM_1 COL_1, &PARM2 COL_2
FROM EMP
WHERE &PARM_1 = :DEPTNO

Note how the WHERE clause makes a bind reference to DEPTNO, which was
selected in the parent query. Also, this example assumes that you have created a
link between the queries in the Data Model editor with no columns specified.

6. A lexical reference cannot be used to create additional bind variables after the
After Form trigger fires. For example, suppose you have a query like the following
(note that the WHERE clause is replaced by a lexical reference):

SELECT ENAME, SAL FROM EMP

&where_clause

If the value of the WHERE_CLAUSE parameter contains a reference to a bind
variable, you must specify the value in the After Form trigger or earlier. You would get
an error if you supplied the following value for the parameter in the Before Report
trigger:

WHERE SAL = :new_bind
If you supplied this same value in the After Form trigger, the report would run.

Following are some examples of lexical references:

SELECT Clause

SELECT &P_ENAME NAME, &P_EMPNO ENO, &P_JOB ROLE FROM EMP

P_ENAME, P_EMPNO, and P_JOB can be used to change the columns selected at
runtime. For example, you could enter DEPTNO as the value for P_EMPNO on the
Runtime Parameter Form. Note that in this case, you should use aliases for your
columns. Otherwise, if you change the columns selected at runtime, the column
names in the SELECT list will not match the Oracle Reports columns and the report
will not run.

FROM Clause

SELECT ORDID, TOTAL FROM &ATABLE

ATABLE can be used to change the table from which columns are selected at
runtime. For example, you could enter ORD for ATABLE at runtime. If you
dynamically change the table name in this way, you may also want to use lexical
references for the SELECT clause (look at the previous example) in case the column
names differ between tables.

WHERE Clause

SELECT ORDID, TOTAL FROM ORD WHERE &CUST

CUST can be used to restrict records retrieved from ORD. Any form of the WHERE
clause can be specified at run­time.

GROUP BY Clause

SELECT NVL(COMMPLAN, DFLTCOMM) CPLAN, SUM(TOTAL) TOTAL FROM
ORD GROUP BY &NEWCOMM

The value of NEWCOMM can be used to define the GROUP BY clause.

HAVING Clause

SELECT CUSTID, SUM(TOTAL) TOTAL FROM ORD GROUP BY CUSTID HAVING
&MINTOTAL

The value of MINTOTAL could, for example, be used to select customers with a
minimum total of orders.

ORDER BY Clause

SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL FROM ORD ORDER BY
&SORT

The value of SORT can be used to select SHIPDATE, ORDERDATE, ORDID, or any
combination as the sort criterion. It could also be used to add on to the query, for
example to add a CONNECT BY and START WITH clause.

CONNECT BY and START WITH Clauses

Parameters in CONNECT BY and START WITH clauses are used in the same way
as they are in the WHERE and HAVING clauses.

Multiple Clauses

SELECT &COLSTABLE

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

SELECT * FROM EMP &WHEREORD

WHEREORD could be used to change both the WHERE and ORDER BY clauses at
runtime. For example, you could enter WHERE SAL > 1000 ORDER BY DEPTNO for
&WHEREORD at runtime.

PL/SQL and SQL

SELECT &BREAK_COL C1, MAX(SAL) FROM EMP GROUP BY &BREAK_COL

BREAK_COL is used to change both the SELECT list and the GROUP BY clause at
runtime. The Initial Value of the parameter &BREAK_COL is JOB. At runtime, the
user of the report can provide a value for a parameter called GROUP_BY_COLUMN
(of Data type Character). In the Validation Trigger for GROUP_BY_COLUMN, you call
the following PL/SQL procedure and pass it the value of GROUP_BY_COLUMN:

procedure conv_param (in_var IN char) is

begin
if upper(in_var) in ('DEPTNO','EMPNO','HIREDATE') then
:break_col := 'to_char('in_var')' ;
else
:break_col := in_var;
end if;
end;

This PL/SQL ensures that, if necessary, a TO_CHAR is placed around the break
column the user chooses. Notice how in SQL, you make a lexical reference to
BREAK_COL. In PL/SQL, you must make a bind reference to BREAK_COL because
lexical references are not allowed in PL/SQL.

54. How do I populate a POPlist with a record group at runtime?

Syntax:
POPULATE_LIST(list_id, recgrp_id);

POPULATE_LIST(list_id, recgrp_name);
POPULATE_LIST(list_name, recgrp_id);
POPULATE_LIST(list_name, recgrp_name);

Built­in Type

Unrestricted procedure

Enter Query Mode: yes

Description:
Removes the contents of the current list and populates the list with the values from a
record group. The record group must be created at runtime and it must have the
following two column (CHAR) structure:

Column 1: Column 2:

The list label the list value

Parameters:

List_id Specifies the unique ID that Oracle Forms assigns when it creates the list
item. Use the FIND_ITEM built­in to return the ID to an appropriately typed variable.
The data type of the ID is ITEM.

list_name The name you gave to the list item when you created it. The data type of
the name is CHAR.
recgrp_id Specifies the unique ID that Oracle Forms assigns when it creates the
record group. The data type of the ID is RecordGroup.
recgrp_name The CHAR name you gave to the record group when you created it.
Usage Notes:

· Do not use the POPULATE_LIST built­in if the Other Values property is defined and
there are queried records in the block. Doing so may cause Oracle Forms to be
unable to display records that have already been fetched.

For example, assume that a list item contains the values A, B, and C and the Other
Values property is defined. Assume also that these values have been fetched from
the database (a query is open). At this point, if you populate the list using
POPULATE_LIST, an error will occur because Oracle Forms will attempt to display
the previously fetched values (A, B, and C), but will be unable to because these
values were removed from the list and replaced with new values.

· Before populating a list, close any open queries. Use the ABORT_QUERY built­in to
close an open query.

Restrictions:
POPULATE_LIST returns error FRM­41337: Cannot populate the list from the record
group if:

· The record group does not contain either the default value element or the other
values element and the list does not meet the criteria specified for deleting these
elements with DELETE_LIST_ELEMENT. Refer to the restrictions on
DELETE_LIST_ELEMENT for more information.
· The record group contains an other value element but the list does not meet the
criteria specified for adding an other value element with ADD_LIST_ELEMENT. Refer
to the restrictions on ADD_LIST_ELEMENT for more information.

Example:
/*

** Built­in: POPULATE_LIST
** Example: Retrieves the values from the current list item
** Into record group one, clears the list, and
** Populates the list with values from record group
** Two when a button is pressed.
** Trigger: When­Button­Pressed
*/
BEGIN
Retrieve_List(list_id, 'RECGRP_ONE');
Clear_List(list_id);
Populate_List(list_id, 'RECGRP_TWO');
END;

55. How do I call reports from forms?
56. What are various parameters of Run_product built­in?

RUN_PRODUCT(product, document, commmode, execmode, location,
list, display);

RUN_PRODUCT(product, document, commmode, execmode, location,
name, display);
Parameters:

product Specifies a numeric constant for the Oracle product you want to invoke:
FORMS specifies a Runform session. GRAPHICS specifies Oracle Graphics.
REPORT specifies Oracle Reports. BOOK specifies Oracle Book.

Document Specifies the CHAR name of the document or module to be executed by
the called product. Valid values are the name of a form module, report, Oracle
Graphics display, or Oracle Book document. The application looks for the module or
document in the default paths defined for the called product.
Commmode Specifies the communication mode to be used when running the called
product. Valid numeric constants for this parameter are SYNCHRONOUS and
ASYNCHRONOUS.
SYNCHRONOUS specifies that control returns to Oracle Forms only after the called
product has been exited. The operator cannot work in the form while the called
product is running.

ASYNCHRONOUS specifies that control returns to the calling application
immediately, even if the called application has not completed its display.

execmode Specifies the execution mode to be used when running the called product.
Valid numeric constants for this parameter are BATCH and RUNTIME. When you run
Oracle Reports and Oracle Graphics, execmode can be either BATCH or RUNTIME.
When you run Oracle Forms, always set execmode to RUNTIME.
Location Specifies the location of the document or module you want the called
product to execute, either the file system or the database. Valid constants for this
property are FILESYSTEM and DB.
List or name Specifies the parameter list to be passed to the called product. Valid
values for this parameter are the CHAR name of the parameter list, the ID of the
parameter list, or NULL. To specify a parameter list ID, use a variable of type
PARAMLIST.
Note: You can pass text parameters to called products in both SYNCHRONOUS and
ASYNCHRONOUS mode. However, parameter lists that contain parameters of type
DATA_PARAMETER (pointers to record groups) can only be passed to Oracle
Reports and Oracle Graphics in SYNCHRONOUS mode. (SYNCHRONOUS mode is
required when invoking Oracle Graphics to return an Oracle Graphics display that will
be displayed in a form chart item.)

Note: You can prevent Oracle Graphics from logging on by passing a parameter list
that includes a parameter with key set to LOGON and value set to NO.

Note: You cannot pass a DATA_PARAMETER to a child query in Oracle Reports.
Data passing is supported only for master queries.

display Specifies the CHAR name of the Oracle Forms chart item that will contain the
display (such as a pie chart, bar chart, or graph) generated by Oracle Graphics. The
name of the chart item must be specified in the format block_name.item_name. (This
parameter is only required when you are using an Oracle Graphics chart item in a
form.)

Add_Parameter(pl_id,'EMP_QUERY',DATA_PARAMETER,'EMP_RECS');
/*
** Run the report synchronously, passing the parameter list
*/
Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME,
FILEYSTEM, pl_id, NULL);
57. If the first field of a form is required, and I want to tab out without entering
any value, how do I do that?

For user:
Press Shift + Tab, it allows to navigate out of the required current field.
For developer:
VALIDATE(validation_scope);

Built­in Type: unrestricted procedure

Enter Query Mode: yes

Description:
VALIDATE forces Oracle Forms to immediately execute validation processing for the
indicated validation scope.

Parameters:

validation scope Specify one of the following scopes:

DEFAULT_SCOPE Perform normal validation for the default scope, determined by
the runtime platform.

Note: If you change the scope via SET_FORM_PROPERTY(VALIDATION UNIT) and
then call VALIDATE(DEFAULT_SCOPE), you will override the default scope as
defined in the form module. In this case, Oracle Forms will not validate at the default
scope but at the scope defined by SET_FORM_PROPERTY.

FORM_SCOPE Perform normal validation for the current form.

BLOCK_SCOPE Perform normal validation for the current block.

RECORD_SCOPE Perform normal validation for the current record.

ITEM_SCOPE Perform normal validation for the current item.

58. What is a complex report you have done?

59. What are the prerequisites of a Matrix report?

Data Model Requirements You must have a matrix, nested matrix, or matrix break
data model. The data model must have at least four groups, one of which must be a
cross product group. For more information, see Building Reports Manual.

Note: For data models that require a break group, you should create the break group
before creating the cross­product group. If the cross­product group already exists,
delete it, create the break group(s), and then recreate the cross­product group.

Matrices and Summaries # When creating summaries that will appear within the
matrix, the summary must be owned by the cross product group and must have
Product Order specified. Oracle Reports uses the Product Order to determine where
to place the fields for the summaries in the layout. (Note that summaries owned by
the cross­product group cannot have a Reset At or Compute at of Page or rely on
columns that do.)

Default Layout Requirements You must select the cross product group, and at least
two of the groups inside of it.

Matrix Report Defaulting

This section is divided into six sections:

· Matrix defaulting without summaries
· Matrix defaulting with summaries
· Nested matrix defaulting without summaries
· Nested matrix defaulting with summaries
· Matrix break defaulting without summaries
· Matrix break defaulting with summaries

Matrix Defaulting without Summaries

Assume you only have one group tree, you selected the cross product group, two
groups inside of it, and one group below it. Assume that each group contains one
column.

Generated Objects: Your Layout editor will contain the following objects:

B_columnname For the label of each selected column in the Default Layout dialog
box. (B_ implies it is a boilerplate object.)
F_columnname For each column that you selected in the Default Layout dialog box.
(F_ implies it is a field.)

R_groupname For each group that you selected in the Default Layout dialog box. (R_
implies it is a repeating frame.)

M_groupname_HDR For each group that you selected in the Default Layout dialog
box. (M_ implies it is a frame; HDR implies it is a header frame. M_groupname_HDR
is used to protect field labels from being overwritten by other objects in the report.)

X_groupname For each pair of repeating frames that intersect to form the matrix. By
multiplying the number of across dimensions by the number of down dimensions, you
can calculate the number of matrix objects created. In this case, one dimension going
down multiplied by one dimension going across yields one matrix object.

60. How do I call a backend stored procedure from forms?

Just call the stored procedure in forms by its name and passing required parameters.

61. How do I handle stored Procedure errors from forms?

If error not handled in SP then error will propagate in forms.
1. If u know the error then display appropriate message in on­error.
2. If u don’t know the error, then get error code and text which oracle gives
DBMS_ERROR_CODE, DBMS_ERROR_TEXT and display the contents.

62. If I am calling a report from forms & if the report query is ‘select * from emp’
and dynamically at runtime I want to change it to ‘select * from dept’ can I do
it? How?

Yes, it is possible.
1) The data model should be prepared in the most generic format possible i.e. using
lexical parameters like &QUERY. For ex. Select maximum number of dummy
columns with fixed column aliases from dual should be the default value for the
lexical parameter “QUERY”.
2) After accepting the report query from the user through a user parameter (say RQ).
3) Write a code in either After parameter form OR Before report triggers to extract
table name (say TN) from RQ. Query up the columns from the data dictionary (table
‘COL’)for the table name TN.
4) Build the report query using the column names that are queried up and the table
name that is extracted. Don’t forget to add the fixed column aliases that were used to
form the data model. Apply the to_char function to all those non character fields that
are part of the report query.
5) Pass the newly built report query to the data model via the lexical parameter
“QUERY”.
6) The following are the limitations:
a) The number of columns in the report layout is limited by the maximum number of
columns for which the data model is designed and the report lay out is painted.
b) The tedious hard coding part involved in building the new query for the report in
either of the 2 After parameter form OR Before report triggers.

63. If we have same triggers at multiple levels i.e. Form, Block and Item then
what is the default order of firing the triggers?

1. Item
2. Block
3. Form

64. What triggers get fired first? When­new­form­instance or when­new­item­
instance?

1. When­new­form­instance
2. When­new­item­instance

65. What all AOL features have you used?

66. What all steps have to be done if I have to add a Quick Pick to a form,
register it and run it in Oracle financials Application?

1) Get the registered form from the top directory and add a couple of steps in the
FND_STARTUP trigger of the form. The steps are as follows:
a) Define an LOV. E.g.
#FND FKEY DEFINE_LISTVAL
SQL="SELECT LOOKUP_CODE, MEANING \"Unit of Measure \"
INTO :ORDER_LINE.UNIT_OF_MEASURE,
:ORDER_LINE.UNIT_OF_MEASURE_MEANING
FROM OE_LOOKUPS WHERE LOOKUP_TYPE =
'UNIT_OF_MEASURE' AND
LOOKUP_CODE IN (SELECT UNIT_OF_MEASURE FROM
OE_PRODUCT_PRICES
WHERE PRODUCT_ID = :ORDER_LINE.PRODUCT_ID)"
COLUMN="\" Unit of Measure \"(15)"
LOVNAME="UOM_QP"
b) attach it to the Field as one of the steps in FND_STARTUP trigger.
#FND FIELD_INFO
ZONENAME="ORDER_LINE"
FIELDNAME="UNIT_OF_MEASURE"
LOVNAME="UOM_QP"
2)
a) Add a new trigger defining a customized LOV.
XXX_QP (or an unnamed step of your form­level EasyForm declaration trigger at form
level)

where XXX are three or more characters you choose

Create user defined trigger as follows :
Syntax, Step 1
#FND FKEY DEFINE_LISTVAL
LOVNAME=”list_of_values_name"
SQL="SQL select statement"
[QVALIDATION="SQL logic for query validation"]
[EVALIDATION="SQL logic for entry validation"]
COLUMN="column1(length), column2(length),..."
[FLDNAME=":block.reference_field"]
[TITLE="{title text*application shortname:message name}"]
[HEADING="{heading1(length), heading2(length),...
*application shortname:message nameN}"]
[CACHE="{YN}"]
[MATCH="{YN}"]
[LONGLIST="{YN}"]
[SKIP="{012...}"]
[AUTOPICK="{YNFORCE_YESFORCE_NO}"]
[WINDOW="xorigin, yorigin, width, height"]

Add a FND_LISTVAL trigger specifying your LOVNAME with the field to which it has
to be attached to, at item level as follows :
#FND FKEY LISTVAL
FLDNAME=":first_block.ename" LOVNAME="LOV1";

c) Add FND_FKEY trigger calling #EXEMACRO EXETRG “user trigger name” this
trigger is called from a form level standard PRE_FIELD trigger. This FND_FKEY
trigger queries and fetches data based on the LOV definition and lights up the PICK
lamp in the message line. This FND_FKEY should be at item level.
d) Register the form. Responsibility “Application Developer” and the navigation path is
\Navigate Application Form Register

67. How do I attach a form to my own menu?

\Navigate Application Menu
Specify application name, menu name and move to next zone. For a menu item
attach a object, specify TYPE as FORM. Specify under which application the form is
registered into and Save changes.

68. Tell any complex report you have developed?

69. What all features of reports have you incorporated in your report?

70. Tell any complex form you have developed?

71. What all features of forms you have incorporated in your form?

72. What all are steps required to pass a flex field as a parameter to a report?

A value set of validation type special or pair has to be created, in which we have to
actually invoke the flex field. Then when you specify report parameters in concurrent
program definition, specify the value set which is to be used for parameter validation.
Depending on the value set you use for validation, flex field popup will appear.
Parameters are passed to the report as a string. APPS in­built user exit will interpret
the string and will return a formatted WHERE CLAUSE in form of a lexical parameter
which we have to attach to the query.

73. What technical features (non­functional) have you practically used in Oracle
Applications?

Context sensitive help, zoom, quickpick, quickcode, descriptive flex­field, report sets,
menu creation, responsibility, concurrent program, registering tables, columns, forms,
report, executable

74. What is pick release? Which tables are used in pick release?

Pick Release is an order cycle action to notify warehouse that orders are ready for
picking. Picking is a process of withdrawing items from inventory to be shipped to the
customer.
Tables used are
SO_PICKING_HEADER,
SO_PICKING_LINES,
SO_PICKING_LINE_DETAILS,
SO_PICKING_BATCHES,

75. How do you release back ordered items?

Backorder is unfulfilled customer order or commitment. When you pick release an
order there is a field for backorder if you specify backorder to INCLUDED or ONLY
the back order quantity will be picked for shipment.

This value can be either of following :

Include Releases all backordered order lines that meet your criteria and then all
unreleased order lines that meet your criteria.

Exclude Releases all unreleased order lines that meet your criteria (excluding
backorders).

Only Releases only backordered lines that meet your criteria.
Unfulfilled order line details which have failed to be released at least once by Pick
Release or have been backordered by Ship Confirm.

76. What is stored in SO_PICKING_BATCHES?

Stores batch information for the orders, which are due for pick release. It stores item
id, warehouse, sub­inventory, shipment method, shipment priority, ship set no, order
type, etc.

77. Which tables stored order holds information?

Tables storing hold information are
SO_HOLDS,
SO_HOLD_AUTHORIZATION,
SO_HOLD_RELEASES,
SO_HOLD_SOURCES_ALL,
SO_ORDER_HOLDS_ALL

78. How do you modify descriptive flex field?

1. For changing segments of descriptive flex­field
From AOL select
\Flex­field descriptive segments

You have to UN­FREEZ flex­field and then change the segments. Once you are
through with modifications, set it back to FREEZ. This will fire a concurrent request
which will in turn change the descriptive flex field to reflect the changes.

2. For changing value sets attached to flex­field
\Flex­field descriptive values.

Specify the application, form, zone, flex­field name and change value sets in the next
zone. Save the screen to reflect the new value set.

79. How does explain plan inform that a particular index be used for query
execution?

You can pass hint for the optimizer to use the specified index. Hint is passed in the
SQL as /* hint */ where hint is the index name to be used.

80. Name the table where demand interface data is stored?

Please refer to question No 48

81. How to register a form, reports?

Refer to question 46 and 27 to 30 for answer.

82. Where will you keep host source code?

$APPL_TOP/bin

83. What is flex field?

Flex­field An Oracle Applications field made up of segments. Each segment has an
assigned name and a set of valid values. Oracle Applications uses flex­fields to
capture information about your organization. There are two types of flex­fields: key
flex­fields and descriptive flex­fields.

84. What is segment qualifier?
Segment Qualifier

A segment qualifier identifies a particular type of value in a single segment of a key
flex­field. In the Oracle Applications, only the Accounting Flex­field uses segment
qualifiers. You can think of a segment qualifier as an "identification tag" for a value.
In the Accounting Flex­field, segment qualifiers can identify the account type for an
account segment value, and determine whether detail posting or budgeting are
allowed for a particular value.

It is easy to confuse the two types of qualifiers. You should think of a flex­field
qualifier as something the whole flex­field uses to tag its pieces, and you can think of
a segment qualifier as something the segment uses to tag its values.

85. What are global segments?

Descriptive flex fields have two different types of segments, global and context­
sensitive, that you can decide to use in a descriptive flex field structure. A global
segment is a segment that always appears in the descriptive flex field pop­up
window, regardless of context (any other information in your form).

86. What are context sensitive segments?

Descriptive flex fields have two different types of segments, global and context­
sensitive, that you can decide to use in a descriptive flex field structure. A context­
sensitive segment is a segment that may or may not appear depending upon what
other information is present in your form.

87. How to implement flex fields in forms, name the triggers and user exits?

For inserting data for a Flex­Field
a) Trigger KEY_PREFIELD calls POPID user exit for invoking flex field. This is
written at the field level.
b) Triggers FND_PRE_INSERT and /or FND_PRE_UPDATE calls VALID user­exit for
validating the user entered flex field. These are written at the block level.
For queried data for a Flex­field
a) Trigger FND_PRE_QUERY calls POPID user exit for invoking flex field window and
FND_POST_QUERY calls LOADID user exit for loading segment descriptions when
user Queries.

88. Why is FND CURRENCY used in reports?

It is FND FORMAT_CURRENCY user exit for a report, which displays mixed currency
values. Information about the radix character and thousands separator are determined
from the location of the user. The special display for negative and positive currency
values is specified by two profile options. Hence, a report can appear differently
depending upon the location of the user and the profile options values set.

In Germany the radix character and thousand separator are switched from the US
counterpart. The negative numbers display in parentheses () or angle brackets <\>
depending upon the user's preference.

NOTE: It does not convert one currency into another but just formats the amounts as
per location.

89. What is the difference between quick pick and quick code?

Overview of QuickPick and QuickCodes

QuickPick is a powerful Oracle Application Object Library feature that makes your
users more productive by letting them enter data in shorthand form and by ensuring
that they enter valid data. QuickPick also makes it easy for you to create foreign key
relationships in your forms. You can design more intuitive forms by displaying
descriptive names and hiding internal identifiers. For example, when entering the
sales representative responsible for a client, your user can enter the representative's
name, instead of the representative's employee ID or some other identifying code.

You can also use QuickPick to enforce separate validation rules for data entry and
data query. For example, you can specify that when entering a currency name, your
user can only chose from currency names that are enabled and currently active.
When querying data, you users sees all enabled and disabled currency names.

If you define a QuickPick on a field, your form displays a PICK lamp to show your
user that QuickPick is available.

QuickCodes let you define general purpose, static lists of values for form fields.
QuickCodes allow you to base your program logic on codes while displaying user­
friendly names in a QuickPick window. QuickCodes simplify name and language
changes by letting you alter the names your users see, while the codes in your
underlying forms and programs remain unchanged.
QuickCodes share all the powerful features of QuickPick, such as AutoSelection and
AutoReduction. QuickCodes also use separate validation criteria for data entry and
data query, although for QuickCodes this validation happens automatically, based on
start and end dates and an enabled flag.

From your end user's point of view, a QuickCodes field looks and acts just like a
QuickPick field. However, due to the static nature of QuickCodes lists of values,
Oracle Application Object Library processes them up to ten times faster than ordinary
QuickPick lists, resulting in improved performance for your users.

For example, suppose your form contains several fields that accept the values Yes
and No. Instead of writing triggers that explicitly check for each of these values (and
their partial values like Y or N), you can write QuickCodes triggers that refer to the
QuickCodes type YES_NO. If your end user enters Yes or No (or their partial values),
QuickCodes returns a code to your form to indicate the value entered.

You can also use QuickCodes on fields that accept longer lists of values, such as
U.S. state names. Your end users can add values to lists you define. Your end users
can also specify a starting date, an ending date, and whether a particular QuickCodes
value is enabled.

There are two types of QuickCodes. Some QuickCodes are shared among several
applications, and are always pre­seeded. We recommend you do not create new
QuickCode types for the pre­seeded QuickCodes. You can maintain these
QuickCodes using the Define QuickCodes form.

Special QuickCodes, which are maintained from the Define Special QuickCodes form,
allow you to create new QuickCode types. In this chapter, we discuss maintaining
and developing Special QuickCodes, usually referred to simply as QuickCodes.

90. What is auto reduction?

AutoReduction automatically shortens the list to only those values beginning with the
character(s) your users type.

91. What are special triggers created in the form when you register it?

Refer question 27­30.

92. How will you display a message in the form that you have modified for
testing the form?

93. How can you see the global parameter values in the form without coding?

You should have developer menu to do this. You have a Examine option which lists
all form level, system level and global variables. You can see values of all of them
without coding for it.

94. How to debug the form?

You should have developer menu to do this. There is an option to set Debugger On
and Off. It will show you which trigger is getting fired and you can debug the relevant
trigger.

95. What was the structure of accounting flex field in your previous project?

Company
Region
Cost Center
Account
Product
Sub­account

96. What is balancing segment?

Balancing segment An Accounting Flex­field segment that you define so that Oracle
General Ledger automatically balances all journal entries for each value of this
segment. For example, if your company segment is a balancing segment, Oracle
General Ledger ensures that, within every journal entry, the total debits to company
01 equal the total credits to company 01.

97. What is cost center segment?

It is a segment qualifier. A segment qualifier identifies a particular type of value in a
single segment of a key flex­field. In the Oracle Applications, only the Accounting
Flex­field uses segment qualifiers. You can think of a segment qualifier as an
"identification tag" for a value. In the Accounting Flex­field, segment qualifiers can
identify the account type for an account segment value, and determine whether detail
posting or budgeting, are allowed for a particular value.

98. Can you have two accounting flex fields in AR?
Yes, you can have as many accounting flex fields as you wish. But, then you have to
define one set of books per accounting flex field.

99. What are on­account sales credits?

On account: Payments where you intentionally apply all or part of the payment
amount to a customer without reference to an debit item. On­account examples
include prepayments and deposits.

On account credits: Credits that you assign to your customer's account that are not
related to a specific invoice. You can create on account credits in the Enter Credit
Memos form or through AutoInvoice.

100. What is customer merging?

You can merge the business purposes of two different customers in order to assign
all transactions to a new customer, or you can merge business purposes for the
same customer. Oracle Receivables automatically generates a report after you merge
customer information to allow you to review the details of your merge.

101. What happens when you complete an invoice?

You complete an invoice by entering yes in this field. If you only have partial
information for the invoice you can always go back to enter more information to
complete your invoice.

Oracle Receivables performs several validation tests before it allows you to set the
Complete field to Yes for an invoice:

_ Invoice contains at least one line or has freight at the header level.

_ Invoice date is within active date ranges of parameters

_ Each invoice line amount must equal the sum of it's distributions

_ GL date must fall within an open or future­enterable accounting period

_ Invoice Amount sign adheres to the value that you specified for the Creation Sign
field of the transaction type for this invoice

If you are entering an invoice against a commitment:

_ Invoice date is equal to or later than the transaction date

_ Invoice's GL date is equal to or later than the commitment's GL date

If you have assigned an automatic payment method to an invoice:

_ Specified a customer bank

_ Specified a customer bank branch

_ Specified a customer bank account

If you assign an invoicing rule to an invoice:

_ Each invoice line has an accounting rule

_ Each invoice line has a rule start date

_ Invoice and tax lines of an invoice have account sets

If you do not assign an invoicing rule to an invoice:

_ Revenue accounts exist for all of the invoice and tax lines

_ Accounts on the Account Assignments are valid Flexfield combinations

If Tax Calculation is set to Yes:

_ Each line has a tax line except charges lines

When you complete an invoice whose transaction type has Open Receivables set to
Yes, Oracle Receivables displays the invoice on your agings. If you change the
transaction type of a completed invoice where Open Receivables is set to No, Oracle
Receivables no longer displays the invoice on your agings.

If you update a completed invoice by changing values on which AutoAccounting
depends, and AutoAccounting fails, Oracle Receivables displays a warning message
and changes this field back to No.
If you update a completed invoice by changing values on which tax calculation
depends, and tax calculation fails, Oracle Receivables displays a warning message
and changes this field back to No.

Oracle Receivables also lets you delete incomplete invoices if you enter Yes in the
Allow Delete field of the System Options form.

102. What all things are stored in RA_CUSTOMER_TRX?

The RA_CUSTOMER_TRX table stores invoice, debit memo, commitment and credit
memo header information. Each of these transactions is stored as a unique record,
based on the primary key, customer_trx_id. The transaction number, transaction date
and billing customer are stored in the trx_number, trx_date and bill_to_customer_id
columns, respectively. Additional information stored in this table includes ship­to
customer, document sequence number, currency code and a transaction complete
flag. The transaction type for the invoice is stored in the RA_CUST_TRX_TYPES
table, but can be referenced via the foreign key cust_trx_type_id.

103. What are charge backs?

Charge­back is a new debit item that you assign to your customer when you close an
existing, outstanding debit item.

104. What is lock box?

105. What is address validation?

For each address style you can define country specific validation which controls the
information you enter in certain address elements. For example, you may want to
restrict the entry of cities for French addresses to a predefined list, or you may want
to restrict a postal code to a certain range of numbers. Oracle Applications allow you
to define your own country specific validation. Validation can take the form of a
simple quickpick or a complex parent­child relationship between address elements.

106. What is finance charge?

Finance charges are additional charges that you assign to your customers for past
due items. You specify whether you want to charge your customers finance charges
through their customer profiles. Finance charges can be included on your customer's
statements and dunning letters.

107. How AR and OE related?

Orders are entered through OE module. Once order is Ship Confirmed i.e. material is
delivered to customer, receivable interface is run. This interface ports data from OE
to AR tables. AR enables to chase customer for payments. Various kinds of reports
are produced. Data remains in AR till Invoice is paid off and then data is passed on to
GL.

108. What is credit memo and debit memo?

Ref. Question 20, 21.

109. What is the link between CM and invoice (column name)?

Invoice and CM both go in ra_customer_trx table. CM record will have
customer_trx_type_id of credit memo (in training database its set to 1002). This CM
record will store the trx_number of Invoice record in previous_customer_trx_number.

Eg.
Invoice record trx_number = 1000
CM record trx_number = 1020086 previuos_customer_trx_number = 1000

110. What is set of books?

Set of books A company or group of companies within Oracle General Ledger that
shares a common Accounting Flex­field structure, calendar and functional currency.

111. How to find overdue invoices?

You can find out overdue invoices by firing an aging report. Define aging buckets to
list invoices in different buckets like 30 days overdue, 60 days overdue, 90days
overdue etc.

112. List the key flex fields in AR?

Territory
Sales tax location

113. Which is the parameter set to validate key flex field value?
Syntax
#FND {POPIDLOADIDVALID}
CODE="flexfield code"
APPL_SHORT_NAME="application_short_name"
VALIDATE="{FULLPARTIALNONEQUERY}"
SEG="block.concatenated values field name"
[BLOCK="block_name"]
[FIELD="field_name"]
[DERIVED=":block.field\nSegment qualifier"]
[READ_ONLY="{YN}"]
[DINSERT="{YN}"]
[WINDOW="{YN}"]
[ID="block.unique ID field"]
[REQUIRED="{YN}"]
[DISPLAY="{ALL flexfield qualifier
segment number}"]
[UPDATE="{ALL flexfield qualifier
segment number}"]
[INSERT="{ALL flexfield qualifier
segment number}"]
[DATA_FIELD="concatenated hidden IDs field"]
[DESC="block.concatenated description field name"]
[TITLE="window title"]
[VDATE="date"]
[NAVIGATE="{YN}"]
[AUTOPICK="{YN}"]
[NUM=":structure defining field"]
[COPY=":block.field\n{ALL flexfield qualifier}"]
[VRULE="flexfield qualifier\n
segment qualifier\n
{I[nclude]E[xclude]}\n
NAME=Message Dictionary message name\n
validation value1\n
validation value2..."]
[VALATT=":block.field\n
flexfield qualifier\n
segment qualifier"]
[USEDBFLDS="{YN}"]
[COLUMN="{column1(n) column1 alias(n)
[, column2(n), ...]}]
[WHERE="where clause"]
[SET="set number"]
[ALLOWNULLS="{YN}"]
[QUERY_SECURITY="{YN}"]
[QBE_IN="{YN}"]
[LONGLIST="{YN}"]
[NO_COMBMSG="MESG_NAME"]

114. What is dunning letter?

A letter that you send to your customers to inform them of past due debit items.
Oracle Receivables lets you specify the text and format of each letter. You can
choose to include unapplied and on­account payments.

115. What is profile?

Profile is a set of optional/mandatory parameters, which a user can set, which decide
the way Oracle applications work.

116. What is concurrent program?

It is a unique facility that manages many time­consuming, non­interactive tasks
within Oracle Applications for you, so you do not have to wait for their completion.
When you submit a request in Oracle Applications that does not require your
interaction, such as releasing shipments or running a report, the Concurrent Manager
does the work for you, enabling you to complete multiple tasks simultaneously.

117. What are the inputs for pick release?

‘Backorders’ & ‘Prior Reservations Only’ are mandatory fields, rest of them are
optional, which include the following:
a) Order Type
b) Order Number
c) Customer Number
d) Between ‘Request Dates’ and or ‘Schedule Dates’.
e) Ware house
f) Sub­inventory
g) Item
h) Shipment priority
i) Freight Carrier

118. After which stage you cannot cancel the order?
The Cancel Orders form enforces some security rules that are not predefined using
the Define Security Rules form. For example, the Cancel Orders form prevents you
from cancelling order line quantities that have been shipped or invoiced, and from
cancelling return line quantities that have been received or credited. The Cancel
Orders form honors security rules that you define for the Cancel operation that are
stricter than these rules, but if you define any that conflict with these rules, they will
be ignored.

119. Name important tables from OE/AR?
Following are the list of some tables in OE module:
SO_CYCLES
SO_ACTIONS
SO_CYCLE_ACTIONS
SO_RESULTS
SO_HEADERS
SO_LINESSO_LINE_DETAILS
SO_PRICE_LISTS
SO_PRICE_LIST_LINES
SO_PRICE_ADJUSTMENTS
SO_DISCOUNTS
SO_DISCOUNTS_LINES
SO_PICKING_BATCHESSO_PICKING_HEADERSSO_PICKING_LINES
SO_LINE_APROVALS
SO_ORDER_APROVAL
SO_CREDIT_CHECK_RULES
Following are the list of some tables in AR module:
RA_CUSTOMER_TRX
RA_CUSTOMER_TRX_LINES
RA_CUST_TRX_LINE_GL_DIST
RA_CUSTOMER_TRX_LINE_SALESREPS
AR_PAYMENT_SCHEDULES
AR_CUSTOMER_PROFILES
AR_CUSTOMER_PROFILE_CLASSES
AR_CASH_RECEIPTS
AR_MISC_CASH_DISTRIBUTIONS
AR_CASH_RECEIPT_HISTORY
AR_RECEIVABLE_APPLICATIONS

120. Give complete process cycle for OE/AR?

The process cycle for a general OE is as follows:
ENTER
BOOK
DEMAND INTERFACE
BACK ORDER RELEASE
PICK RELEASE
SHIP CONFIRM
INVENTORY INTERFACE & RECEIVABLE INTERFACECOMPLETE
LlNECOMPLETE ORDER

The process cycle for a general OE is as follows:
Import Invoice information from legacy system or from OE module (Receivable
Interface) to Autoinvoice the Orders.
Enter Receipt
Apply the Invoices against the receipt received or deposits held or credit memos or
prepayments.
Complete invoice.
121. Name interface tables in OE/AR?

Oracle Order Entry inserts information into two of the three AutoInvoice interface
tables (RA_INTERFACE_LINES and RA_INTERFACE_SALES_CREDITS).
RA_INTERFACE_DISTRIBUTIONS

Oracle Receivables and Oracle Government Receivables uses three tables to
temporarily store data you transfer from other systems. These tables are called
RA_INTERFACE_LINES_ALL, RA_INTERFACE_SALESCREDITS_ALL and
RA_INTERFACE_DISTRIBUTIONS_ALL. The fourth table,
RA_INTERFACE_ERRORS_ALL is used only by AutoInvoice to store information
about interface data that failed validation. For a detailed description of each column in
these tables, please refer to the Table and Column Description section.

122. What tables are hit when an Invoice is entered?

RA_CUSTOMER_TRX
RA_CUSTOMER_TRX_LINES
RA_CUST_TRX_LINE_GL_DIST
RA_CUSTOMER_TRX_LINE_SALESREPS
AR_PAYMENT_SCHEDULES

123. Name important tables of various modules?
Following are some of the important tables in AP module:
AP_INVOICES
AP_INVOICE_DISTRIBUTIONS
AP_HOLDS
AP_PAYMENT_SCHEDULES
AP_INVOICE_PREPAYS
AP_CHECKS
AP_INVOICE_PAYMENTS
AP_PAYMENT_DISTRIBUTIONS

Following are some of the important tables in GL module:
GL_JE_BATCHES
GL_JE_HEADERS
GL_JE_LINES
GL_CODE_COMBINATIONS
GL_BALANCES
GL_IMPORT_REFERENCES
GL_BUDGETS
GL_BUDGET_ENTITIES
GL_BUDGET_ASSIGNMENTS
GL_BUDGET_VERSIONS
GL_INTERFACE

Following are some of the important tables in INV module:
MTL_SYSTEM_ITEMS
MTL_PARAMETERS
MTL_ITEM_ATTRIBUTES
MTL_ITEM_TEMPLATES
MTL_ITEM_TEMPL_ATTRIBUTES
MTL_UNITS_OF_MEASURE
MTL_ITEM_REVISIONS
MTL_SERIAL_NUMBERS
MTL_LOT_NUMBERS
MTL_ITEM_CATALOG_GROUPS
MTL_MATERIAL_TRANSATIONS
MTL_MATERIAL_TRANSATIONS_TEMP
MTL_ONHAND_QUANTITIES
MTL_DEMAND_INTERTFACE

125. What you know about SQL*Loader?

SQL*Loader is a utility used for moving data from external files into the Oracle
database.
Its syntax is similar to that of the DB2 Load utility, but comes with more options.
SQL*loader supports various load formats, selective filters, and multi­table loads.

One load data into the Oracle database by using the sqlldr (sqlload on some
platforms)
utility. Look at the following example:

sqlldr orauser/passwd control=loader.ctl

This is the control file, loader.ctl:

load data
infile *
replace
into table departments
( dept position (02:05) char(4),
deptname position (08:27) char(20)
)
begindata
COSC COMPUTER SCIENCE
ENGL ENGLISH LITERATURE
MATH MATHEMATICS
POLY POLITICAL SCIENCE

Load variable and fix length data records
look at the following control file examples. In the first we will load delimited data
(variable length):

LOAD DATA
INFILE *
INTO TABLE load_delimited_data
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( data1,
data2
)
BEGINDATA
11111,AAAAAAAAAA
22222,"A,B,C,D,"
If you need to load positional data (fixed length), look at the following control file
example:

LOAD DATA
INFILE *
INTO TABLE load_positional_data
( data1 POSITION(1:5),
data2 POSITION(6:15)
)
BEGINDATA
11111AAAAAAAAAA
22222BBBBBBBBBB

Modify data as it loads into the database:

look at the following examples:

LOAD DATA
INFILE *
INTO TABLE modified_data
( rec_no "my_db_sequence.nextval",
region CONSTANT '31',
time_loaded "to_char(SYSDATE, 'HH24:MI')",
data1 POSITION(1:5) ":data1/100",
data2 POSITION(6:15) "upper(:data2)"
)
BEGINDATA
11111AAAAAAAAAA
22222BBBBBBBBBB

LOAD DATA
INFILE 'mail_orders.txt'
BADFILE 'bad_orders.txt'
APPEND
INTO TABLE mailing_list

FIELDS TERMINATED BY b","
( addr,
city,
state,
zipcode,
mailing_addr "decode(:mailing_addr, null, :addr, :mailing_addr)",
mailing_city "decode(:mailing_city, null, :city, :mailing_city)",
mailing_state
)

Load data into multiple tables at once:
Look at the following control file:

LOAD DATA
INFILE *
REPLACE
INTO TABLE emp
WHEN empno != ' '
( empno POSITION(1:4) INTEGER EXTERNAL,
ename POSITION(6:15) CHAR,
deptno POSITION(17:18) CHAR,
mgr POSITION(20:23) INTEGER EXTERNAL
)
INTO TABLE proj
WHEN projno != ' '
( projno POSITION(25:27) INTEGER EXTERNAL,
empno POSITION(1:4) INTEGER EXTERNAL
)
Selectively load only the data that you need :
Look at this example, (01) is the first character, (30:37) are characters 30 to 37:

LOAD DATA
APPEND
INTO TABLE db_trace_19980517
WHEN (01) <> 'H' and (01) <> 'T' and (30:37) = '19980517'
(
region CONSTANT '31',
service_key POSITION(01:11) INTEGER EXTERNAL,
call_b_no POSITION(12:29) CHAR
)
You can not get SQL*Loader to commit at the end of the load file, but by setting the
ROWS= parameter to a large value, committing can be
reduced. Make sure you have big rollback segments ready when you use a high value
for
ROWS=.

To Improve performance of SQL*Loader :
1.A very simple but easily overlooked hint, do not have any indexes and/or
constraints
(primary key) on your load tables during the load process. This will significantly
slowdown load times even with ROWS= set to a high value.

2.Add the following option in the command line: DIRECT=TRUE. This will effectively
bypass most of the RDBMS processing. However, there are cases when you can't
use direct load. Refer to chapter 8 on Oracle server Utilities manual.

3.Turn off database logging by specifying the UNRECOVERABLE option. This option
can only be used with direct data loads.

4.Run multiple load jobs concurrently.

126. Name some important interface programs

a) Inventory
b) Customer
c) Item
d) Receivable
e) GL
f) Demand
g) Tax

127. What are object groups?

An object group is a container for a group of objects. You define an object group when
you want to package related objects so you can copy or reference them in another
module.

Object groups provide a way to bundle objects into higher­level building blocks that
can be used in other parts of an application and in subsequent development projects.

For example, you might build an appointment scheduler in a form and then decide to
make it available from other forms in your applications. The scheduler would probably
be built from several types of objects, including a window and canvas­view, blocks,
and items that display dates and appointments, and triggers that contain the logic for
scheduling and other functionality. If you packaged these objects into an object
group, you could then copy them to any number of other forms in one simple
operation.

You can create object groups in form and menu modules. Once you create an object
group, you can add and remove objects to it as desired.

Program units cannot be placed in an object group.

· Objects owned by blocks cannot be placed in an object group. This includes items,
item­level triggers, block­level triggers, and relations. These objects cannot exist
independently of the block in which they were defined. To include these objects in an
object group, you must include the block itself by dragging the block object into the
object group in the Navigator.

· The objects in a group must all be defined in the same module; you cannot place
objects from two different forms in the same object group.

· An object group cannot contain another object group.

· When an object in an object group is deleted from a module, it is removed from the
object group automatically.

· Deleting an object group from a module does not delete the objects it contains from
the module.

· Object groups do not store copies of the objects they contain, but rather pointers to
the objects; defining object groups does not increase module size significantly.

128. Difference between packages and procedure/function

Packages

A package is a database object that groups logically related PL/SQL types, objects,
and subprograms. Packages usually have two parts, a specification and a body,
although sometimes the body is unnecessary. The specification is the interface to
your applications; it declares the types, variables, constants, exceptions, cursors,
and subprograms available for use. The body fully defines cursors and subprograms
and so implements the specification.

Unlike subprograms, packages cannot be called, passed parameters, or nested. Still,
the format of a package is similar to that of a subprogram:

The specification holds public declarations, which are visible to your application. The
body holds implementation details and private declarations, which are hidden from
your application.

You can debug, enhance, or replace a package body without changing the interface
(package specification) to the package body.

Packages can be created interactively with SQL*Plus or SQL*DBA using the
CREATE PACKAGE and CREATE PACKAGE BODY commands.

Only the declarations in the package specification are visible and accessible to
applications. Implementation details in the package body are hidden and
inaccessible. So, you can change the body without having to recompile calling
programs.

Package Body

The package body implements the package specification. That is, the package body
contains the definition of every cursor and subprogram declared in the package
specification. Keep in mind that subprograms defined in a package body are
accessible outside the package only if their specifications also appear in the package
specification. The package body can also contain private declarations, which define
types and objects necessary for the internal workings of the package. The scope of
these declarations is local to the package body. Therefore, the declared types and
objects are inaccessible except from within the package body. Unlike a package
specification, the declarative part of a package body can contain subprogram bodies.

Procedure
A procedure has two parts: the specification and the body. The procedure
specification begins with the keyword PROCEDURE and ends

with the procedure name or a parameter list. Parameter declarations are optional.
Procedures that take no parameters are written without parentheses.

The procedure body begins with the keyword IS and ends with the keyword END
followed by an optional procedure name. The procedure body has three parts: a
declarative part, an executable part, and an optional exception­handling part. The
declarative part contains local declarations, which are placed between the keywords
IS and BEGIN. The keyword DECLARE, which introduces declarations in an
anonymous PL/SQL block, is not used. The executable part contains statements,
which are placed between the keywords BEGIN and EXCEPTION (or END). At least
one statement must appear in the executable part of a procedure. The NULL
statement meets this requirement. The exception­handling part contains exception
handlers, which are placed between the keywords EXCEPTION and END.

· Function
A function is a subprogram that computes a value. Functions and procedures are
structured alike, except that functions have a RETURN clause.

Like a procedure, a function has two parts: the specification and the body. The
function specification begins with the keyword FUNCTION and ends with the
RETURN clause, which specifies the datatype of the result value. Parameter
declarations are optional. Functions that take no parameters are written without
parentheses. The function body begins with the keyword IS and ends with the
keyword END followed by an optional function name. The function body has three
parts: a declarative part, an executable part, and an optional exception­handling part.

The declarative part contains local declarations, which are placed between the
keywords IS and BEGIN. The keyword DECLARE is not used. The executable part
contains statements, which are placed between the keywords BEGIN and
EXCEPTION (or END). One or more RETURN statements must appear in the
executable part of a function. The exception­ handling part contains exception
handlers, which are placed between the keywords EXCEPTION and END.

129. Various ways to call a form from another form and their difference
· NEW_FORM
Built­in Type: restricted procedure

Enter Query Mode: no

Description:
Exits the current form and enters the indicated form. The calling form is terminated as
the parent form. If the calling form had been called by a higher form, Oracle Forms
keeps the higher call active and treats it as a call to the new form. Oracle Forms
releases memory (such as database cursors) that the terminated form was using.
Oracle Forms runs the new form with the same Runform options as the parent form. If
the parent form was a called form, Oracle Forms runs the new form with the same
options as the parent form.

· CALL_FORM
Built­in Type: unrestricted procedure

Enter Query Mode: yes

Description:
Runs an indicated form while keeping the parent form active. Oracle Forms runs the
called form with the same Runform preferences as the parent form. When the called
form is exited Oracle Forms processing resumes in the calling form at the point from
which you initiated the call to CALL_FORM.

· OPEN_FORM
Built­in Type: restricted procedure (cannot be called in Enter Query mode)

Enter Query Mode: no

Description:
Opens the indicated form. Call OPEN_FORM to create multiple­form applications,
that is, applications that open more than one form at the same time.

130. Can you base a block in a form on a view?

Yes, You can. If the view is non­updatable or non­insertable then you can not base a
block on view.

closed order : An order and its order lines that have completed all activities in its
process flow and for which the close activity has been completed.

Sales channel is always associated with the customer. We can define the sales
person for the customer also. If sales person not defined at the customer level, we
can associate a sales person with an order also. Account specialist and sales
manager are always associated with bill to site address of the customer.

Related Articles to Read

Oracle Apps %28IQ%29

Oracle Apps Technical Interview Questions
How to register shell script as concurrent program?
Interview Questions For Oracle apps Technical Consultants
Participate in Oracle Application Contest­01
Oracle Apps Interview Questions
Interview Question on Oracle Apps
Interview Questions on Oracle AR (Account Receivables)
Interview Questions on Oracle Reports 6i
Interview Questions on Oracle Purchasing or Oracle PO
Interview Questions on Oracle Payables or Oracle AP
Oracle Alerts FAQ
Oracle Apps Interview Questions ­ Part13
Oracle HRMS Interview Questions
Oracle Apps Interview Questions ­ Part12
Oracle Apps Interview Questions ­ Part11
Oracle Apps Interview Questions ­ Part10
Oracle Apps Interview Questions ­ Part8
Oracle Apps Interview Questions ­ Part9
Oracle Apps Interview Questions ­ Part7
Oracle Apps Interview Questions ­ Part6
Oracle Apps Interview Questions ­ Part4
Oracle Apps Interview Questions ­ Part5
Oracle Apps Interview Questions ­ Part3
Oracle Apps Interview Questions

AOL

Interview Questions ­ Oracle Apps AOL and Sysadmin
Oracle Applications Interview Questions : AOL and System Administration
Test your skills on AOL and Sysadmin
FAQ : Oracle Apps
Interview Questions on Oracle Applications Flexfields
Interview Questions on Forms Personalizations
How to use Audit Trail in Oracle Applications
How to Set Parameters Dynamically
How to use Pair Value Set
File System in Oracle Apps 11i
How to Register New Forms in oracle applications ­ Tutorial
How to use Oracle Message Dictionary
AOL Concepts in Oracle Applications
Interview Questions ­ AOL & SYSADMIN
Interview Questions on Oracle AOL
Oracle Forms

Learn Oracle Forms 6i
Creating 11i Forms ­ 2
Creating 11i Forms ­ 1
FAQ : Oracle Apps
Interview Questions on Forms Personalizations
How to Register New Forms in oracle applications ­ Tutorial

Posted by MG  

Labels: AOL, Oracle Apps (IQ), Oracle Forms

Post a Comment

Enter your comment...

Comment as:  Ajay Gupta (Google) Sign out

 
Publish Preview   Notify me

Newer Post Home Older Post

Subscribe to:
 

© 2008 About Oracle Apps ­ A Complete Guide to Oracle Applications Professionals. | Contact|About us.

All articles are copyrighted to About Oracle Apps.

Vous aimerez peut-être aussi