Software Forces is the #1 Crystal Reports, Business Objects XI, Crystal Enterprise home for solutions, tools, and utilities. Our .rpt Inspector brand (.rpt Inspector Professional Suite and .rpt Inspector Enterprise Suite), and our SPL (Smart Pick Lists) and SmartObjects brands are the highest utilized tools, addons, and utilities for Crystal Report and Business Objects / Crystal Enterprise environments. These tools allow you to modify one or many Crystal Reports at the same time, migrate from one data source or database in your Crystal Report to another, modify fonts or colors in your Crystal Reports, audit / document / standardize formulas and parameters across one or many Crystal Reports, copy default values from one parameter and paste them to multiple parameters -- even across multiple Crystal Reports, find which fields / formulas / parameters are used in your Crystal Reports and do impact analysis, find failed instances in BusinessObjects Enterprise & Crystal Enterprise, find successful instances in BusinessObjects Enterprise & Crystal Enterprise, find paused and pending instances in BusinessObjects Enterprise & Crystal Enterprise, modify existing schedules / recurring instances in BusinessObjects Enterprise & Crystal Enterprise, create new schedules in BusinessObjects Enterprise & Crystal Enterprise, modify database logon in BusinessObjects Enterprise & Crystal Enterprise, modify destination in BusinessObjects Enterprise & Crystal Enterprise, modify parameters in BusinessObjects Enterprise & Crystal Enterprise, and a lot more with Software Forces add-ons, tools, and utilities.

March Tips      
TIP #1 :: Understanding and Taking advantage of "Drag and Group"

TIP #2 :: Changing EXISTING schedules (recurring instances) in your Enterprise environment


TIP #1 :: Understanding and Taking advantage of "Drag and Group"

For every Crystal Report you open in .rpt Inspector Professional Suite or .rpt Inspector Enterprise Suite, an in-memory database is built with an index of all the objects in the Crystal Report and an index of each object's properties. We then expose these valuable properties for the select object(s). Some properties are Read-Only, and some are Read-Write.

You may already be familiar with the concept of opening a Crystal Report in .rpt Inspector, clicking on an object, in the grid of one of the tabs in the Objects Pane (i.e. Reports tab grid, Report object) and modifying one of the properties that are automatically exposed in the Properties Pane.

And you may already be familiar with the concept of selecting several objects and having the Properties Pane show you the properties they have in common, and modifying them.

But did you know that there's more you can do with the properties and grids? Did you know that using the concept of "Drag and Group" you can make analyzing / finding properties faster and easier, and also make documenting and modifying properties faster and easier too.

The concept of "Drag and Group" is a simple one, yet a very powerful one.

As you should already know, .rpt Inspector Professional Suite and .rpt Inspector Enterprise Suite are made up of four main window panes: "Reports Tree", "Properties", "Objects", and "Viewer". The Objects pane contains multiple tabs, which are organized by object type to ease in finding and working with a particular type of object. Each of those tabs contains a grid which has a pre-defined set of columns.

When you open a Crystal Report, the default tab on the Objects pane is the Reports tab, with a report selected in the grid. Therefore the report object's properties are displayed in the Properties pane (i.e. "Report Title", "Report Path", "Report File Name (Read-Only)", "Report Modified (Read-Only)", "Content (Read-Only)", "Author", "Keywords", etc.).

The grid in the Objects pane on the Reports tab has set of predefined columns "File Name", "ReportTitle", "ReportAuthor", "File Size", "ReportPath", and "Modified" -- which show duplicate information to those same properties in the Properties pane.

When you click on a row of a grid on any of the tabs on the Objects pane, the selected row's object properties are revealed in the Properties pane.

The "Drag" concept:
You can create a new column in the grids of the various tabs on the Objects pane by simply dragging an exposed property from the property list and dropping it on the grid. But before to drag by the property name and not the value for this to work. The result is a new column that is dynamically for you of the property you dragged. You can rearrange the column order (by dragging it in the grid by the column name) or resize it. You can also remove the newly created column by right clicking on the column name in the grid and selecting Delete from the pop up menu.

For documentation and analysis purposes, you can export the contents of the grid as either a CSV file or Excel. Excel is recommended as this will result in a 1 to 1 look and feel in Excel as the rows and columns appear in the grid, while a CSV will generate a text file with the values but the formatting will be lost.

The "Group" concept:
Now to step this up a notch, let's introduce you to the Group concept. Right click on a column in a grid, even one of the newly created columns you made using the above drag concept, and from the pop up menu, select "Group By". This will create a "Grouping" in the grid. A "Grouping" is a hierarchy list that is very similar in concept to a pivot table in Excel.

For example, if you grouped by "ReportTitle" then you'll now see in the grid two rows. The first row has a black background and can not be modified always show the grouping order. The second row is your group based on the property you grouped by and has "+" next to the property. If you expand the "+", you'll notice that you now have 1 or more rows in the grouping that have the identical value for the "Report Title" property.

Also notice that the rows have a checkbox to the very left, which allows you to select multiple items in the group which you want to modify properties.

If you add additional columns to the grouping, you can then quickly build a hierarchy list that helps you quickly find specific set of objects or reports, or properties to make your actions.

Changing the grouping order is easy too. Simply right click on any group title row and you'll be presented with a popup menu with the option of "Move to Top", "Move Up One", "Move Down One", "Move to Bottom". Removing a property from a group is also easy. Again, simply right click on any group title and from the popup menu select "Ungroup" (or "Ungroup All" to remove all the groupings on this grid).

Be sure to expand the groupings and set the right order if you're planning to export to Excel, as it is a one to one export of what is displayed in the grid.

Usage Example:
A perfect example of using this may be to find all used and not used formulas in 1 or a couple hundred Crystal Reports.

  1. Start by opening all the reports you want to include in this process
  2. Once the Crystal Reports are open, you need to let .rpt Inspector know which of them you want to work it, so start by selecting the reports in the Reports tab on the Objects grid or the Reports Tree
  3. Then click on the Formulas tab and click on at least one formula to expose the property list
  4. Now drag out a special property called "IsUsedInReport" to create a new column
  5. Right click on this newly created column and select "Group By IsUsedInReport"
  6. You should now have 2 rows. One that contains child nodes that belong to the "True" value of the property, and the other that has child nodes that belong to the "False" value of the property.

Another example is changing all fonts to Arial.

  1. Start by opening all the reports you want to include in this process
  2. Once the Crystal Reports are open, you need to let .rpt Inspector know which of them you want to work it, so start by selecting the reports in the Reports tab on the Objects grid or the Reports Tree
  3. Then click on the Objects tab and click on at least one object property to expose the property list
  4. Now drag out the "Font" property to create a new column
  5. Right click on this newly created column and select "Group By Font"
  6. You should now several rows created. One for each value of the "Font" property. You'll also probably have a row called "Font (NULL)". This is normal as the child nodes here will be objects which do not have a font property
  7. You can change all the children of a node by placing a check mark in the box left of the property name row. Or if you expand the node, you can select specific children only
  8. Now on the property list change the value for the font, and all the selected nodes will automatically change
  9. To see the groupings refresh, you need to click on any row, and from the popup menu select "Refresh Grouping". By default this refresh is to manual, as the more items and groupings you have, it can take a while for each property change you make to automatically refresh. However, you can turn on automatic refresh in TOOLS|OPTIONS|GROUPING

 

TIP #2 :: Changing EXISTING schedules (recurring instances) in your Enterprise environment

I. Start by opening a bunch of Crystal Reports that reside directly in your enterprise environment.

For every Crystal Report you open, an in-memory database is built with an index of all the objects in the Crystal Report and an index of each object's properties. We then expose these valuable properties for the select object(s). Some properties are Read-Only, and some are Read-Write.

For Crystal Reports that you open directly from your enterprise environment, we also automatically keep an in-memory database with an index of all the meta-data that is part of the report. This meta data includes schedule, instance, database, and parameter meta data from enterprise.

II. Once the Crystal Reports are open, you need to let .rpt Inspector know which of them you want to work it, so start by selecting the reports in the Reports tab on the Objects grid or the Reports Tree.

III. Click on the "Schedules" tab in the Objects pane.

IV. Listed in the grid are all the report objects, and their scheduled instances.

Select one or more items in the row to modify the existing schedule and right click on a row and select "Modify Schedule" from the popup menu.

From the dialog, on the Schedules tab you can modify the value of the schedule. Once you're done with the modification, click on the OK button to apply your changes.

Because these meta data values are stored in enterprise, and not part of the actual report object, unlike other areas in .rpt Inspector -- these changes are committed right away, so there is no need to save the report object for the changes to take affect.