Sunteți pe pagina 1din 22

1. What are the various types of reports?

Tabular, Master Detail, Form, Form Letter, Mailing Labels, Matrix

2. What is the difference between Master - Detail Report and report created by
breaks?
Master/detail data models are very similar to break report data models. However, a
master/detail data model is created using two queries, each of which owns at least one
group, and a data link. A break report data model is created using one query and at least
two groups. While reports based on a single query are usually more efficient than reports
based on multiple queries, sometimes the structure of your data tables may require you to
link multiple tables.

3. What are Anchors?


* An anchor defines the relative position of an object to the object to which it is
anchored. Anchors are used to determine the vertical and horizontal positioning of a child
object relative to its parent. Since the size of some layout objects may change when the
report runs (and data is actually fetched), you need anchors to define where you want
objects to appear relative to one another.

4. What are the various types of anchors in Reports?


There are two types of anchors in Oracle Reports:
* implicit (anchors that Oracle Reports creates when a report is run)
* explicit (anchors you create)

Implicit Anchors : At runtime, Oracle Reports generates an implicit anchor for each
layout object that does not already have an explicit anchor. It determines for each layout
object which objects, if any, can overwrite it, then creates an anchor from the layout
object to the closest object that can overwrite it. This prevents the object from being
overwritten. The implicit anchor functionality saves you from having to define the
positioning of each object. Implicit anchors are not visible in the Layout editor. However,
you can specify that the Object Navigator display anchoring information using the Object
Navigator Options dialog.

Explicit Anchors: Create an anchor in the Layout editor by clicking on the Anchor tool,
dragging from one edge of the child to the one of the parent's edges, then specifying the
anchor's properties in its property sheet. Any anchor you create for an object will override
its implicit anchoring. Explicit anchors are always visible in the Layout editor unless you
specify otherwise via the Layout Options dialog

5. What are the various report triggers? What is their order of firing?
There are eight report triggers. Of these there are five global triggers called the Report
Triggers. They are fired in the following order:
* Before Parameter Form
* After Parameter Form
* Before Report
* Between Pages
* After Report

Apart from the above Five Report Triggers, there are three other types of triggers:
* Validation Triggers
* Format Triggers
* Action Triggers

Before Form: Fires before the Runtime Parameter Form is displayed. From this trigger,
you can access and change the values of parameters, PL/SQL global variables, and
report-level columns. (Note: If the Runtime Parameter Form is suppressed, this trigger
still fires. Consequently, you can use this trigger for validation of command line
parameters).

After Form: Fires after the Runtime Parameter Form is displayed. From this trigger, you
can access parameters and check their values. This trigger can also be used to change
parameter values or, if an error occurs, return to the Runtime Parameter Form. Columns
from the data model are not accessible from this trigger. (Note: If the Runtime Parameter
Form is suppressed, the After Form trigger still fires. Consequently, you can use this
trigger for validation of command line parameters or other data).

Before Report: Fires before the reports is executed but after queries are parsed and data
is fetched.

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

After Report: Fires after you exit the Previewer, or after report output is sent to a
specified destination, such as a file, a printer, or an Oracle*Mail userid. This trigger can
be used to clean up any initial processing that was done, such as deleting tables. Note,
however, that this trigger always fires, whether or not your report completed successfully.

Validation Triggers: Validation Triggers are PL/SQL functions that are executed when
parameter values are specified on the command line and when you accept the Runtime
Parameter Form. (Notice that this means each Validation Trigger may fire twice when
you execute the report). Validation Triggers are also used to validate the Initial Value of
the parameter in the Parameter property sheet.

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.

Action Triggers: Action Triggers are PL/SQL procedures executed when a button is
selected in the Previewer. The trigger can be used to dynamically call another report (drill
down) or execute any other PL/SQL.
6. What are Placeholder Columns?
A placeholder is a "dummy" column for which you can conditionally set the data type
and value via PL/SQL or a user exit. Placeholder columns are useful when you want to
selectively populate a column with a value (e.g., each time the nth record is fetched, or
each time a record is fetched containing a specific value, etc.).

7. What are the various Module Types in Reports?


You can build three types of modules with Oracle Reports:
* external queries, which are ANSI-standard SQL SELECT statements that can be
referenced by modules
* external PL/SQL libraries, which are collections of PL/SQL source code that can be
referenced by modules
* reports, which are collections of report-level objects and references to external queries
and PL/SQL libraries (optional) that can be referenced by modules

8. What are Physical and Logical pages in Reports?


A report page can have any length and any width. Because printer pages may be smaller
or larger than your report's "page," the concept of physical and logical pages is used.

Physical Page: A physical page (or panel) is the size of a page that will be output by your
printer.

Logical Page: A logical page is the size of one page of your actual report; one logical
page may be made up of multiple physical pages. The Previewer displays the logical
pages of your report output, one at a time.

9. What are the various page layout sections in Oracle Reports?


A report has three sections: the report header pages, report body/margin pages, and report
trailer pages.

10. What are various types of parameters?


There are two types of parameters:
* default (called system parameters)
* user-created (called bind and lexical parameters)

11. How do you reference parameters and columns in reports?


In two ways:
* As bind references
* as lexical references

12. What are Bind Referencing and Lexical Referencing?


* Bind Referencing: Bind references are used to replace a single value in SQL or
PL/SQL, such as a character string, number, or date. Use bind reference when you want
the parameter to substitute only one value at runtime. Specifically, bind references may
be used to replace expressions in SELECT, WHERE, GROUP BY, ORDER BY,
HAVING, CONNECT BY, and START WITH clauses of queries.

Lexical Referencing: Lexical references are placeholders for text that you embed in a
SELECT statement. Use Lexical reference when you want the parameter to substitute
multiple values at runtime. You can use lexical references to replace the clauses
appearing after SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING,
CONNECT BY, and START WITH.

13. Can you create a group without any break columns?


* No.

14. Types of Matrix report?


* 1. Single query
2. Multi query
3. Nested Query
4. Matrix Break

15. In Reports, how can you print one record per page in the output?
* Set the Maximum records per page property of the Repeating frame to 1.

16. How do you print a Report 2.5 report in character mode?


* Set MODE = 'Character' in the Parameter form

17. What are widow lines?


* Widow lines are the minimum number of lines of the boilerplate text or field that
should appear on the logical page where the text starts to print. If the number of lines
specified for this property cannot fit on the logical page, then all lines of the boilerplate
are moved to the next page.

18. What are widow records?


* Widow records are the minimum number of instances (records) that should appear on
the logical page where the repeating frame starts to print. If the number of instances
specified for this property cannot fit on the logical page where the repeating frame is
initially triggered to print, then the repeating frame will start formatting on the next page.

19. What is 'page protect' property for objects?


* Page protects property for an object indicates whether to try to keep the entire object
and its contents on the same logical page. Checking Page Protect means that if the
contents of the object cannot fit on the current logical page, the object and all of its
contents will be moved to the next logical page.

20. What is the 'Print Condition Type' property?


* 'Print Condition Type' property specifies the frequency with which you want the object
to appear in the report. The Print Condition Type options indicate the logical page(s) on
which the object should be triggered to print with regard to the Print Condition Object.

21. What are the various values of the 'Print Condition Type' property in Reports?
* The various values are:
All: All means the object and all of its contents will be printed on all logical pages of the
Print Condition Object. The object will be repeated on any overflow pages of the Print
Condition Object and will be truncated at the logical page boundary, if necessary.

All but First: All but First means the object and all of its contents will be printed on all
logical pages of the Print Condition Object except the first logical page. The object will
be formatted only on overflow pages of the Print Condition Object and will be truncated
at the logical page boundary, if necessary.

All but Last : All but Last means the object and all of its contents will be printed on all
logical pages of the Print Condition Object except the last logical page. The object will be
repeated on any overflow pages of the Print Condition Object except the last one and will
be truncated at the logical page boundary, if necessary.

*Default: Default means that Oracle Reports will use object positioning to set the Print
Condition Type to either *First or *Last for you. (The asterisk indicates that Oracle
Reports specified the setting for you.)

First: First means that the object and all of its contents will only be printed on the first
logical page of the Print Condition Object. The object will be formatted and will
overflow to subsequent pages, if necessary.

Last: Last means that the object and all of its contents will only be printed on the last
logical page of the Print Condition Object. The object will be formatted after the Print
Condition Object and will overflow to subsequent pages, if necessary.

* For repeating frames, the print condition type property refers to every logical page of
every instance (record) of the repeating frame. If you specify a Print Condition Type
setting of all and a Print Condition Object setting of Enclosing Object for a field F_1, it
prints in every instance of repeating frame R_1 on every logical page. If you specify a
Print Condition Type setting of All but First in the above case, then the field will be
printed only in those cases where a single instance (row or record) of the repeating frame
spans across more than one page (which is normally not the case since many records are
there in a single logical page and not one record in many pages). In such a case the field
will be printed on all subsequent pages of this instance except the first page.

22. What is the 'Print Condition Object' property?


* 'Print Condition Object' property specifies the object on which to base the Print
Condition Type of the current object. For example, if you specify a Print Condition Type
of All and a Print Condition Object of Anchoring Object, the current object will be
triggered to print on every logical page on which its anchoring object (parent object)
appears.
23. What are the various values of the 'Print Condition Object' property in
Reports?
* The various values are:
Anchoring Object: Anchoring Object is the parent object to which the current object is
implicitly or explicitly anchored.
Enclosing Object: Enclosing Object is the object that encloses the current object.

24. What is the horizontal of vertical sizing property of objects?


* Horizontal of vertical sizing property specifies how the horizontal or vertical size of the
object may change at runtime to accommodate the objects or data within it.

25. What are the various values of the horizontal of vertical sizing property?
* The various values are :
Contract : Contract means the vertical size of the object decreases, if the formatted
objects or data within it are short enough, but it cannot increase to a height greater than
that shown in the editor. Note: Truncation of data may occur. (You can think of this
option as meaning "only contract, do not expand.")

Expand: Expand means the vertical size of the object increases, if the formatted objects
or data within it are tall enough, but it cannot decrease to a height less than that shown in
the editor. (You can think of this option as meaning "only expand, do not contract.")

Fixed: Fixed means the height of the object is the same on each logical page, regardless
of the size of the objects or data within it. Note: Truncation of data may occur. The height
of the object is defined to be its height in the editor.

Variable: Variable means the object may expand or contract vertically to accommodate
the objects or data within it (with no extra space), which means the height shown in the
editor has no effect on the object's height at runtime.

26. How do you display a message in reports?


* SRW.Message

27. What are the various values of 'Print Panel Order' property of report?
* The various values are:
Across/Down: Across/Down means the physical pages of the report body will print left-
to-right then top-to-bottom.

Down/Across: Down/Across means the physical pages of the report body will print top-
to-bottom and then left-to-right.

28. What is the 'Print Direction' Property of repeating frames?


* 'Print Direction' Property specifies the direction in which successive instances of the
repeating frame appear.
29. What are the various values of the 'Print Direction' Property of repeating
frames?
* The various values are:
Across: Across means that each instance of the repeating frame subsequent to the first
instance is printed to the right of the previous instance across the logical page.

Across/Down: Across/Down means that each instance of the repeating frame subsequent
to the first instance is printed to the right of the previous instance until an entire instance
cannot fit between the previous instance and the right margin of the logical page. At that
time, Oracle Reports prints the instance below the left-most instance on the logical page,
provided there is enough vertical space left on the logical page for the instance to print
completely.

Down: Down means that each instance of the repeating frame subsequent to the first
instance is printed below the previous instance down the logical page.

Down/Across: Down/Across means that each instance of the repeating frame subsequent
to the first instance is printed below the previous instance until an entire instance cannot
fit inside the bottom margin of the logical page. At that time, Oracle Reports prints the
instance to the right of the topmost instance on the logical page, provided there is enough
horizontal space left on the logical page for the instance to print completely.

30. What is the 'Keep with Anchoring Object' object property?


* 'Keep with Anchoring Object' object property indicates whether to keep an object and
the object to which it is anchored on the same logical page. Checking Keep with
Anchoring Object means that if the object, its anchoring object, or both cannot fit on the
logical page, they will be moved to the next logical page.

31. What is 'Page Break Before' object property?


* 'Page Break Before' object property indicates that you want the object to be formatted
on the page after the page on which it is initially triggered to print. Note that this does not
necessarily mean that all the objects below the object with Page Break Before will move
to the next page.

32. What is 'Page Break After' object property?


* 'Page Break After' object property indicates that you want all children of the object to
be moved to the next page. In other words, any object that is a child object of an anchor
(implicit or explicit) to this object will be treated as if it has Page Break Before set. Note
that this does not necessarily mean that all the objects below the object with Page Break
After will move to the next page.

33. What is the 'Break Order' property of columns?


* The 'Break Order' property is the order in which to display the column's values. This
property applies only to columns that identify distinct values of user-created groups (i.e.,
break groups). The order of column values in a default group is determined by the
ORDER BY clause of the query. For column values in user-created groups, however, you
must use Break Order to specify how to order the break column's values.

34. What are the various types of links?


* The Data Link tool draws a link between a parent group and a child query. Creating a
link is a drag and drop operation. Clicking and dragging from one column to another
creates a link between those two columns (column to column link). Clicking and
dragging from one query to another creates all possible links between columns selected
by the queries based on database constraints (query to query link). Clicking and dragging
between two groups creates a group-to-group link (i.e., a link with no columns).

35. Name some of the procedures in the SRW package?


* SRW.Message, SRW.User_Exit, SRW.Do_Sql, SRW.Run_Report

36. What are the various report layout regions?


* There are three report regions in the Layout editor:
* header
* body/margin
* trailer

Header: The report header pages appear once at the beginning of each report on a set of
separate pages. They can contain text, graphics, data, and computations.

Body/Margin: The body/margin pages appear between the header and trailer pages, and
are the bulk of the report. Each physical page in this section consists of a body and a
margin. The body contains the majority of the report's text, graphics, data, and
computations.
A top and bottom margin appear on each page, until all data within the body has been
formatted. A margin may include text, graphics, page numbers, page totals, and grand
totals. The default margin size is one half inch each for the top and bottom margins and
zero for the left and right margins.

Trailer: The report trailer pages appear once at the end of each report on a set of separate
pages. They can contain text, graphics, data, and computations.

37. What is more efficient: Maximum rows or Group Filter?


* Maximum Rows in the Query property sheet restricts the number of records fetched by
the query. A group filter determines which records to include and which records to
exclude. Since Maximum Rows actually restricts the amount of data retrieved, it is faster
than a group filter in most cases. If you are using a Filter of Last or Conditional, Oracle
Reports must retrieve all of the records in the group before applying the filter criteria. As
a result, Maximum Rows or a Filter of First is faster.

38. How will you developed reports from scratch to Registrations.


STEP1: Write Query according to Specs.
STEP2: Add User Parameter in Query.
STEP3: Design Data Model.
STEP4: Design Layout according to specs.
STEP5: Defined Mandatory Parameter P_CONC_REQUEST_ID in report.
STEP6: Use User exit in reports.
STEP7: FTP the report the appropriate top in reports/US folders.
STEP8: registered reports in Oracle Apps (Note Explain all steps of apps registrations)

39. What is Difference between D2k and APPS Reports?


D2K Apps Reports

No User Exit User Exit

P_Conc_Request_id not Required P_CONC_REQUEST_ID Mandatory


Parameter

40. What is Format Trigger?


Ans: Format trigger is used to print conditionally printing of Layout. Format trigger
return Boolean values.

41: What do you mean by Anchoring in Reports?


Ans: With the help of Anchoring Relative position of two objects will be fixed.

42: What do you mean by Confine Mode in Reports?


Ans: Confine Mode Means Locking of Frames. If Confine Mode is on then you can not
move the Object outside the Frame. If it is off you can move the objects.

43: What’s Difference between Formula Column, Summary and Placeholder


Column?
Ans:
Formula Column: Formula Column is used to compute Values. Formula Column always
returns the Values.
Summary Column: Summary Column is used for Calculating summary function like
Sum, Max., Min, Count.
Placeholder Columns: Placeholder Column is used to place the Variables.

44: What are Difference between and Lexical and Bind Parameter?
Ans:
Bind Parameter Lexical Parameter

With the help of Bind Parameter You Can With the help of Lexical Parameter You can
Pass Values. pass string. You can pass lexical parameter in
Select, From , Where Clause

Denoted by Colon Denoted by Ampersand(&) sign

45: How will you print conditionally Layout in reports?


Ans: With the help of Format trigger.

46: How will you call Concurrent Program through Reports?


IN After report trigger put FND_REQUEST.SUBMIT_REQUEST

47: What is User Exit in Reports?

User exits are used to set profile options and are actually used to pass the control from
4gl to 3 gl language to do complex calculations for ex from Oracle reports to outside and
return back to reports.
Few of the commonly used user exits are
fnd.srwinit (It allows oracle AOL user exits to detect that they have been called by oracle
reports Called from before report trigger)
fnd.flexsql (for retrieving data from the flex-fields in the report using lexical reference)
fnd.flexidval (use to display the data retrieved by flexsql using a formula column)
fnd.srwinit (used to release all the memory allocated by oracle AOL used in
After report trigger)

48: In Which Folder You will put the Report on the Server?
/reports/us/

49: What do you mean by Token in Reports?

Token is nothing but an interface between report builder parameters and concurrent
program parameter.
Report builder parameters are not in sequence. That is why we combine with token.

50: How will you Capture ORG_ID Dynamically in Concurrent Programs.


apps.fnd_profile.VALUE ('PER_BUSINESS_GROUP_ID');

51: Suppose I have two Parameter Start Date and End Date and I want My Start
Date should be lower then End Date. How will you validate.

52: What is Various Execution Method in Concurrent Programs in executables?


FlexRpt The execution file is written using the Flex Report API.
Flexsql The execution file is written using the Flexsql API.
Host The execution file is a host script.
Oracle Reports the execution file is an Oracle Reports file.
PL/SQL Stored Procedure The execution file is a stored procedure.
SQL*Loader The execution file is a SQL script.
SQL*Plus the execution file is a SQL*Plus script.
SQL*Report The execution file is a SQL*Report script.
Spawned the execution file is a C or Pro*C program.
Immediate the execution file is a program written to run as a subroutine of the concurrent
manager. We recommend against defining new immediate concurrent programs, and
suggest you use either a PL/SQL Stored Procedure or a Spawned C Program instead.

53: What is Difference between Application Name Defined in Concurrent Program


Executables and Concurrent Programs?

There is special purpose of using application names at the time of Executable definition
and Concurrent program definition. The Application which is used during Executable
definition, the reports should be under that $Appl_TOP/Reports/Lang otherwise the
concurrent program will error out due to no file found.
The purpose of application name using in concurrent program definition, the log and out
files are generated under that particular $Appl_TOP/log or /out directory.

Whatever application you use during your concurrent program definition or executable
but always consider the above two points.

54: How will you Call Reports with in Reports?


55: What do you mean by Incompatibility in Reports?

INCOMPATIBLE means: Two incompatible reports or request set are not allowed to run
in parallel. Incompatible reports /program can only run sequentially, the first one must
terminate before the other is allowed to start.

56: How will you put Message of Reports in LOG Files.

fnd_file.put_line (apps.fnd_file.LOG,’ ‘);

57. What is the purpose of XML report when compared to reports 6i & discoverer?

XML/BI Publisher gives the flexibility to users in order to select the output type in
EXCEL/HTML/PDF/FO etc as per their requirement. If a User ran a report in PDF and
wants to get the same in EXCEL its not required for them to re-run the report Instead
they can republish it using Republish option in Tools and can select the output type
whatever is required.

XML/BI Publisher reports give you additional features for Reports 6i. You can get the
XML Report in EXCEL/HTML/PDF etc as per the output type selected. Data Model in
Reports 6i RDF will be the same but you don’t require a Layout model in the RDF File.
You instead create the Layout in a Word Document using the XML Publisher Desktop
installed. You can directly implement XML Publisher and is not required to implement
Discoverer again.

Before the release of Discoverer 10g Discoverer is a license free version and after its
release the license has become too costly due to which the clients are going for XML
Publisher reports ignoring Discoverer.

Advantages of XML/BI Publisher:


* Cost for implementing is very less compared to the license of Discoverer.
* Can create complex layouts same as we do it in Report 6i where as complex reporting
is not possible in Discoverer.
* Can run the report in 5 different Output Formats and export them.
* If you require the report in 3 different output types you don’t need to run the report 5
times. You can run the report once and can republish it again in other types.
* You don’t require any different web browser for running the report it can be directly
run on the Concurrent Environment itself.
* You can code the report to dynamically select the layouts (templates) in XML Publisher
Similar to the functionality of Format Trigger in Reports 6i which is not possible in
Discoverer.

Limitations/Disadvantages of XML/BI Publisher:


* It’s not recommended for ad-hoc reporting like Discoverer.
* Its very hard to debug a report unlike Discoverer.
* We can’t draw Pie Charts/Graphs as like in Discoverer.

58. Steps to create a XML Publisher Report

1] Add the “Xml Publisher Administrator” Responsibility to the user through the front
end.
2] Create the Report (Data Model or we can say the .Rdf file) using Oracle Report
Builder.
3] Set the user parameter as P_Conc_Request_id.
4] Add the default values to the Before Report and After Report triggers (not mandatory)
5] Ftp the Report to the Cust_Top/Report/Us.
6] Open the Oracle E-Business Suite then go to
Sysadmin>Concurrent>Program>Executables, Here we have to create one executable file
for that RDF.
7] Then go to Sysadmin>Concurrent>Program>Define, Here we have to make a
Concurrent Program for that Executable. Make sure that the output format must be XML.
8] Go to the Sysadmin>Security>Responsibility>Define. Query for the Xml Publisher
Administrator. See the Request Group attached to this. Attach the Concurrent Program to
this Request Group.
9] Design the template in Ms Word (Using the .Rtf file).
10] Go to responsibility XML PUBLISHER ADMINISTRATOR. Then Go to
HOME>DATA DEFINITION>CREATE DATA DEFINITION and create a new data
definition. Make sure that your Data Definition’s Code should be same as Concurrent
Program’s Short Name used by you to create the RDF file.
11] Now go to Xml publisher administrator>Home>Template. Create a new template
with template type=’Rtf’. Then upload the RTF File by browsing the path.
12] Now go to the Responsibility and run the request.

59. User Exits in Oracle Reports


We can integrate Oracle reports with Oracle Application Object Library, and run them as
concurrent programs from your forms or through standard request submission.
These are the user exits available in Oracle Reports that makes AOL integration.
FND SRWINIT
FND SRWEXIT
FND FORMAT_CURRENCY
FND FLEXIDVAL
FND FLEXSQL
FND SRWINIT
This is a User Exit which sets your profile option values and allows Oracle AOL user
exits to detect that they have been called by oracle repots.
It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY
features in his report (such as concurrent processing).
FND SRWINIT also allows your report to use the correct organization automatically.
Can be used in BEFORE_REPORT Trigger.

Syntax is: SRW.USER_EXIT (‘FND SRWINIT’);


FND SRWEXIT
This user exit ensures that all the memory allocated for AOL user exits has been freed up
properly.
Can be used in AFTER- REPORT Trigger.
Syntax is: SRW.USER_EXIT(‘FND SRWEXIT’);
FND FORMAT_CURRENCY
To format the currency amount dynamically depending upon the precision of the actual
currency value, standard precision, users profile values and location (country) of the site.
You obtain the currency value from the database into an Oracle Reports column.
Define another Oracle Reports column, a formula column of type CHAR, which executes
the FORMAT_CURRENCY user exit to format the currency value.
A displayed field has this formula column as its source so that the formatted value is
automatically copied into the field for display.
Syntax:

FND FORMAT_CURRENCY
CODE=: column containing currency
DISPLAY_WIDTH=field width for display
AMOUNT=: source column name
DISPLAY=: display column name
[MINIMUM_PRECISION=:P_MIN_PRECISION]
[PRECISION={STANDARD|EXTENDED}]
[DISPLAY_SCALING_FACTOR=:P_SCALING_FACTOR]
FND FLEXSQL
Call this user exit to create a SQL fragment usable by your report to tailor your SELECT
statement that retrieves flex field values. This fragment allows you to SELECT flex field
values or to create a WHERE, ORDER BY, GROUP BY, or HAVING clause to limit or
sort the flex field values returned by your SELECT statement. You call this user exit once
for each fragment you need for your select statement. You define all flex field columns in
your report as type CHARACTER even though your table may use NUMBER or DATE
or some other data type.
Syntax:

FND FLEXSQL
CODE=”flex field code”
APPL_SHORT_NAME=”application short name”
OUTPUT=”:output lexical parameter name”
MODE=”{ SELECT | WHERE | HAVING | ORDER BY}”
[DISPLAY="{ALL | flex field qualifier | segment number}"]
[SHOWDEPSEG="{Y | N}"]
[NUM=":structure defining lexical" | MULTINUM="{Y | N}"]
[TABLEALIAS="code combination table alias"]
[OPERATOR="{ = | < | > | <= | >= | != | "||" | BETWEEN | QBE}"]
[OPERAND1=":input parameter or value"]
[OPERAND2=":input parameter or value"]
FND FLEXIDVAL
Call this user exit to populate fields for display. You pass the key flex fields data
retrieved by the query into this exit from the formula column. With this exit you display
values, descriptions and prompts by passing appropriate token (any one of VALUE,
DESCRIPTION, APROMPT or LPROMPT).
Syntax:

FND FLEXIDVAL
CODE=”flex field code”
APPL_SHORT_NAME=”application short name”
DATA=”:source column name”
[NUM=":structure defining source column/lexical"]
[DISPLAY="{ALL|flexfield qualifier|segment number}"]
[IDISPLAY="{ALL|flexfield qualifier|segment
number}"]
[SHOWDEPSEG="{Y | N}"]
[VALUE=":output column name"]
[DESCRIPTION=":output column name"]
[APROMPT=":output column name"]
[LPROMPT=":output column name"]
[PADDED_VALUE=":output column name"]
[SECURITY=":column name"]

60. Summary column vs. Formula Column vs. Placeholder Column


We use these columns in our oracle reports, but always have few doubts about which
column to use for what purposes. Here are few brief differences among these columns
and the purpose of their use in oracle reports.
Summary column:
It summarizes another column and can recalculate for each record in a specified group.
The following properties apply specifically to summary columns:
Function: The calculation to be performed on the values of the column specified in
Source.
Source: The name of the column whose values are to be summarized.
Reset At: The group at which the summary column value resets to zero.
Compute At: The group for which a % of Total summary column is computed.
The data type of a summary column depends on the data type of the source of the
summary. If you change the data type of the source column, the data type of the summary
also changes. The Report Wizard does not support page summaries. If you select a page
summary in the Field tab of the Report Wizard, an error message appears.
Formula Column:
A formula column performs a user-defined computation on the data of one or more other
columns. A formula column executes a PL/SQL function and must return a value. The
value can be Character, Number, or Date and returned value must match data type.
Placeholder Column:
A placeholder column is an empty container at design time. The placeholder can hold a
value at run time that has been calculated and placed into it by PL/SQL code from
another object. Using placeholder columns, you can:
Populate multiple columns from one piece of code. You can calculate several values in
one block of PL/SQL code in a formula column and assign each value to a different
placeholder column. Thus, you create and maintain only one program unit instead of
many.
Store a temporary value for future reference. For example, store the current maximum
salary as records are retrieved.
A Scenario:
The goal is to design a salary report of all employees. The aim of the report is to:
Calculate and temporarily store the name of the employee who earns the highest salary in
the company.
Display the highest earner and the maximum salary once at the beginning of the report.
For this report, you need to create the following columns:
Summary to show the maximum salary for the company.
Placeholder to contain the highest earner’s name at run time.
A formula to: Compare each employee salary with the maximum salary.
Populate the placeholder with the employee name if salary equals maximum salary.

61.Flex mode and Confine mode


Confine mode:
On: child objects cannot be moved outside their enclosing parent objects.
Off: child objects can be moved outside their enclosing parent objects.
Flex mode:
On: parent borders “stretch” when child objects are moved against them.
Off: parent borders remain fixed when child objects are moved against
them.

Concurrent program: How many Parameters can pass to Concurrent Program?


Ans. 100 Parameters are permitted from back end
(FND_REQUEST.SUBMIT_REQUEST) and from front end as well.

What is Frame and Repeating Frame?


Frames are used to surround other objects and protect them from being overwritten or
pushed by other objects. For example, a frame might be used to surround all objects
owned by a group, to surround column headings, or to surround summaries.
Repeating frames are place holders for records. Repeating frames print once for each
record of a group and control record-level formatting. Reports will generate one
repeating frame for each group when you create a default layout.
Reports will place containers of columns inside of the frames. Each repeating frame
retrieves only one row in its fetch cycle for any one repetition. Until it is constrained by
another frame, it will repeat itself until the while loop condition can no longer be
satisfied.
We give group in data model as source to repeating frame.

What is the use of ‘Send to back’ and ‘Bring to Front’?


To change the order in which objects are layered on top of each other.
Send to Back to move the object behind all other objects.
Bring to Front to move the object in front of all other objects.

If 2nd parameter value is based on 1st parameter then how do u declare it?
Let v2 be the value set definition of 2nd parameter and v1 be the value set definition for
the first parameter then
In the value set definition of v2 = value $FLEX$.v1

How does u hide fields in a Report?


Ans: Using the Format Trigger we can hide the fields. Suppose that you are building a
master/detail report
And, if no detail records are retrieved for a master Record, you do not want the
boilerplate labels to appear. To do this, you first create a summary column called
MYCOUNT with a Function of Count in
The source group of the master repeating frame.
** In the format trigger for the group frame that surrounds the detail repeating frame and
its labels,
You enter the following:

Function my_formtrig return BOOLEAN is


Begin if: mycount = 0 then
return (false); else
return (true); end if; end;

What is the minimum number of groups required for a Matrix type report?
To create a matrix report, you need at least four groups: one group must be a cross-
product group, two of the groups must be within the cross-product group to furnish the
"labels," and at least one group must provide the information to fill the cells. The groups
can belong to a single query or to multiple queries.
A matrix (cross tab) report contains one row of labels, one column of labels, and
information in a grid format that is related to the row and column labels. A
distinguishing feature of matrix reports is that the number of columns is not known until
the data is fetched from the database.

How do you fix a performance problem in a Report?


Check Report main query and fine tune it.
Create indexes on columns used in where condition (eliminate full table scan)
Enable Trace (set trace on in before report and set trace off in after report)
Before Report:
SRW.Do_Sql ('alter session set sql_trace=true');
After Report:
SRW.Do_Sql ('alter session set sql_trace=false');
Trace file will be generated at location:
Select value from v$parameter
Where name = 'user_dump_dest';

To better see execution plans in a trace file, you need to format the
Generated traces file with tkprof statement.
What is the significance of P_Conc_Request_id?
P_Conc_Request_id is declared as the user parameter for reports which will get org
specific data. P_Conc_Request_id data type is character and length is 15.

FND_REQUEST.SUBMIT:

Begin
v_request_id:= fnd_request.submit_request (applicationshortname
concurrentprogramshortname description parameters)
Commit;
If v_request_id > 0 then
dbms_output.put_line (‘successfully submitted')
Else
dbms_output.put_line ('Not Submitted');
End;

What is Boilerplate?
Ans: Boilerplate is any text or graphics that appear in a report every time it is run. Report
Builder will create one boilerplate object for each label selected in the Report Wizard (it
is named B_Column name). Also, one boilerplate object is sometimes created for each
report summary. A boilerplate object is owned by the object surrounding it, unless
otherwise noted.

What is SRW Package? (Sql Report Writer)


The Report builder Built in package know as SRW Package This package extends
reports ,Control report execution, output message at runtime, Initialize layout fields,
Perform DDL statements used to create or Drop temporary table, Call User Exist, to
format width of the columns, to page break the column, to set the colors
Ex: SRW.DO_SQL, It’s like DDL command, we can create table, views , etc.,
SRW.SET_FIELD_NUM
SRW. SET_FILED_CHAR
SRW. SET FILED _DATE

System parameters
Oracle Reports is shipped with the following system parameters. You can change their
default values as described above.
Table 1-1 System parameter descriptions
System
Parameter Description
COPIES Is the number of report copies that should be made when the report is
printed.
DESFORMAT Is either:
the output format for the report (for example, PDF, HTML, HTMLCSS,
RTF, XML, SPREADSHEET, DELIMITED, or DELIMITEDDATA
for bitmapped reports).
the printer definition to use when formatting the report when
DESTYPE=FILE and DESNAME=filename. If MODE=BITMAP, this
is the name of the printer. If MODE=CHARACTER, this is the
character mode printer definition file (.prt file).
DESNAME Is the name of the output device (for example, the file name, printer's
name, mail user ID).
DESTYPE Is the type of device that will receive the report output (for example,
System
Parameter Description
SCREEN (to format the report using screen fonts), FILE, PRINTER,
MAIL, SYSOUT, CACHE, or LOCALFILE.
MODE Is whether the report should run in CHARACTER mode or BITMAP.
ORIENTATION Is the print direction for the report (LANDSCAPE, PORTRAIT,
DEFAULT).
PRINTJOB Is whether the Print Job dialog box should appear before the report is
run.

How to send email from oracle report 6i

First of all we need to configure Reports to use your SMTP server to send emails. The
SMTP server address is held in a configuration file called rwbuilder.conf. Follow the
steps below:

1. Find this file (usually in /reports/conf or search for it using Windows search)..
2. Open it for editing in your favorite editor.
3. Find an entry like 192.168.100.100 (Please note that the IP address in the file on your
PC will be different to this one).
4. Change the IP address found in the above step to your SMTP server's NAME or IP
Address.
5. Save and close this file
6. Close Oracle reports if it up and then restart it (so it can read the changed config file)

The above steps would configure Reports to use your SMTP server.

Set the following "System Parameters" under Data Model in Oracle Reports for your
report.

* DESTYPE = Mail
* DESNAME = email address where you want the ouput to go to

Run your report and if all goes well you should have an email in your inbox (if you
supplied your email address in DESNAME parameter of course!!).

I switched the page size to 11x 8.5, but the printer still prints in Portrait.

Even though we set the page size in the report properties, there is a another variable in the
system parameters section under the data model in the object navigator called orientation.
This sets the printer orientation. Oracle starts by setting it to "default" which means that
no matter how we set the page size, the user's default printer setup will be used. We can
also set it to either "Landscape" or "Portrait" to force the printer orientation no matter
what the user has set as default.

How many types of repeating frames are there?


Repeating frames surround all of the fields that are created for a group’s columns. The
repeating frame prints (is fired) once for each record of the group.
Use repeating frames to define record-level layout information. For example, you can
specify the direction in which the records print (e.g., Down, Across, Across/Down, etc.)
and the spacing between each record., they provide a subset of repeating frame
functionality (e.g., they do not have a Maximum Records per Page property).

There are two types of repeating frames:


Default
user-created
Default Repeating Frames When you accept the Default Layout dialog box, Oracle
Reports generates one repeating frame for each group in the data model, and places one
field inside it for each of the group's columns. Repeating frames can enclose any layout
object, including other repeating frames. Nested repeating frames are typically used to
produce master/detail and break reports. For each record of the outer repeating frame,
Oracle Reports will format all related records of the enclosed repeating frame.

User-created Repeating Frames Create a repeating frame in the Layout editor by clicking
on the Repeating Frame tool, dragging a region, then specifying its properties in its
property sheet.

The parameter retcode returns 0 for success, 1 for success with warnings, and 2 for
error.

How the stored procedures in the report are are called. What is the use of that?

There is no separate method for calling a database stored procedure in Oracle Reports.
When a procedure is called form Oracle Report and a procedure with that name is
available at several places namely Program Units, Attached Library and Database. The
order will be.

1. Program Units
2. Attached Library
3. Database.

How do you write the report output to Excel file or text file?
A. 1.Use TEXT_IO package 2.Use SPOOL in after Report trigger 3.Use UTL
Package
What is the difference between Conditional Formatting and format trigger?
Both provide the same functionality, used to format the output based on particular
conditions. Format triggers provide a wide variety of options when compared to
conditional formatting (GUI). In format Triggers we have the option to write PL/SQL
code where as conditional formatting is GUI based which provide limited options.

What is the difference between "AFTER PARAMETER FORM" trigger and


"BEFORE REPORT" trigger?
AFTER PARAMETER FORM trigger is fired immediately after the report parameter
form is submitted. BEFORE REPORT trigger is fired after the report queries are parsed
and data is fetched

What is tkprof and how is it used?


The tkprof tool is a tuning tool used to determine cpu and execution times for SQL
statements. You use it by first setting timed_statistics to true in the initialization file and
then turning on tracing for either the entire database via the sql_trace parameter or for the
session using the ALTER SESSION command. Once the trace file is generated you run
the tkprof tool against the trace file and then look at the output from the tkprof tool. This
can also be used to generate explain plan output.

S-ar putea să vă placă și