Implementation Guide for Oracle Billing Insight > Using the Reporting Engine >

Reporting Engine Features


The Reporting Engine is used for much more than just reporting. The Reporting Engine can present any data you can retrieve from any data sources, such as RDBMS or CSV files.

Possible use cases supported by the Reporting Engine include:

  • Viewing statements and invoices
  • Analytic reports, such as the top 10 most expensive calls
  • Cost center reports (hierarchy report), such as cost summary by cost centers
  • Reports, such as most frequent users or logging analysis
  • Address book
  • Email content composition

The Reporting Engine offers great tools to help you implement these use cases. It uses XML to describe how you want to present a report. Then the Reporting Engine does the rest of the work for you, including retrieving data from data source, formatting, and then presenting the data to the user through Velocity templates.

The Reporting Engine is designed to do the following:

  • Use XML Files: Create an XML file to describe the report you want to create. The Reporting Engine automatically generates that report for you, in variety of formats, such as HTML or CVS.
  • Have an extendable, customizable UI: You can extend the Reporting Engine to support any UI customization. The Reporting Engine uses Velocity templates, which is a powerful reporting tool based on Model-View-Controller (MVC) technology.
  • Be maintainable: The Reporting Engine is MVC-based and offers the best separation of presentation logic and business logic, which makes it maintainable.

The following features are offered by the Reporting Engine:

  • Multiple data sources. The Reporting Engine connects to multiple data sources, including SQL data source, object data source, and DSV data source.
  • Prompts. Prompts allow you to select desired data from data source.
  • Interactive sorting. Sorting can be case sensitive or insensitive.
  • Interactive grouping. Data is grouped by a particular column's values.
  • Calculator operations. Summary, Boolean, minimal, average and count operations are supported.
  • Charting. This feature supports bar, stack bar charts, line, and pie charts.
  • Template. Template-based presentation for both Web-based and non-Web based applications.
  • Formatting. Support is provided for locale based format for numeric values and dates.
  • Print friendly view. This feature allows you to generate a print friendly view for printing.
  • CSV download. CSV download lets you download the report in CSV format.
  • XML download. XML download lets you download the report in XML format.
  • PDF download. PDF download lets you download the report in PDF format. PDF format is not generated automatically for all the reports. You must create an RTF template file for particular reports to generate in PDF format.
  • Paging. Pages through a large set of data.
  • Custom report. Custom reports allow users to create their own reports and save them for later retrieval.
  • Internationalization. Standard Java resource bundle based internationalization.
  • Drilldown and Breadcrumb links. The Report engine offers a way to drill down to different reports and drill back through breadcrumb links.
  • Seamless integration with Struts and Tiles. The Reporting Engine is not tied to a particular presentation framework, but offers excellent support for Struts and Tiles.
  • Batch report. When it takes a long time to generate a report online, you can use the batch report feature to send a request which will be processed offline.
  • Unlimited Paging. If the data source has too many rows and there is a performance issue retrieving all the rows, then the Reporting Engine can retrieve them in batches. The paging through these batches is seamless and retrieving result sets in batches is invisible to the user.

The new Velocity version has not been tested with Oracle Billing Insight. Also, the default velocity.properties file has been changed for Oracle Billing Insight. The velocityCount starts from 0 instead of the default 1, and the templates can be loaded as file and also as class.

You cannot define your own data source. One way to get around this is to retrieve your data as a list of objects and then use the Object Datasource feature to present it through the Reporting Engine.

You cannot extend report XML to add your own custom tags.

Implementation Guide for Oracle Billing Insight Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Legal Notices.