Report Bursting with SAP Crystal Reports Server 2008

(Post #3 of 3 for Reportapalooza – Focused on SAP Crystal Reports Server 2008).

The idea to write about Report Bursting in SAP Crystal Reports Server 2008 came to me on the shuttle bus on the way to the airport in Orlando after a very successful (and one shiny iPad later) ASUG SAP BusinessObjects User Conference. The idea came by way of friend and fellow Reportapalooza expert – Brian Durning.

We were having a conversation about the “Reporting Remix” challenge and I asked his opinion on topics to discuss when writing about SAP Crystal Reports Server 2008. Brian is a highly accomplished SAP Crystal solutions expert and his immediate recommendation was Report Bursting. After some investigation, I now know why he made this suggestion. Report Bursting is a really powerful, convenient, and efficient process that minimizes the need for excessive individual report scheduling.

As the previous paragraph suggests, the inclusion of Report Bursting is one of the most anticipated enhancements to SAP Crystal Reports Server 2008. If setup correctly, this elusive feature is an SAP Crystal and BOE administrator’s dream. But if setup incorrectly, it will quickly become a DBA’s nightmare.  That’s why Report Bursting should be carefully researched and tested before implementing in a production environment. Once you’re ready, scheduling reports will never be the same (in a GOOD way).

What is Report Bursting?

Report Bursting in SAP Crystal Reports Server 2008 allows multiple groups of reports (known as Publications) to be scheduled and distributed to personalized groups of recipients with each group receiving reports containing data filtered differently. This is accomplished when the SQL statement is submitted to the database by the individual SAP Crystal Reports multiple times with different filtered values fetching different data values for each group.

This process provides the most efficient way of scheduling and distributing reports to a large number of users who require the same or similar reports but filtered by different parameters.

The reason that Report Bursting should be entered into cautiously is because of the potential impact on system resources. If the option “One database fetch per recipient” is selected when creating a Publication, the SQL statement of each report will query the database one time for each recipient. This option will almost definitely catch the eye of the DBAs if the recipient list is of significant size. But one database fetch per “batch” of recipients might be much less expensive and fly well below the DBA’s radar.

Creating a New Publication for Report Scheduling

To create a new Publication, begin by selecting a folder from the file menu in InfoView. Once you’ve done this, click New in the default toolbar and select Publication. This is displayed in the screenshot below.

Creating a New Publication in SAP Crystal Reports Server 2008

Once “Publication” is selected from the list of choices, you’ll have three options when the “New Publication” window opens.

  • Summary
  • General Properties
  • Source Documents

In the General Properties section, give your new Publication a name, description (optional), keywords (optional), and then select the Source Documents option. Next click Add to select the reports that will become a part of the Publication that will “Refresh at Runtime”. Multiple reports can be selected as part of a single Publication.

Basic Options of a New Publication

As soon as reports are added, six new options are made available. The “New Publication” now has the following property sections.

  • Summary
  • General Properties
  • Source Documents
  • Enterprise Recipients
  • Dynamic Recipients
  • Personalization
  • Formats
  • Destinations
  • Additional Options

Extended New Publication Options

The “Additional Options” section contains eight different options:

  • Print Settings
  • Delivery Rules
  • Merged PDF Options
  • Database Logon
  • Recurrence
  • Events
  • Scheduling Server Group
  • Advanced

Select the Advanced category and you’ll see settings in three different groups:

  • Profile Resolution
  • Personalization
  • Report Bursting Method

The Report Bursting Methods section provides three choices for bursting:

  • One database fetch for all recipients (recommended for minimizing the number of database queries)
  • One database fetch for each batch of recipients (recommended for high-volume scenarios)
  • One database fetch per recipient (recommended when using row level security within Universes or Business Views)

New Publication Report Bursting Method Options

Report Bursting Methods Described

  • One database fetch for all recipients – This option will submit the SQL statement of each report to the database once per report then deliver the data in the specified format to each recipient.  This method uses the database logon credentials of the publisher.
  • One database fetch for each batch of recipients – This is the default option when scheduling Crystal Reports. Batches can run concurrently on different servers to reduce the load on the system (keeping the DBAs happy). The size of the batches depends on the specified personalization. This method uses the database logon credentials of the publisher.
  • One database fetch per recipient – This method uses the data source logon credentials of each recipient as the query is submitted to the database once per report for each recipient in the publication. This option provides the greatest level of security but also produces the greatest load on the system if the recipient list is large.

Publications

In addition to Report Bursting, Publications provide an extensive set of options. Among the options that you’ll want to pay special attention to are the: Print Settings, Delivery Rules, Database Logon Credentials, Recurrence, and Events. Settings such as: Personalization, Formats, and Destinations should also be configured completely before saving and implementing a Publication.

Be sure to view the Summary option and review your selections before finalizing your Publication. You should also test your Publication before making it live. Refer to official SAP documentation for a more in-depth discussion of Publications and information regarding the various other options to configure, save, schedule, and view publication results.

Summary

After finally experiencing SAP Crystal Reports Server 2008, I am surprised at the great deal of sophisticated methods of delivering reports to users across the enterprise. Whether through the convenience of the portal , the use of automated report scheduling, or the use of personalized Publications for Report Bursting, SAP Crystal Reports Server 2008 is an excellent product for sharing information with users.

Questions? Please contact me.
Jim.Brogden@daugherty.com

Passing Data From a Parent to Child SWF (Data Sharer Component)

In my previous post I demonstrated how to pass data from a parent to child SWF with the use of Flash Variables and the SWF Loader component. Today, I’m going to demonstrate how to accomplish the same functionality leveraging a free add-on component from Inovista.com called the “Data Sharer”.

One of the noticeable difference in this solution compared to the use of Flash Variables is that the child SWF does not have to load and initialize each time the parameter is changed.

How to do it:

1. Go to Inovista.com and download the free data sharer component

2. Add the data sharer component with Xcelsius’ Add-On Manager GUI or see Kalyan’s post “Using the command-line version of the Add-On Manger in Xcelsius 2008” to add using command line

3. Using the same child.xlf as in my previous example I have kept the same cell (E6) reserved for my parameter

4. Next add the data sharer component found under the “Inovista Other” category in your components list. Note that the component will not be visible at run time.

5. Give the data sharer a connection name. In my example I have used “salesman”

6. Check the “Import Values” box

7. Select the range of cells for  the “Import Data Cells”. In my example it is cell E6

8. Save and export your child SWF

9. Using the same parent.xls as in my previous example I have made a few changes to the underlying excel sheet.

a. Cell B5 should have the URL to your child SWF (Note that your SWF Loader Component will link to this URL)

b. Cell B7 should be reserved for the parameter that is going to be passed

10. Add the data sharer component to your canvas

11. Use the same connection name that you used in your child SWF. I used “salesman” in my example

12. Check the “Transmit Values” box

13. Select the range of cells for the “Transmit Data Cells”. In my example it is cell B7

14. Save and export your parent SWF. Note that the parent and child SWF should be located on the same server or file directory.

There you have it. Passing data from a Parent to Child SWF leveraging what I feel to be one of the best free components available to the Xcelsius community. There are a few quirks with this component so be sure to read the supporting documentation when implementing into a more complex model.

As always, please feel free to download the source files.

Sharing Reports in SAP Crystal Reports Server

In this post, the 2nd in a three part series for the Reportapalooza “Reporting Remix” challenge, I will describe my observations of SAP Crystal Reports Server after logging on with Internet Explorer into the Java Infoview portal.

I logged into SAP Crystal Reports Server as the Administrator and was given two categories of options: Navigate and Personalize. Beneath the Personalize category was a Preferences selection. I’ve never been the type of person to pass on the opportunity to tweak a couple settings, so I clicked Preferences. Below is a screenshot of the initial screen displayed after I logged into the system.

Logged On - SAP Crystal Reports Server

Preferences are available in four categories:

  • General
  • Change Password
  • Crystal Reports
  • Dashboard and Analytics

The General section was expanded by default and the first setting provides the option to change the InfoView Start Page. I modified this selection by clicking the option button beside Folder then browsing to the “Report Samples” folder. By making this selection, all of my subsequent logons to the SAP Crystal Reports Server will no longer display the Navigate and Personalize categories as previously described. Instead, I would be taken directly to the Report Sample folder. 
This option saves time and allows me to get right to the folder that contains the reports I’m most interested in analyzing.

Setting the InfoView Start Page in SAP Crystal Reports Server

Browsing BusinessObjects InfoView
The contents of the Java Infoview portal, (or BUSINESSOBJECTS INFOVIEW as it’s titled in the upper left corner of the page header), delivers Crystal Reports and other local document types to users in a similar format as Windows Explorer. Users have the ease of navigating through a folder structure on the left side of the page while viewing the contents of the selected folder on the right side of the page.
This basic style should be very familiar to anyone that has spent any time working with a PC. The simplicity in navigation seems like it would lead to a very productive user experience.

Adding Reports to the Portal
To begin sharing reports with other users, I will need to add them to the portal. Will this be difficult or easy? Should I right-click or look for something like “Add”? The answer is: either.
If you want to add a report to the portal, just click Add in the toolbar located across the top of the folder structure. After clicking Add, two choices will be available – Crystal Reports and Local Document. If Local Document is selected, you’ll have the opportunity to browse for a Microsoft Office document (Excel, Word, or PowerPoint), PDF, Text file, or other file type. If Crystal Reports is selected, you’ll be taken to a screen prompting you to select a Crystal Report. The screenshot below shows the Add button in action.

Adding an SAP Crystal Report to InfoView

Another way of adding a report to the portal is by right-clicking on a folder and selecting Add. This option is available in the tree of folders on the left side of the screen. You can also right-click on a folders displayed on the right side of the screen to add a Crystal Report to the portal. Picture below is this example.

Adding an SAP Crystal Report While Right-Clicking

Sharing Reports with Folders and Categories
Reports can be shared or delivered to authorized users in either folders, categories, or both. Folders are the primary structure for storing published report objects while categories seem to work as custom views that may contain reports from different folders.

Viewing SAP Crystal Reports by Folder or Category

My Favorites and Inbox
The My Favorites folder in the Java Infoview portal allows users to save their own personal copies of reports. This is a great place for storing report variations or reports that are still in the development and verification phase.

The Inbox is an extremely useful feature for passing around instances of reports to other authorized users. Also, the Infoview Inbox is a common destination for sending the results of scheduled report instances. Any user with Schedule rights can send refreshed report instances to other users with a valid logon by selecting “Business Objects Inbox” as the scheduled destination while scheduling a report to refresh.

Enterprise Convenience
After spending a short amount of time with SAP Crystal Reports Server, it has become very obvious how powerful this product can be to an organization. A report developer in Mobile can create a report, publish it to the portal, and then have users in Portland, New York, and Atlanta all view it within seconds of publishing it. With this type of collaborative environment, someone in another city can see a report quicker than someone four cubicles away can walk to your desk. Now that is cool!

Please feel free to email me if you have any questions. Thank you!

Jim Brogden

jim.brogden@daugherty.com

Getting Started with SAP Crystal Reports Server

In the fifth and final challenge of Reportapalooza, I’ll be writing a three part series of blog posts about the product at the heart of the SAP Crystal product line – SAP Crystal Reports Server.

My experience with BusinessObjects software goes back to versions 6.1 and 6.5 and the days of Application Foundation and the BOMain.key. Then in 2006, I had the good fortune of being introduced to BusinessObjects XI and the new CORBA architecture. This led to an ongoing string of (mostly) enjoyable experiences installing, deploying, migrating to, and administering BusinessObjects XI R2, XI 3.0, and XI 3.1. These experiences also included many years of developing Universes, building Desktop Intelligence reports, Web Intelligence documents, and finally Xcelsius 4.5 and 2008 dashboards. But my experience with SAP Crystal Reports only goes back to version XI and I’ve never had the opportunity to even see SAP Crystal Reports Server. So I jumped at the opportunity to install and peruse SAP Crystal Reports Server as part of the “Reporting Remix” and Reportapalooza.

Continue reading →

Passing Data From a Parent to Child SWF (Flash Variables)

Due to performance limitations within Xcelsius, it can be difficult to build large scale dashboards that are easy to manage. Fortunately, Xcelsius comes equipped with components that makes it easier to create a single “Parent” SWF which can load multiple “Child” SWFs inside itself. Perhaps the biggest challenge with this design architecture is enabling the “Parent” SWF to communicate with the “Child” SWF.

Luckily, with the use of Flash Variables and the SWF loader component, we can easily overcome this challenge.

Continue reading →