Solved & Fixed: UFL ‘u2lgl’ that implements this function is missing

Print Friendly, PDF & Email

I recently ran in to an error stating “UFL ‘u2lgl’ that implements this function is missing.” This happened when using a particular program called CYMA, which generates reports using Crystal Reports and then brings them up for a print preview. I found this not too helpful article (note: the article I link to has been updated to contain the solution I post below {with more details specific to the current version}, and they have credited me with helping to find the correct fix), which suggested that you could fix CYMA by copying and pasting the missing file into the folder. The file was already there, but I tried it anyway. Still nothing changed. From there, I found one other article saying that it wasn’t the file he thought it was, the poster, named Andy Baker, had to re-register his User Function Library – but gave no advice for users how he did that. No other advice anywhere on the internet gave a clear answer as to what was causing this issue.

When Andy refers to re-registering the User Function Library, or UFL, he basically means that he had to re-register everything. What you need to do first is to figure out what folder the file is in. For some examples, you could find the DLL in a folder such as:

  • C:\Program Files (x86)\Business Objects\Common3.5\bin\
  • C:\Program Files\Business Objects\Common3.5\bin\
  • C:\Program Files (x86)\Common Files\Crystal Decisions2.5\bin\
  • C:\Program Files\Common Files\Crystal Decisions2.5\bin\

The computers I had this issue on were the latter two folders. So, I’ll use the 4th directory in my example, but remember, you may need to change the second line of the command below to match wherever your files are. Here’s what I did:

  1. Ensure CYMA (or whatever program is giving you the error) is closed
  2. Click the Start Menu in the lower left
  3. Type CMD
  4. Right Click CMD.exe and click Run as Administrator
  5. type the following:

    cd\
    cd "C:\Program Files\Common Files\Crystal Decisions\2.5\bin\"
    for %1 in (*dll) do regsvr32 %1 /s
    for %1 in (*ocx) do regsvr32 %1 /s
    exit
  6. Re-open your application and try again!

For me, this resolved all of my problems. No reboot necessary. The application opened, and when we ran the reports, they came up as we expected them to! The issue appears to stem from installing Office 2013, which I believe installs a newer .net 4 Framework, which de-registered these files. Leave a comment, let us know if this helped!