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.

Getting around all of the mind-bending involved in writing a UFL, we not only offer some great UFLs but we make it easy for you to install and use them. To see what we mean, right mouse click to download and save our short guide, How to Install and Use a UFL.

UFL in Klingon

If you don't care to learn the UFL version of Klingon, right mouse click to download and save our short guide, How to Install and Use a UFL.

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 notes in their instructions, 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 (making ussometimes rea-l-l-l-ly want to tell them where to put things)..

We help make this even easier for you. Right mouse click to download and save our short guide, How to Install and Use a UFL.

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. If you don't need it, don't buy it. On the other hand, if it can help you serve your report users better or do your work more efficiently then you do need it and should buy it.

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 it.
File Management User Function Library
Our File Management User Function Library allows you to delete, copy, rename, or manipulate files and folders on your machine from within Crystal Reports. Free 30-day trial. More Info
$99.97
chlsuflfm
Grid UFL Structured Data Export Utility
Export structured data to Excel or another application, the smart way. Grid UFL provides you the proper control of your Crystal Reports Export. The ability to export your reports to another applicatio More Info
$99.97
chlsuflgrid
International Function Library
Now you can localize reports for international Crystal Reports users. This UFL gives report headings in different languages, depending on the country you select. The theory behind this function is tha More Info
$199.00
chlsuflinternational
cViewMAIL
Create an e-mail output for your Crystal Reports. cViewMAIL for Crystal Reports is part of our SMTP User Function Library. It is also available as a stand-alone program. You can use it with 3rd party More Info
$99.97
chlsuflmail
SendMail e-mail UFL for Crystal Reports
SendMail lets you send multiple e-mail messages from one report without invoking your e-mail client. It can send single short messages or build up a longer message and send when needed. It can include More Info
$115.97
chlsuflmailsmtp
cViewPICK Pick List Utility for Crystal Reports
This Crystal Reports utility allows you to rebuild the default pick list values in a folder of reports and to import and export pick lists as needed. Free 30-day trial. More Info
$149.95
chlsuflpick
Registry Function Library for Crystal Reports
Registry Function is a collection of useful registry utilities for Crystal Reports administrators. This tool can extract a value from the Windows Registry. It can identify the Windows\Crystal function More Info
$49.97
chlsuflregistry
Registry Function Library, Enterprise Version, for Crystal Reports
Registry Function is a collection of useful registry utilities for Crystal Reports administrators. This tool can extract a value from the Windows Registry. It can identify the Windows\Crystal function More Info
$299.99
chlsuflregistry-ent
Share UFL for Crystal Reports
The Share User Function Library is a Crystal Reports User Function Library that lets you save and retrieve data between reports. This allows you to perform some otherwise impossible tasks with Crystal More Info
$99.97
chlsuflshare
Text Lookup Function Library for Crystal Reports
Search texts and return individual lines or columns. Our Text Lookup User Function Library is a set of seven functions that enable you to search through a text file and extract lines and columns to di More Info
$107.97
chlsufltextlookup