Michael R. Davis > Win32-OLE-CrystalRuntime-Application-0.12 > Win32::OLE::CrystalRuntime::Application

Download:
Win32-OLE-CrystalRuntime-Application-0.12.zip

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.12   Source  

NAME ^

Win32::OLE::CrystalRuntime::Application - Perl Interface to the CrystalRuntime.Application OLE Object

SYNOPSIS ^

The ASP Version

    Dim oApp, oRpt
    Set oApp = Server.CreateObject("CrystalRuntime.Application")
    Set oRpt = oApp.OpenReport(vFilenameReport, 1)
    oRpt.DisplayProgressDialog = False
    oRpt.MorePrintEngineErrorMessages = False
    oRpt.EnableParameterPrompting = False
    oRpt.DiscardSavedData
    oRpt.ExportOptions.DiskFileName = vFilenameExport
    oRpt.ExportOptions.FormatType = 31                  '31=>PDF
    oRpt.ExportOptions.DestinationType = 1              '1=>filesystem
    oRpt.ExportOptions.PDFExportAllPages = True
    oRpt.Export(False)
    Set oRpt = Nothing
    Set oApp = Nothing

The perl Version

  use Win32::OLE::CrystalRuntime::Application;
  my $application=Win32::OLE::CrystalRuntime::Application->new;
  my $report=$application->report(filename=>$filename);
  $report->setParameters(key1=>$value1, key2=>$value2);
  $report->export(format=>"pdf", filename=>"export.pdf");

DESCRIPTION ^

This package allows automation of generating Crystal Reports with Perl. This package connects to the Crystal Runtime Application OLE object. You MUST have a license for the Crystal Reports server-side component "Report Designer Control (RDC)" in order for this to work.

                                               Perl API       
                                                  |           
                                        +--------------------+
            Perl API                 +---------------------+ |
               |                  +----------------------+ | |
  +---------------------------+ +----------------------+ | | |
  |                           | |                      | | | |
  |  Perl Application Object  | |  Perl Report Object  | | | |
  |                           | |                      | | | |
  |       "ole" method        | |     "ole" method     | | | |
  |     +==============+      +-+   +==============+   | | | |
  |     |              |      | |   |              |   | | | |
  |     |  Win32::OLE  |      | |   |  Win32::OLE  |   | | | |
  |     |  Application |============|    Report    |   | | | |
  |     |    Object    |      | |   |    Object    |   | | |-+
  |     |              |      | |   |              |   | |-+
  |     +==============+      | |   +==============+   |-+
  +---------------------------+ +----------------------+ 

USAGE ^

  use Win32::OLE::CrystalRuntime::Application;
  my $application=Win32::OLE::CrystalRuntime::Application->new(debug=>4);
  my $report=$application->report(filename=>$filename);
  $report->setConnectionProperties("Server"   => "TNSNAME",        #if needed
                                   "User ID"  => "MyAccount",
                                   "Password" => "MyPassword",
                                   "Schema"   => "MySchema");
  $report->setParameters($key1=>$value1, $key2=>$value2);          #if needed
  $report->export(format=>"pdf", filename=>"export.pdf");

CONSTRUCTOR ^

new

  my $application=Win32::OLE::CrystalRuntime::Application->new(
                    ProgramID=>"CrystalRuntime.Application", #default
                  );

  my $application=Win32::OLE::CrystalRuntime::Application->new(
                    ProgramID=>"CrystalRuntime.Application.11", #require version 11
                  );

METHODS ^

ProgramID

Set and returns the Program ID which defaults to "CrystalRuntime.Application".

  my $string=$application->ProgramID;

You may want to specify the version if you have multiple objects in your environment.

  $application->ProgramID("CrystalRuntime.Application.11");  #Require version 11

ole

Set or Returns the OLE Application object. This object is a Win32::OLE object that is created with a Program ID of "CrystalRuntime.Application"

report

Constructs a report object which is a Win32::OLE::CrystalRuntime::Application::Report.

  my $report=$application->report(filename=>$filename);

METHODS (OLE Wrappers) ^

GetVersion

Returns $application->ole->GetVersion

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 ^

Crystal Reports XI Technical Reference Guide - http://support.businessobjects.com/documentation/product_guides/boexi/en/crxi_Techref_en.pdf

Win32::OLE, Win32::OLE::CrystalRuntime::Application::Report

syntax highlighting: