Oracle Report Deployment •
Configuration o o o o o o o
•
o o o
Is any particular email server recommended with use of the Reports Server? How do I configure fonts for use with Oracle Reports? How do I configure Oracle Forms for use with Oracle Reports?
o o
How do I configure Oracle Workflow for use with Oracle Reports? How do I configure printers for use with Oracle Reports?
How To o o o o
•
o o o
Can I call Java classes from within the report? Can I run a JSP report from the servlet? In paper reports, I use the hyperlink property to call another report and to pass the parameters. How do I do this in the JSP Web source? How do I specify the number / date format for a field in the JSP Web source? How can I use a format trigger in a JSP? What is the format of the URL for running a JSP?
Management o
•
Is there a visual user interface where end users can schedule reports? How can I generate Microsoft Excel output with Oracle Reports? Is it possible for the command line client to kick off a job and then log off, still having the report execute on the Reports Server? Can I run a report based on the occurrence of an event in the database (for example, insertion of data in a table)?
Java and JSP o o o
•
On what basis does the Reports Server increase and decrease the number of engines? Should I manually shutdown and start engines? Does the Reports Server command line client (rwclient) require Net9 on the client? Is there a limit to the size of the cgicmd.dat file? How can I verify that my HTTP service is up and running? How can I verify that my Reports Servlet is set up properly and running? What Web and J2EE application servers can be used with the Reports Server? Since Oracle Reports JSPs are based on standard J2EE technology, I can deploy them on any J2EE application server. Does that mean I don't need to buy Oracle Application Server?
How do I access the Reports Server Queue, that is, how do I trace past jobs?
On the Web o o
How does Oracle Reports publish information on the Web? What do I need in order to dynamically display my reports on the Web?
o o
•
Output o o o
•
How is the Oracle Reports environment secured? I do not plan to use Oracle Portal. How can I secure my Oracle Reports environment? How do I ensure that users log in before they run a report and view the output? How can I disable Oracle Single SignOn (SSO) with Oracle Reports Services ?
Reports Server Features o o o
•
Where can I store report output once a report is executed? What is Report Bursting and Distribution? I develop on Microsoft Windows and deploy on UNIX / Linux. Why does the output look different in development and deployment platforms?
Security o o o o
•
What Web browser versions does Oracle Reports work with? If a user runs a long paginated report over the Web, is there a way to view one page at a time and provide navigation links to different pages?
What are the load balancing, clustering, and failover features for the Reports Server? Can scheduled reports be emailed to a group of users without having to identify each user individually? Can I change the subject line when emailing a report?
Troubleshooting o
Where can I find information on troubleshooting Oracle Reports issues?
Deployment Configuration On what basis does the Reports Server increase and decrease the number of engines? Should I manually shutdown and start engines? The Reports Server is a single process that dynamically manages a set of Reports runtime engines. During initialization, the Reports Server starts the number of engines that you specify in the initEngine attribute. Each Reports runtime engine is responsible for executing a single report at any given time, and resides inmemory to execute additional report requests over a period of time. When needed, Reports Server starts new engines to service multiple concurrent requests. The maximum number of engines that can run simultaneously at any time is dictated by the maxEngine attribute.
To conserve application server resources, excess or idle Reports runtime engines remove themselves from memory for one of the following reasons: 1. When an engine is idle for a userdefined period of minutes (specified using maxidle attribute), an engine will remove itself from the process, and free up any associated resources. 2. When an engine has run its userdefined maximum number of jobs (specified using englife attribute), the Reports engine will die gracefully to be replaced by another engine. Since the Reports Server manages the runtime engines dynamically, you do not need to shut down and start engines manually. However, you do need to specify engine configuration attributes, using which the Reports Server will make sure that an optimum number of engines is running at any time. It is recommended that you set the maximum number of engines (maxEngine attribute) to a value between 2 and 4 times the number of CPUs in the host machine. The engine attributes can be specified in the Reports Server configuration file located in ORACLE_HOME/reports/conf/<servername>.conf. You can either directly edit this file, or use the Webbased Oracle Enterprise Manager 10g Application Server Control to edit it. For more information, refer to the chapter on Tuning Oracle Reports in Oracle Application Server Reports Services Publishing Reports to the Web. Does the Reports Server command line client (rwclient) require SQL*Net on the client? What about Oracle Forms? It is not necessary to install SQL*Net to use the Oracle Reports command line client (rwclient). By default, it communicates with the Reports Server using CORBA. If needed, you can force rwclient to use SQL*Net to communicate with Reports Server by using the command line keyword USEJVM. Refer to Oracle Application Server Reports Services Publishing Reports to the Web for more information on this command line keyword. Oracle Forms too does not need a SQL*Net installation to communicate with the Reports Server. However, if you need to use SQL*Net as the communication layer between Oracle Forms and the Reports Server, you need to make SQL*Net available to Oracle Forms and Oracle Reports. Refer to Oracle Forms documentation available on the Oracle Technology Network (OTN) for more information.
Is there a limit to the size of the cgicmd.dat file? Oracle Reports imposes no limits on the size of the file.
How can I verify that my HTTP service is up and running? Refer to Oracle HTTP Server Administrator's Guide available on the Oracle Technology Network (OTN).
How can I verify that my Reports Servlet is set up properly and running? Open the Reports Servlet help page: http://
:<port>/reports/rwservlet If you see the help page, it means the Reports servlet is set up properly and running.
What Web and J2EE application servers can be used with the Reports Server? Oracle Reports Services is part of Oracle Application Server. However, it is based on standard technology (J2EE based technology), and can therefore be used with any application server that supports J2EE. If you want to use Oracle Reports with any J2EE application server other than Oracle Application Server, you need to use Oracle Reports J2EE Thin Client. Note that the J2EE Thin Client is supported only via OTN Discussion Forums. Also note that the J2EE Thin Client is
provided as a sample for standalone OracleAS Containers for J2EE (OC4J). If you need to deploy it on any other J2EE application server, you may need to modify the sample to make it suitable for deployment on the other application servers.
Since Oracle Reports JSPs are based on standard J2EE technology, I can deploy them on any J2EE application server. Does that mean I don't need to buy Oracle Application Server? Since Oracle Reports JSPs are based on standard J2EE technology, they can be deployed on any J2EE application server. However, the data that the JSP displays is fetched by Oracle Reports Services. For this reason, it is necessary to buy and run Oracle Application Server to display the JSP based Web reports. Refer to the Oracle Reports J2EE Thin Client for the architecture involved in such a scenario.
Is any particular email server recommended with use of the Reports Server? Oracle Reports can send email to any SMTPcompliant email server. However, using Oracle Reports Java API, you can create your own plugin destination that sends email to email servers that are not SMTPcompliant. Refer to Oracle Reports Software Development Kit (SDK) for more details.
How do I configure fonts for use with Oracle Reports? Refer to the fonts chapter in Oracle Application Server Reports Services Publishing Reports to the Web for information on managing fonts with Oracle Reports.
How do I configure Oracle Forms for use with Oracle Reports? Refer to the white paper Integrating Oracle Reports Services 10g in Oracle Forms Services 10g available on the Oracle Technology Network (OTN).
How do I configure Oracle Workflow for use with Oracle Reports? Refer to the white paper Integrating Oracle Workflow with Oracle Reports available on the Oracle Technology Network (OTN).
How do I configure printers for use with Oracle Reports? Refer to the chapters on printing and crossplatform deployment available in Oracle Application Server Reports Services Publishing Reports to the Web.
How To Is there a visual user interface where end users can schedule reports? There are two ways to schedule your reports from a user interface: 1.
Oracle Reports is tightly integrated with Oracle Portal. You can register and publish the reports in Oracle Portal, and the relevant Portal page can be used by the end users to submit report requests. The report portlet displays a Customize link to the end user, which contains a Schedule tab. On clicking this tab the end user gets a user interface that can be used to specify the scheduling requirements.
2. You can write a custom HTML interface, prompting the user to enter all the necessary scheduling data. This HTML interface then needs to submit the selected parameters to the Reports Server. How can I generate Microsoft Excel output with Oracle Reports? Beginning with 10g Release 2 (10.1.2), Oracle Reports introduces a new output format (DESFORMAT=SPREADSHEET), which allows you to generate output from paper layout reports to HTML files that can be directly opened with Microsoft Excel 2000. This output format preserves the rich layout formatting such as colors, fonts, conditional formatting, graphs, and images. Additionally, you can generate report output in Microsoft Excel in the following ways: • •
Generate a report to delimiteddata output format, and open in it Microsoft Excel. This method is recommended when you need to get the data in Excel output, but do not need rich formatting. Deploy a JSP report with Microsoft Excelspecific tags under OC4J, to display it in Excel inside your Web browser. This method is recommended when you wish to generate Excel output using JSPbased Web reports, or if you need to generate Excel's native graphs and formulas using HTML tags.
See the Oracle Reports online Help for detailed information each of these methods of generating Microsoft Excel output.
Is it possible for the command line client to kick off a job and then log off, still having the report execute on the Reports Server? Yes. Use the command line keyword BACKGROUND=YES. This runs the report asynchronously. The client sends the call to the Reports Server, then continues with other processes without waiting for the report job to complete. If the client process is killed, the job is canceled.
Can I run a report based on the occurrence of an event in the database (for example, insertion of data in a table)? Yes. Oracle Reports provides a PL/SQL API that allows you to submit jobs from the database. This API is called event driven publishing API. See the Oracle Application Server Reports Services Publishing Reports to the Web for more information and sample code.
Java and JSP Can I call Java classes from within the report? Yes. Oracle Reports provides a function called Java Importer, using which you can automatically generate PL/SQL packages and procedures to access Java classes and then program with the generated PL/SQL in your reports. The PL/SQL generated by the Java Importer is robust, offering support for the original Java class constructors, methods, and fields. Refer to the Oracle Reports online Help for more information.
Can I run a JSP report using rwservlet? Yes, but you will only have access to the paper layout. If you want to view the Web layout output, you have to run the JSP on a J2EE application server, such as Oracle Application Server Containers for J2EE (OC4J).
In paper reports, I use the hyperlink property to call another report and to pass the parameters. How do I do this in the JSP Web source?
In a JSP Web report, you need to build the hyperlink yourself. Here is sample code that creates a hyperlink in the JSP Web source. The hyperlink calls another report and passes the department number dynamically: "> F_DEPTNO |
In the above code, notice how the field DEPTNO is referenced in the HREF tag. At runtime, this reference is resolved to the actual department number, and sent as a parameter to the report that is called. How do I specify the number / date format for a field in the JSP Web source? In the JSP Web source, find the tag for the field, and add the format mask as shown in the following example:
How can I use a format trigger in a JSP? First, create the format trigger. For example, to turn the text red for sal when it is between 1500 and 2500, you would create the following format trigger in the Reports Builder: function redsal return boolean is begin if :sal between 1500 and 2500 then srw.set_text_color('red'); else srw.set_text_color('black'); end if; return true; END; Next, in the JSP Web source, find the tag for the field, and add the function as shown in the example below: What is the format of the URL for running a JSP? http://hostname:port/ContextRoot/reportname.jsp?server=...&userid=... Note: ContextRoot is the context root of the application that includes your JSP. The context root is specified by the deployer at the time of deploying the application. For more information on deploying and running a JSP Web report, refer to the chapter on Running Report Requests in Oracle Application Server Reports Services Publishing Reports to the Web.
Management How do I access the Reports Server Queue, that is, how do I trace past jobs? You have three options. The first option (recommended option) is to use the Webbased Oracle Enterprise Manager 10g Application Server Control to view the Reports Server job queue. The second option is to access the Reports Server job queue on the Web via the following URL: http://hostname:port/reports/rwservlet/showjobs?server=... With this URL you can view the Reports Server job queue in HTML format. To get the same data returned to you in XML format, specify statusformat=xml in the above URL. The third option is to use the event-driven publishing API that
automatically pushes the content of the Reports Server job queue into a database table. For more information, refer to Oracle Application Server Reports Services Publishing Reports to the Web.
On the Web How does Oracle Reports publish information on the Web? Oracle Reports can dynamically display information in a Web browser in two ways. You can render your pagebased paper layout using the following industrystandard formats: Adobe's Portable Document Format (PDF 1.4), HTML (4.01), HTML with Cascading Style Sheets (HTML 4.01), XML (XML 1.1), Microsoft Excelcompatible spreadsheet, or Microsoft Word compatible Rich Text Format. Another option is to create a true Web page using the JSPbased Web source of your report. The advantage of using a JSP is that you can inject dynamic Reports content into an existing Web page. In this mode, reports no longer owns the Web page, and you can use any HTML page (for example the HTML page that your Web designer provides you). Therefore, the result will fit exactly in the look and feel of your Web site.
What do I need in order to dynamically display my reports on the Web? Reports are executed in a 3tier environment with the Oracle Aplication Server (containing Oracle Reports Server and OC4J) running in the middle tier. The end users can dynamically run reports or retrieve previously run reports by simply entering a URL in a Web browser. Since the output is displayed in the Web browser, the end user does not need to install any software.
What Web browser versions does Oracle Reports work with? Oracle Reports 10g Release 2 (10.1.2) works with all the browsers supported by Oracle Application Server 10g Release 2 (10.1.2). Refer to Metalink for the list of browsers supported by Oracle Application Server 10g Release 2 (10.1.2). For PDF output, the Adobe Acrobat plugin for the browser should be used. This plugin is available for any browser that supports plug-ins.
If a user runs a long paginated report over the Web, is there a way to view one page at a time and provide navigation links to different pages? Yes. Use the command line keywords PAGESTREAM=YES, and DESFORMAT=HTML or HTMLCSS when calling the report on the Web. With the PAGESTREAM keyword set to yes, the report output is written to multiple files instead of one file. The first page is then sent back to the user's browser along with a menu bar, which facilitates navigating to the first/last page, next/previous page, or to a specific page number.
Output Where can I store report output once a report is executed? The output of a report job can be stored in many different ways. The destination of the output is determined by the DESTYPE parameter. Oracle Reports supports a variety of destinations. You can store the output as a file in the file system, send the output to an email recipient, send it to a printer, push it to Oracle Portal, to an FTP Server, or a WebDAVenabled Web site. Additionally. using the pluggable destination API, you can create your own mechanisms for storing report output. For example, you could create a destination that pushes the output directly into Oracle iFS, or one that sends the output to a
database.
What is Report Bursting and Distribution? Report Bursting is the ability for report output to be split into multiple files based on a logical grouping, so that each file can be sent by the Reports Server to a different destination. For example, in a single report execution you can generate output for all departments, and use report bursting to split the output into multiple files (one per department). After bursting the output into multiple files, you can use another feature of Oracle Reports called distribution to send each department's output to only the relevant manager. In this way, the Oracle Reports features of bursting and distribution, when used together, allow you to send only the relevant information to the relevant recipient. It is also possible to use the distribution feature separately to send a single report output to mutiple destinations. Refer to Oracle Reports Building Reports and Application Server Reports Services Publishing Reports to the Web for more information.
I develop on Microsoft Windows and deploy on UNIX / Linux. Why does the output look different in development and deployment platforms? Since any enterprise reporting tool is bound to use some platformspecific functionality like the system fonts or printer fonts, there exists a possibility that the lookandfeel of the report changes when the report is ported from one platform to another; for example, from the development platform (commonly Windows) to the deployment platform (commonly a UNIXbased platform). For detailed information on how to avoid and troubleshoot such issues, refer to the crossplatform porting chapter in Oracle Application Server Reports Services Publishing Reports to the Web.
Security How is the Oracle Reports environment secured? Oracle Reports is tightly integrated with Oracle Portal and Oracle Identity Management to provide a comprehensive security architecture. To secure the reports, Reports Servers, and other resources such as printers, you need to register these resources with Oracle Portal. This allows you to assign permissions to users or groups for these resources. The users and groups information is stored in Oracle Identity Management. Once the user requests a report, the Reports Services works with Oracle Identity Management (Oracle Single SignOn and Oracle Internet Directory) to authenticate users and with Oracle Portal to ensure the user has privileges to execute the selected report. Oracle Portal exposes an easy to use interface where the administrators can perform all security related operations - create users and groups, register reports and other resources, and assign privileges. For more information, refer to the chapter on Securing Oracle Reports Services in Oracle Application Server Reports Services Publishing Reports to the Web.
I do not plan to use Oracle Portal. How can I secure my Oracle Reports environment? When you license Oracle Application Server Enterprise Edition, you get a license to Oracle Reports as well as Oracle Portal. If you do not want to use Oracle Portal to build your corporate portal, you can still install and configure Oracle Portal so that it can be used by your Oracle Reports administrators to specify access control information. This access control information makes sure that only authorized users can run reports. If you would not like to install and configure Oracle Portal while installing Oracle Application Server, you cannot use the builtin security architecture of Oracle Reports and you will need to plug in your custom security architecture using Oracle Reports Java API. Refer to Oracle Reports SDK for more information on Oracle Reports Java API.
How do I ensure that users log in before they run a report and view the output? If you have secured your report definition files or Reports Servers by registering them with Oracle Portal, the users will be forced to log in before they can run the report. Once the user is logged in using the single signon credentials, the user is not asked to provide the username and password again in the same browser session.
How can I disable Oracle Single SignOn (SSO) with Oracle Reports Services ? To take advantage of Oracle Single SignOn, the SINGLESIGNON parameter in the rwservlet configuration file (rwservlet.properties) is set to YES, which indicates that you will use Oracle Single SignOn to authenticate users. You may change this parameter to NO, if you choose not to use Oracle Single SignOn. If you choose NO, the Reports Server authenticates users itself instead of routing requests via Oracle Single SignOn. Note that Oracle Reports Services is configured for Oracle Single SignOn out of the box. Oracle considers this to be the normal security deployment model and you should only turn it off if you plan to run in a completely custom security configuration.
Reports Server Features What are the load balancing, clustering, and failover features of the Reports Server? Reports Server clustering is deprecated in Oracle Reports 10g Release 2 (10.1.2). As a result, it is not recommended to use Reports Server clustering. Instead, it is reccommended that you follow Oracle Application Server High Availability Guide and Oracle Application Server Enterprise Deployment Guide for configuring Oracle Reports for high availability. The Reports Server clustering feature will be removed from the product in a release after 10g Release 2 (10.1.2). Can scheduled reports be emailed to a group of users without having to identify each user individually? Yes. You need to get the email recipient addresses in the report's data model. For example, each department manager's email address can be inserted in a database table. You can then use the bursting and distribution feature to send each department's report to the appropriate manager. Alternatively, if you need to send the complete report to a group of users without bursting, you can create a distribution list in your email server, and use this distribution list name as the DESNAME.
Can I change the subject line when emailing a report? Email functionality has been enhanced in Oracle Reports to allow users to set several email properties, including subject, with both static or dynamic (that is, data driven) values, setting the CC and BCC fields, setting the importance level, and so on. Refer to the Command Line Keywords section of Oracle Application Server Reports Services Publishing Reports to the Web for more information.
Troubleshooting Where can I find information on troubleshooting Oracle Reports issues? Refer to the new troubleshooting appendix in Oracle Application Server Reports Services Publishing Reports to the Web that describes common problems that you might encounter when deploying your reports using OracleAS Reports Services and explains how to solve them.