Upload
deltek
View
343
Download
0
Tags:
Embed Size (px)
Citation preview
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?
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
•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
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 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
Call to Action
Practice, Practice, Practice
You’ll never be able to do it if you don’t try
Start Small