UFLs can be programmed in a Java
environment.
To create a customized function you can
use custom functions or
Crystal Reports user functions from a User Function Library
(UFL). Custom functions are a better choice when you want to write a simple but
reusable function. However, to take advantage of web services or access an
external file, use a IF: UFLs operate outside of the process of the report
designer. You would also use a UFL if you want to take advantage of existing
Java classes.
Note: If a report is built
using a User Function, the library that includes the User Function must be
included in the runtime package.