|
|||||||||
|
Crystal Reports Tools: Improve Performance While Saving Time and Money |
cView Tool: Share UFL |
|
The
Share User Function Library
is a Crystal Reports
User Function Library that lets you save and retrieve data between
reports.
How often have you wanted to take a value from one
report and use it in a second report? Now you can.
A share file is a simple xml file, and you can use this document format with other applications including InfoPath, SQL Server, or even a text editor. The trial version has a limit of 10 values per share file. The full version currently has a limit of 1000 values, but this can be increased if you want more. Pricing | Buy NowShare data values between Crystal Reports with Share UFL We have received requests in the past asking how to use value from one report in a second report. The usual answer is to repeat the database processing in a subreport inside the second report. This is highly inefficient of course, and hits major limitations if there are values needed from more than one report in a later report. Another solution to this is to calculate the totals in some summary tables, and use them there. That's fine if SQL functions will do what you want, but the values could be more complex than some simple SQL functions. In the past, we made this possible via using our Disk Output and Text Lookup User Function Libraries: write the values to a disk file using the DiskLinesEntry function, and retrieve it with the TextLookupCell function. We decided to combine these into an easy-to-use User Function Library that you can access under “Functions” in your Formula Explorer. This new UFL is called the Share UFL. You create a Share file and a tag for the value you want to save with the ShareTagStore function:
Retrieve the value in another report with:
You can use multiple Share files in one report, and in the full version up to 1000 different tags for the values you want to save. A Share file is a simple XML document, so you could use this with a Web service, another application, some SQL, or even a text editor. |
SHARE UFL BenefitsYou can improve the performance level of your reports. Sometimes, dramatically. Example of improvements using Share UFLThe following example illustrates one way you can use the Share UFL to improve the performance level of your reports. And that can reflect well on your own performance report. A local user had a report that reads from a large, slow, file-based database. A subreport in the details section calculated a summary from a large transaction table for the product in that section. We modified the report to use one subreport in the Report Header section to calculate the summaries for all the records in the transaction table. We saved those summaries using the Share UFL and then retrieved them in a formula in our details section. As the share file is built in memory prior to writing to disk, it was still there when the details section were processed. So the retrieval of the summaries was at memory speed rather than database speed. The transaction file was processed only once and the full report ran several hundred times faster than the original subreport based solution. User Function Libraries are installed on the machine running the report and accessed in the Formula Editor. |