Top Banner
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.
32
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reports

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

Page 2: Reports

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

Page 3: Reports

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

Page 4: Reports

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

Page 5: Reports

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.

Page 6: Reports

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.

Page 7: Reports

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

Page 8: Reports

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.

Page 9: Reports

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 Pass Values.

With the help of Lexical Parameter You can pass string. You can pass lexical parameter

Page 10: Reports

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 arefnd.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 inAfter 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?

Page 11: Reports

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?

Page 12: 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

Page 13: Reports

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

Page 14: Reports

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 ReportsWe 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 SRWINITFND SRWEXITFND FORMAT_CURRENCYFND FLEXIDVALFND FLEXSQLFND SRWINITThis 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 SRWEXITThis 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_CURRENCYTo 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_CURRENCYCODE=: column containing currencyDISPLAY_WIDTH=field width for displayAMOUNT=: source column name

Page 15: Reports

DISPLAY=: display column name [MINIMUM_PRECISION=:P_MIN_PRECISION][PRECISION={STANDARD|EXTENDED}][DISPLAY_SCALING_FACTOR=:P_SCALING_FACTOR]FND FLEXSQLCall 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 FLEXSQLCODE=”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 FLEXIDVALCall 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 FLEXIDVALCODE=”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|segmentnumber}"][SHOWDEPSEG="{Y | N}"][VALUE=":output column name"][DESCRIPTION=":output column name"][APROMPT=":output column name"][LPROMPT=":output column name"]

Page 16: Reports

[PADDED_VALUE=":output column name"][SECURITY=":column name"]

60. Summary column vs. Formula Column vs. Placeholder ColumnWe 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 modeConfine mode:

Page 17: Reports

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

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 thenIn 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 reportAnd, 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.

Page 18: Reports

** 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 isBegin 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:

Beginv_request_id:= fnd_request.submit_request (applicationshortname concurrentprogramshortname description parameters)

Page 19: Reports

Commit;If v_request_id > 0 then dbms_output.put_line (‘successfully submitted')Elsedbms_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 colorsEx: SRW.DO_SQL, It’s like DDL command, we can create table, views , etc., SRW.SET_FIELD_NUM

SRW. SET_FILED_CHARSRW. SET FILED _DATE

System parametersOracle 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,

Page 20: Reports

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

Page 21: Reports

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:Defaultuser-createdDefault 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 Units2. 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

Page 22: Reports

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.