23
PS-6 Expand the Vision Reporting Platform Fred Hoecker Principal Consultant Deltek Consulting

Deltek Insight 2012: Expand the Vision Reporting Platform -- Way Beyond the Basics

  • Upload
    deltek

  • View
    343

  • Download
    0

Embed Size (px)

Citation preview

PS-6 Expand the Vision Reporting Platform

Fred HoeckerPrincipal ConsultantDeltek Consulting

Agenda

The Report BO What is it? How do I get it? Where did it go?

Getting Started The Setup Identifying the Basics

Interacting with the Vision Framework

Demo 1: Basic Query Changes

Demo 2: Manipulating the Options

The Report BO

What is it?

How do I get it?

Where did it go?

The Report BO

What is it?

The Deltek Vision® Report BOs are an extension of the Vision® Report Architecture that allow for changes to the report RDL before it is send to the Report Server for processing/running.

Why does it exist? Extend the capability of SSRS to support run-time options

Example: Column Selection by the user at runtime

Common changes applied to the RDL within the ReportBO: Setting other report parameters Changing subreport queries Changing the main report query Changing the layout of subreports Changing the layout of the main report

The Report BO

How do I get it?The Report BOs that are offered with the standard product are available starting with the 6.1 SP4 release from our e-Support Site (http://support.deltek.com)

1. Run Utilities Installer file (DeltekVision70GAUtilities.exe)

2. Select the SDK option.

The Report BO

Where did it go?

After you have installed the SDK …

<Vision Install Directory>\SDK

VBReporting.exe

Getting Started

A look into the details …

•Local Development• Vision Developers have found this to work Best• Build Your Report in a Controlled Area

•Vision Test• Always better to test before going right to Production• Allows you to see the Report could appear differently in Vision

•Iterative Process• You won’t get the report right on your First Try

•Vision Production• This is ONLY for your Final Reports

Development Process

Local Development

VisionTest

VisionProduction

The Setup

.NET Framework 3.5

Visual Studio 2010

Visual Basic

Vision Reference Assemblies

Technology Needs

The Setup

Find your extracted ReportBOs from the SDK

Copy the “ReportingTemplateBO” folder

Best Practice Tip:

Always Start with either the Template BO seen here or an existing standard Vision® BO

The Setup

Open Visual Studio

Open the copied Template BO project

Update the Reference Paths to the Vision® Assemblies

Identifying the Basics

Identifying the Basics

Using Intellisense to identify Overridable classes

Identifying the Basics

Commonly Used items Init

Setting Additional Report Parameters BuildQuery

Modify the existing query or replace it entirely

Making it All Work

The Million Dollar Question #1

How do I publish this code for the Vision Framework to use?

The Million Dollar Answer #1

Compile and distribute to the Web Server “Web\bin” directory

Making it All Work

The Million Dollar Question #2

How does the report know to use this BO for processing?

The Million Dollar Answer #2

The custom properties collection in the Vision Template RDLs (located in XML)

Interacting with the Framework

Interacting with the Vision® Framework

Using the Report Options Object within the BO Getting Report Parameters

ReportOptionsObj.GetReportParameterString(“MyParm", "") Parameter 1: parameter name

Parameter 2: default value

Setting Report Parameters ReportOptionsObj.SetReportParameter(“MyParm",

ReportOptionParameterDataType.Text, "myParmValue", “MyParm“) Parameter 1: parameter name

Parameter 2: parameter type

Parameter 3: parameter value

Parameter 4: parameter label (usually kept the same as parameter name)

TIP: When setting parameters, do it before the MyBase.Init() call in the code.

Interacting with the Vision® Framework

Understanding the order of Operations in the BO

1. Init()2. Within Init(), whenever MyBase.Init() is called the following

functions continue executing in the following order:

a. BuildQuerySubReport()

called multiple times for each subreport

b. BuildQuery()3. Exit Init()

There are other overridable functions that the Framework will execute but they will be all be done by the time MyBase.Init() finalizes.

Interacting with the Vision® Framework

Understanding the Report Behavior at Runtime

1. When the user clicks preview … a new report window is opened

2. If it displays “Building report…”, then it is executing the functions in the ReportBO

3. When it changes to “Report is being generated”, then that means the ReportBO finished executing successfully and the new modified RDL has been sent to the Report Server for processing

TIP: If the report fails, this will give you an idea whether it failed while executing the ReportBO or there is something wrong with the RDL after it’s been sent to the Report Server for processing

DEMO

Call to Action

Practice, Practice, Practice

You’ll never be able to do it if you don’t try

Start Small

Questions