Why not adopt me?
NAME
Win32::OLE::CrystalRuntime::Application::Report - Perl Interface to the Crystal Report OLE Object
SYNOPSIS
use Win32::OLE::CrystalRuntime::Application;
my $application=Win32::OLE::CrystalRuntime::Application->new;
my $report=$application->report(filename=>$filename);
$report->export(format=>"pdf", filename=>"export.pdf");
DESCRIPTION
This package is a wrapper around the OLE object for a Crystal Report.
USAGE
CONSTRUCTOR
You must construct this object from a Win32::OLE::CrystalRuntime::Application object as the ole object is constructed at the same time and is generated from the application->ole object.
use Win32::OLE::CrystalRuntime::Application;
my $application=Win32::OLE::CrystalRuntime::Application->new;
my $report=$application->report(filename=>$filename);
Perl API
|
+--------------------+
Perl API +---------------------+ |
| +----------------------+ | |
+---------------------------+ +----------------------+ | | |
| | | | | | |
| Perl Application Object | | Perl Report Object | | | |
| | | | | | |
| "ole" method | | "ole" method | | | |
| +==============+ +-+ +==============+ | | | |
| | | | | | | | | | |
| | Win32::OLE | | | | Win32::OLE | | | | |
| | Application |============| Report | | | | |
| | Object | | | | Object | | | |-+
| | | | | | | | |-+
| +==============+ | | +==============+ |-+
+---------------------------+ +----------------------+
METHODS
filename
Returns the name of the report filename. This value is read only after object construction.
my $filename=$report->filename;
Set on construction
my $report=Win32::OLE::CrystalRuntime::Application::Report->new(
filename=>$filename,
);
ole
Returns the OLE report object. This object is the Win32::OLE object that was constructed during initialization from the $application->report() method.
application
Returns the application object.
my $application=$report->application;
Set on construction in the $application->report method.
my $report=Win32::OLE::CrystalRuntime::Application::Report->new(
application=>$application
);
setConnectionProperties
Sets report ConnectionProperties correctly in the correct order.
$report->setConnectionProperties("Server" => "TNSNAME",
"User ID" => "login",
"Password" => "password");
Sets report ConnectionProperties correctly in the correct order and set Schema for tables.
$report->setConnectionProperties("Server" => "TNSNAME",
"User ID" => "login",
"Password" => "password",
"Schema" => "schematxt");
Tables where you do not want to reset the schema alias them with a "_" (e.g. 'SELECT 1 FROM SYS.DUAL "_DUAL"').
Current Limitations: Oracle support for crdb_oracle.dll only Current Limitations: SubReports are only searched one level deep; not recursive.
setParameters
Sets the report parameters.
$report->setParameters($key1=>$value1, $key2=>$value2, ...); #Always pass values as strings and convert in report
$report->setParameters(%hash);
export
Saves the report in the specified format to the specified filename.
$report->export(filename=>"report.pdf"); #default format is pdf
$report->export(format=>"pdf", filename=>"report.pdf");
$report->export(formatid=>31, filename=>"report.pdf"); #pass format id directly
FormatID
Returns a hash of common format extensions and CRExportFormatType IDs. Other formats are supported with export(formatid=>$id)
my $hash=$report->FormatID; #{pdf=>31, xls=>36};
my @orderedlist=$report->FormatID; #(pdf=>31, xls=>36, ...)
my $id=$report->FormatID->{"pdf"}; #$ i.e. 31
PROPERTIES (OLE Wrappers)
author
String. Gets the report author.
comments
String. Gets report comments.
subject
String. Gets the report subject.
template
String. Gets the report template.
title
String. Gets the report title.
keywords
String. Gets the keywords in the report.
groups
Long. Gets the number of groups in the report.
sql
String. Gets SQL query string.
tables
Returns a list of all tables in the report.
my $list=$report->tables; #[]
my @list=$report->tables; #()
sections
Returns a list of all sections in the report.
my $list=$report->sections; #[]
my @list=$report->sections; #()
objects
Returns a list of all objects in all sections of the report.
my $list=$report->objects; #[]
my @list=$report->objects; #()
Returns a list of all objects of type CRObjectKind in all sections of the report.
my $list=$report->objects(type=>5); #[] #crSubreportObject
my @list=$report->objects(type=>1); #() #crFieldObject
subreports
Returns all OLE subreports in the report
Note: This is currently only one level deep and not recursive!!!
BUGS
SUPPORT
Please try Business Objects.
AUTHOR
Michael R. Davis
CPAN ID: MRDVT
STOP, LLC
domain=>stopllc,tld=>com,account=>mdavis
http://www.stopllc.com/
COPYRIGHT
This program is free software licensed under the...
The BSD License
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
Win32::OLE::CrystalRuntime::Application, Win32::OLE::CrystalRuntime::Application::Base, Win32::OLE, Win32::OLE::Variant