Oracle9iAS Reports Technical FAQ February 2001
Unlimited data Formatting
High quality data publishing in PDF, HTML, HTMLCSS, XML, Postscript, PCL, Delimited text, RTF
Unbanded layouts, Re-entrant wizards, Unlimited number of queries ODBC support, Charting, Pre-defined templates
Parameters and drill down (incl. chart drilldown), Runtime personalization, Exception/conditional formatting,
Out-of-the-Box web functionality (Hyperlinks, Bookmarks, Page-on-demand)
Application Server Reporting
Flexible Report Distribution and Bursting, Standard CGI/servlet interface
Reports dynamically generated, Output caching, Batch scheduling, Load balancing & clustering
Portal Integration
Secure reports, printers, report servers to specific users and/or times of usage, particular parameters, etc.
Schedule and push content into Portal
e-Business Intelligence Integration
Ad-hoc query integration - export Oracle Discoverer report to Oracle Reports
OLAP reporting - build Reports against Oracle Express OLAP database.
Please refer to the Oracle9i Application Server: Oracle Reports White Paper for details on these features.
Oracle Reports is available on many platforms including: Windows 95/98/2000, Linux, Sun Solaris, HP/UX, Compaq Tru64, and IBM AIX
Information can be found on http://www.oracle.com/index.html and http://technet.oracle.com.
Oracle Reports ships with the following default Report Styles: Tabular, Form-Like, Mailing Label, Form Letter, Group Left, Group Above, Matrix and Matrix with Group. Oracle Reports also gives you the flexibility to modify these default styles as well as supporting multiple styles in a single report.
Place an invisible boilerplate line before the repeating frame that contains your data. Give it a Page Break before and anchor it to the repeating frame. Then write a format trigger that only prints the boilerplate object (and thus the page break) if it is an odd page number.
In Release 6 i , the new feature called "Runtime Customizations" allows you to customize the look and feel of a report for different audiences. This is done through the use of XML that stores the layout information for a report and gets applied to the Report Definition File at runtime. So, one report can look different for different users with colors, format masks and columns defined before report generation.
Barcodes are supported through the use of specific barcode fonts.
With 6i Patch 3 or later, use the command line parameter delimited_hdr=no
The Reports Server (Services) are part of Oracle9i Application Server.
The Reports Server controls the number of reports runtime engines dynamically. The Reports Server is a single process which dynamically manages a set of Reports runtime engines. Each Reports runtime engine is responsible for executing a single report at any given time and each engine can reside in memory to execute additional report requests over a period of time. To conserve application server resources, excess/idle Reports runtime engines (when invoked from the Reports Server) remove themselves from memory for one of three reasons:
When an engine is idle for a user-defined period of minutes [MAXIDLE], an engine will remove itself from the process table and free up any associated resources. This can be specified within the Reports Server configuration file usually located in ORACLE_HOME/report60/server/<servername>.ora, or can be viewed/changed via the Reports Queue Manager when you access adminstrator privileges (Options>Privileges>Administrator).
When an engine has run its user-defined maximum number of jobs [ENGLIFE], the Reports engine will die gracefully to be replaced by another engine. [ENGLIFE] is also set in the <servername>.ora file mentioned above.
When changes are made to the maximum number of engines [MAXENGINE], then excess engines will be removed.
Yes. This will be installed automatically with the command-line client.
Yes. Just set BACKGROUND=yes as one of your command line parameters. Then it will return immediately after submitting a job request to the reports server.
In Reports Release 6i, the Reports Server Queue will be pushed via an open PL/SQL API into a database table. This has also been backported to Reports 6.0 patch 1 or later. In Reports 9i this will also be available as an XML feed over HTTP.
Since the release of Reports 6.0, Reports Server Clustering and Load Balancing has been in existence. One Reports Server is nominated as the master server through which all requests are handled. Additional Reports Servers are configured and instantiated through the master as slave Reports Servers. A report request may be run directly by the master, or if it has reached capacity, the request is handed off to one or more slave Reports Servers. These slave servers are running on different machines from that of the master and all the servers may reside on different types of platforms. They all, however, share a common file system where the report definitions (RDFs) and the report cache are located. The slave servers fire up reports runtime engines to process a report request, run the report, and place the results (output) in the common cache area. The master server then returns the output to the end user.
Report Bursting is the ability for a single report to be split into multiple sections and for each section to be sent to a different destination. Report Bursting was introduced in Oracle Reports 6.0, comprised of Report Sectioning (multiple layouts for a given data model) and Report Distribution (output to multiple destinations and formats after the report is run once).
Yes. Currently, with Reports 6i you can write some PL/SQL stored procedures in the database that use the UTL_HTTP package (available in 7.3 or later) to issue the HTTP request to the server to run the report. However in the next release of Oracle Reports (Reports 9i), some PL/SQL procedures will be supplied to accomplish this.
If you're using the command line interface (rwcli60), you can set DESTYPE=localfile, and the report output will be routed directly back onto the client's machine. There is no direct way to store report output directly into the database. Report definitions can be stored in the database.
Oracle Reports imposes no limits on the size of these files.
Oracle Reports ships with an ActiveX control to embed into your Windows-based applications. If your application is Web-based, simply embed the URL to call your Web-deployed reports within your application. If you are using Oracle Forms, use the built-in RUN_REPORT_OBJECT procedure to communicate with the Reports Server. As of release 7.3 of the Oracle database onwards, you can also use the UTL_HTTP stored package to submit URLs to your Web-deployed reports (e.g., to schedule reports from a PL/SQL stored procedure).
The version of the component that is shipped with Reports on the Reports CD (including SQL*Net.). If you wish to use any other version, or wish to check if another product (e.g., RDBMS, OAS, etc.) will co-exist with Oracle Reports, you should contact Oracle Support Services.
Oracle Graphics will continue to be supported in Reports 6i. Graphics capabilities will be enhanced in future versions of Reports, beyond Reports 6i.
Through the use of the Chart Wizard, you can easily create and embed a chart into your report with a simple point and click style interface. Supported styles include: Column, Bar, Pie, Line, and Mixed. Alternatively, you can place a chart object in the report design and specify the name of a previously created Oracle Graphics chart.
Since Oracle Reports 6.0, Express cubes have been added as another datasource. Simply use the Report Wizard to create a new report selecting Express Query as the source. The wizard guides you through attaching an Express database to your Express Server, picking the dimensions, and then specifying where each dimension fits in the format you have chosen. Please see Appendix A of the Getting Started Manual for detailed information on setting up the connection to your Express Server.
For Oracle Reports 6.0, an Oracle Express 6.2 Server is required and an intermediate Oracle 8.0.5 instance with object support running on NT. For Reports 6i, an Oracle Express 6.3 server is required and an intermediate Oracle 8.0.6 or 8i (8.1.6) instance with object support running on NT and most Unix platforms. This component may be downloaded from the Reports section of OTN ( http://technet.oracle.com). The Express server and the Reports runtime may be on any of the platforms they are ported to.
The Reports wizard (i.e. design time) running against Express is available on Windows 95/NT/2000 only, however at runtime it is available
The Reports 6i Developer Getting Started Manual has detailed instructions on how to configure Reports for Oracle Express.
In future releases (9i and beyond), the integration with all of Oracle's business intelligence tools will be improved upon.
Oracle Discoverer is seamlessly integrated with Oracle Reports. Oracle Reports is one of the export options to which a workbook may be exported in Discoverer. Simply create/open your workbook in Discoverer, select File, Export To, and choose RDF. This creates an RDF file (Report Definition File) which may be modified in the Report Builder, if necessary, and then be published across the Enterprise using the Reports Server.
This will be included in a future release.
Using Reports 6i, you can publish and secure your reports from within a Portal site. The Reports architecture has been tightly integrated with Oracle Portal. The Reports Server communicates with Portal to authenticate users and performs the necessary security checks to ensure the user is able to process the selected report. The out-of-box interface allows the administrator to easily enter the Reports access control information from within a Web browser. All of the access control data is then stored within the Portal repository, which is checked each time a user runs a report request.
When you purchase Oracle9i Application Server Reports 6i as part of 9i Application Server, you get a license to Oracle Portal. This will allow the administrator to enter all of the access control information where Reports Servers and RDF's are registered. This access control data may still be used to authenticate users running reports outside of a Portal Site.
Oracle Reports can dynamically display information via a web browser using the following industry standard formats: Adobe's Portable Document Format (PDF), HTML, HTML Cascading Style Sheets (HTMLCSS) and XML
For HTML output, Oracle Reports works with any HTML browser capable of displaying HTML tables. For HTMLCSS output, Netscape Navigator 4.x and Microsoft Internet Explorer 4.x or higher, offer the best support. For PDF output, the Adobe Acrobat plug-in for the browser should be used. This is available for Netscape Navigator 3.x or Microsoft Internet Explorer 3.x or later.
Reports comes configured to use the Oracle HTTP Listener powered by Apache with the industry standard CGI and servlet interfaces. However these interfaces can be used with any CGI-aware, industry standard Web server.
Reports are executed in a multi-tier environment running on the Oracle Reports Server in the middle-tier. By simply entering a URL in a Web browser, users can dynamically run reports or retrieve previously run reports offered by the Reports Sever. The output is displayed back to the browser.
The default browser that Oracle Reports uses for previewing Reports is stored in the Windows 95/NT registry under: \\HKEY_CURRENT_USER\Software\ORACLE\Toolkit\TKBrowser\BrowserPath. The first time you preview the report in a browser the system registry will store the path and type of browser from what you've selected.
A new feature introduced with Oracle Reports 6.0 is page streaming of output for HTML and HTMLCSS. Simply set the command-line parameter PAGESTREAM=YES, then deploy the report on the Web as before. When the user selects the report, the report is run on the server and written as multiple HTML/HTMLCSS files, instead of one huge file. The first page is then sent back to the user's browser, along with a menu bar, which facilitates moving to the first/last page, next/previous page, or to a specific page number.
With Oracle Reports 6.0, if the username and password are omitted (either from the URL or the mapping in the cgicmd.dat/owscmd.dat file), a user-customizable dialog requesting the connect string pops up. Once authorized, a cookie is sent to that user's browser so that logon is not re-requested (within a user-definable period of time) if the report is re-requested. If necessary, logon can be forced every time by adding a parameter. This has been enhanced in Reports 6i with the addition of application security to authenticate users.
With Reports 6i Patch 3 run a report on the web with the following command line parameters:
desformat=delimited
mimetype=application/ms-excel
Note: the mimetype to specify depends on what your browser understands. In Netscape look under Edit->Preferences->Navigator->Applications and scroll down until you find 'Excel'. The mimetype to use will be displayed.
On the Windows platform, you can e-mail your reports via the Microsoft Messaging Application Programming Interface (MAPI). Any MAPI compliant server may be used. Bit-mapped reports are sent as e-mail attachments in encapsulated PostScript format. Character-mode reports are sent as ASCII text attachments. On Unix platforms, the 'sendmail' command is used which supports SMTP.
Not easily, and not if DESFORMAT=MAIL. With 6i you would need to:
Email functionality is being enhanced in Reports 9i to allow users to set many email properties, including subject, with both static or dynamic (i.e. data-driven) values.
Yes. Using the Report Distribution functionality of Report Bursting, you may specify email distribution lists for particular section(s) of any given report.
Yes. You can create a distribution list on the email server and specify that list name in the DESNAME column in the Report Builder Distribution dialog box.
With Reports 6i, only MAPI is supported on the Windows platform. SMTP will be support on Windows platform with Reports 9i. Note: On UNIX Reports uses 'sendmail' which supports SMTP.
Yes. Oracle Reports submits each report for scheduling via the command line interface to the Reports Server. You could programmatically batch multiple reports by writing a shell script to do so.
Yes. There are two ways to accomplish this.
An HTML interface can be written, prompting the user to enter all the necessary scheduling data. Those designated parameters then get submitted via the command line to the Reports Server. With the release of Reports 6i, Portal is tightly integrated with the Oracle Reporting environment. When registering an RDF within Portal, you can specify a Portal parameter form to display before the report is submitted for processing. This Portal parameter form contains a Scheduling tab where the end user may specify the scheduling requirements. The Reports Queue Manager also permits scheduling of jobs to be run on the server.
'ALL' is part of the SQL syntax. It differentiates a query that does a SELECT DISTINCT from one that does not. The following are equivalent: SELECT EMPNO FROM EMP and SELECT ALL EMPNO FROM EMP.
Yes. Through the use of Oracle's Open Client Adaptor (OCA), you can connect to any ODBC datasource. The only limitation of using ODBC is that you must be running the Reports Server in a Win32 environment.
The EXEC_SQL package uses PL/SQL to programmatically fetch a single row of data at a time. In Oracle Reports, you may have an unlimited number of queries based off of a single database connection. You may also have an unlimited number of PL/SQL connections for single data fetches. The EXEC_SQL package is not to be used for basing a report on more than one datasource. Rather it would be used to populate parameters on which fields are based to display the data, or use the data within a PL/SQL trigger, such as a Before Report trigger. For example, EXEC_SQL would be useful in a parameter form where the data fetches are coming from multiple datasources.
In 6i, reports outputs XML. In addition, customers may specify customizations to the reports in XML, either as a file that is read in via the customize command line parameter, or directly to the report whilst it is executing.
In Release 9i (the next release) we will support XML as a datasource (incl. XML-Shema and xsql result sets). In addition, you will be able to describe an entire report definition in XML, and Reports Developer will save the definition to either an RDF or an XML file.
Reports can be called from within a Java application today by specifying a URL to run a report request and opening a socket. In the next release (Reports 9i), there will be various plug-in interfaces written in Java, allowing data from multiple sources in a report. Additionally, Reports 9i is adopting JSP's to produce high fidelity web output (in addition to the 'paginated HTML' it currently produces) so customers may code in Java within the JSP. The Reports Server will also permit customization via Java in the way the cache and jobs in the job queue are managed (amongst many other things).
It is possible at this time to call a Java stored procedure wrapped in PL/SQL from within an Oracle 8i database, and there is a whitepaper on OTN describing how to do this with Reports.