What's a UFL?
| The letters stand for User Function Library. A UFL is an add-on that helps users do things Crystal Reports can't otherwise do. They expand the power and capabilities of your Crystal Reports system. |
Why Buy?
| If it's a User Function Library, then can't a user just write one?
Sure. If you have the time to write and test a UFL go ahead. But for most users, that's just not a sensible option. For a small purchase price, you can get the UFL and get on with the project that needs doing. Besides, it's not quite as easy as the name implies. See the next tab for why we say that.
|
UFL in Klingon
| For those who really love exploring the minutae of dense instructions and have the time to do that, here's part of Business Objects' explanation of how to write a UFL:
As the final step to creating a UFL function (see Function definition), you must add code for the operation of the function you have designed. Your function must be programmed for the specific needs of your UFL. This section will examine the basics of how to obtain the parameters from the parameter block and use the values of those parameters in the implementation of the UFL function.
You begin by coding your function as follows:
ExternC UFError FAR _export PASCAL FunctionName
(UFParamBlock *ParamBlock)
{
// Your function's code
}
First, notice that the function is exported because a UFL is simply a DLL being accessed by Crystal Reports. Second, the function returns an error code of the enumerated type UFError. In the error trapping sections of your function, you can return a UFError value, such as UFNotEnoughParameters, or you can return UFUserError and define your own errors in the error table. Finally, the function accepts a parameter block of type UFParamBlock from Crystal Reports rather than individual parameters. You will need to retrieve the individual parameters from that parameter block to work with the data values passed by the Formula Editor.
|
Uses
| Because UFLs are created in response to a need, they are typically named after the use they were written for. That's why, for example, we have a File Managment UFL instead of a UFL named by a creative marketing team that prefers something like "sizzle." Of course, if you're saving files and you hear "sizzle" it may be time to turn off your PC.
|
Features
| A given UFL tends not to have a lot of features. UFLs are simple and direct, as opposed to programs that must fight a continual features war with the competition. We'd love to be able to tell you that our File Export UFL is better than one made by a competitor (if a competitor wrote one), but that's probably not the case. Any two UFLs written for file export probably function the same. The difference, if any, would be in the amount of code written. |
How It Works
| While writing a UFL is a bit much for some users, actually using it is a breeze. Once you've installed the UFL (which, as BO noted, is a DLL or Dynamic Link Library), Crystal Reports automatically incorporates its functions. The UFL will be listed under Additional Functions under the Functions window, which is a nice place for it when you think about where Microsoft tends to put things by contrast. |
Limits?
| No, there really aren't any practical limits to how many UFLs you can add. While we'd love to sell you every UFL we offer, our advice instead is that you review your report process and structure against user needs and system efficiency and then determine which UFLs will help you produce reports more efficiently and/or effectively.
Not everyone needs XML output, for example, but for some report administrators this ability is paramount.
|
New UFLs
We are always looking for new UFLs. Please contact mark@crystalkeen.com if:
- You write a UFL and would like to sell it through Crystalkeen.
- You need a UFL that we don't offer and you don't want to write.
|
|
| Create an e-mail output for your Crystal Reports. cViewMAIL for Crystal Reports is part of our SMTP User Funct ... more info |
|
|
| This Crystal Reports utility allows you to rebuild the default pick list values in a folder of reports and to ... more info |
|
|
| Control your Crystal Reports export with total control over the format and destination. Solve your Crystal Rep ... more info |
|
|
| Our File Management User Function Library allows you to delete, copy, rename, or manipulate files and folders ... more info |
|
|
| Export structured data to Excel or another application, the smart way. Grid UFL provides you the proper contro ... more info |
|
|
| Build a table of contents and report index from multiple reports while a Crystal Report is processing. ... more info |
|
|
| Now you can localize reports for international Crystal Reports users. This UFL gives report headings in differ ... more info |
|
|
| Registry Function is a collection of useful registry utilities for Crystal Reports administrators. This tool c ... more info |
|
|
| SendMail lets you send multiple e-mail messages from one report without invoking your e-mail client. It can se ... more info |
|
|
| The Share User Function Library is a Crystal Reports User Function Library that lets you save and retrieve dat ... more info |
|
|
| Search texts and return individual lines or columns. Our Text Lookup User Function Library is a set of seven f ... more info |
|
|
| Add XML to your Crystal Reports. While you are viewing and preparing your report, the program prepares an XML ... more info |
|
|
| This User Function Library complements cViewMANAGER or cViewSERVER by enabling you to design reports that can ... more info |
|
|
| Registry Function is a collection of useful registry utilities for Crystal Reports administrators. This tool c ... more info |
|
|
|
|
|