What is a Report?

advertisement
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
Multiple Parameter Lookups




NONE
SQL Query
Date
LOV from Help Table
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
The generator then creates a header
section based on information stored in
the database
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 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
Report Viewer Builds a dynamic
Parameter form based on the metadata
available for the report
Parameterized SQL Query
Stored in the database
User selected variables are passed to
the stored procedure variable as a CSV
The Parameterized SQL query is
retrieved from the database as a string
This is used as a reference
cursor and data is retrieved
Report execution stored procedure
identifies an ADHOC report
The string and the CSV are parsed
and a dynamic sql query built
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
RW_SERVER_QUEUE contains the
submitted job information. and is
displayed on the interface
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
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.
Report execution


Dynamic Parameter Form displayed based on the
metadata
RDF/XML/Adhoc reports can be scheduled or viewed
instantaneously
Dynamic Report Parameter
Form Logic Flow
Report parameter metadata
is stored in the database
Also, based on the lookup type a user
input is created, which could be a result
of a SQL query
The user inputs the variable
parameters along with the output
format and scheduling preference
The report name is passed to the dynamic
parameter interface
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
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?
Download