You are on page 1of 35

OracleAS Reports Services

Problem Statement

To simplify the process of managing, creating and execution of Oracle Reports.

What is a Report?

A document which dynamically retrieves, formats and distributes database information.

A General Reporting System

Oracle Report Service Architecture

Limitations of Oracle Solution


Embedded Parameter Form Lack of report categorization Lack of report access description Limited report parameter description Inability to build reports from the web Complete Dependence on Oracle Reports Service to view reports Complete dependence on Oracle Report Builder to create reports

Improvements in the Developed System


Single Dynamic Parameter Form Additional METADATA stored in oracle database to handle

Report Categorization User Access NONE SQL Query Date LOV from Help Table

Multiple Parameter Lookups


Improvements in the Developed System (contd)

Ability to Create Reports from the web

Handled by XML Reports compliant with oracle reports DTD

Complete independence from Oracle Reports Builder and Service

Handled by the ADHOC reporting subsystem

Report Added Value

Report Types

RDF

Legacy Systems with existing oracle reports Created using Oracle Reports Builder Published using Oracle reports Service Individual Parameter forms not required

Report Types

XML

No dependence on Oracle Reports Builder Report is created on the fly using the system Based on the Metadata provided Adheres to the oracle reports DTD Report is automatically deployed.

Report Types

SCRIPTS(ADHOC)

No dependence on Oracle reports builder or Oracle Reports Service. Based on a simple parameterized query. Example

Select * from emp where emp.salary > P_1 and emp.age < P_2

Modules
Report Maintenance ADHOC Report Module XML Report Generator Report Scheduler Report Execution & Viewer

Report Maintenance

Module used to prepare and create reports. A simple user interface provides this functionality. Modules stores the metadata required for every report in the database.

Report Maintenance Parameter Metadata

The metadata required for a report is stored in a child table referencing the Report Table Provides the ability to specify Parameter Name, Description, Lookup Type and Sequence Types of Lookup

None SQL Date LOV from Help Table

XML Report Generator

A module to build reports based on report metadata stored. Output XML file created and is deployed. Creates the following sections which are required to publish a report

Data Layout

Logic Flow XML Report Generator


Parameterized SQL Query Stored in the database along with report METADATA For each column identified, respective <field> elements are created XML Generator parses the SQL query to identify parameters and columns

If the report has parameters then the parameter name is included within the <userParameter> element An XML report is created and is deployed to a location specified by the REPORTS_PATH env variable

The generator then creates a header section based on information stored in the database

The report is ready and can viewed or scheduled

ADHOC Report Module

An independent reporting engine which simulates the Oracle Reports Service. Provides Maximum uptime. Implemented as stored procedures. Advantage

Complete independence from Oracle Reports Builder and Oracle Reports Service

ADHOC Report Logic Flow


Parameterized SQL Query Stored in the database Report Viewer Builds a dynamic Parameter form based on the metadata available for the report

User selected variables are passed to the stored procedure variable as a CSV

Report execution stored procedure identifies an ADHOC report The string and the CSV are parsed and a dynamic sql query built

The Parameterized SQL query is retrieved from the database as a string

This is used as a reference cursor and data is retrieved

At this stage Select * from Employee where salary > P_1 and age = P_2 select * from employee where salary > 100000 and age= 45

The mime type decides the output format

Report Scheduler

Module Used to Schedule Reports RDF/XML Reports scheduled on Oracle Reports Service. ADHOC reports scheduled within the oracle database. Reports can be scheduled daily, weekly or monthly. Scheduled metadata extracted and stored in the database table.

RW_SERVER_JOB_QUEUE

The reports service assigns a jobid to every report which is run against it. Table stores information of every job submitted to the reports service. A web interface queries the table to display a list of scheduled jobs Ability to cancel scheduled jobs.

Report Scheduler Logic Flow


User Initiates a schedule along with list of email address. The DESTYPE parameter is automatically set to PDF Report type metadata is extracted from the database

If report_type = RDF or XML, then the report is scheduled on the oracle reports service If report_type= ADHOC, then DBMS_JOB is used to schedule the report

RW_SERVER_QUEUE contains the submitted job information. and is displayed on the interface

Report Execution & Viewer

Report Selection

A user interface allows users to select reports Reports are displayed as a hierarchical structure based on the report category metadata Only user specific Reports visible based on metadata. Dynamic Parameter Form displayed based on the metadata RDF/XML/Adhoc reports can be scheduled or viewed instantaneously

Report execution

Dynamic Report Parameter Form Logic Flow


Report parameter metadata is stored in the database The report name is passed to the dynamic parameter interface

Also, based on the lookup type a user input is created, which could be a result of a SQL query

Based on the report name , the parameter Descriptions, and Sequence are displayed on the screen The report is executed by passing the dynamic query string created to the reports service or ADHOC engine

The user inputs the variable parameters along with the output format and scheduling preference

Hence creating a Dynamic Parameter form, overcoming the limitations of embedding them within the report

Security

Access Provided based on Database Roles Roles


USER_ROLE READ_ONLY_ROLE REPORT_USER_ROLE REPORT_SCHEDULER_ROLE

Advantages

No Knowledge of Report Builder Required to Build reports No licensing costs involved (XML,ADHOC) Batch update reports easily (XML) Supports various types of reports RDF,XML,SCRIPTS Independence from Oracle Reports Builder or Reports Service depending on type of report

Technology Used

Oracle Reports Service 10g Oracle Developer Suite 10g Oracle Database 10g PL/SQL JavaScript HTML PL/SQL web toolkit for interface development and server side scripting.

Future Work

Representation of reports metadata in the form of XML Batch processing of XML metadata. Providing a complete web interface for layout description

Screenshots

References

Oracle Documentation http://download.oracle.com/docs/cd/B10464_ 05/bi.904/b13673/pbr_arch.htm

End of lecture
Questions?

You might also like