UFL 'u2lcom.dll' that implement this function missing...

Post Author: YAO
CA Forum: Formula
ey dudes,
"UFL 'u2lcom.dll' that implement this function missing"
Thats the error Crystal reports send me when i try to run a report.
i searched for it and the file already exist.
I use Crystal Reports XI
Can u help me?
Thank you.

Don,
thank you very much. It solved the issue.
Earlier the vb6 dll was registered using an a/c id different than the one to login to Crystal Enterprise server from .Net code.
Now copied the dll to 'c:\Program Files\Business Objects\common\3.5\bin\ on the server and ran,
*regsvr32  c:\Program Files\Business Objects\common\3.5\bin\crufltest.dll and it woorked.*
Thanks.

Similar Messages

  • Eclipse: UFL "u212com.dll" that implements this function is missing

    Dear Sirs,
    I try to open one of our reports with the "Crystal Reports for Eclipse 2.0" sample application. Thie report relies on a com based UFL. I get the following error message:
    Crystal Reports Viewer
    Exception yadada...
    UFL "u212com.dll" that implements this function is missing
    OK
    How can I fix this?
    Thanks for your answers.

    The fact that you can see the UFL under 'Additional Functions' tells me that the UFL is compiled as 32 bit. This is good for creating the report in the IDE which is 32 bit. But the app you are building is compiled as 64 bit. But there is no 64 bit UFL(?) that yo have built so far. So, two options;
    1) Build the UFL as "Any CPU". I am not sure if this will actually work. never tried this, but I do know that it is not possible to compile an app using the CR runtime as "Any CPU". E.g.; we always recommend to compile either as 32 bit and \ or 64 bit, not "Any CPU" This may be the case with the UFL, thus the next suggestion.
    2) Compile a second copy of the UFL as 64 bit. You'll then have to use 64 bit GAC and regasm on that dll.
    - Ludek

  • UFL 'u212com.dll' that implements this function is missing

    I am attempting to write a user function library for the crystal reports version that ships with Visual Studio 2010. Following the walkthrough on the Business Objects website (although that is for VS2005) I have successfully created my .dll file and added it to the GAC, and it appears in the function list under 'Additional Functions' in the Crystal Reports formula editor. However when I use the function on in my Windows forms application, I get the error "UFL 'u212com.dll' that implements this function is missing.". This is on my development machine and I have installed the latest service pack for Crystal Reports for VS2010 (64-bit). My OS is Windows 7 64-bit.
    I have two questions:
    1)  What version of the .NET framework should my class library be targeting? My windows forms application targets the .NET framework version 4, but should I be doing the same thing for the .dll for Crystal Reports? It does show up in the formula editor though, so I guess that means that Crystal Reports recognises it correctly.
    2) I have done a search on the PC for the file 'u212com.dll' and it is in the folder C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64 (and also in the equivalent 32-bit folder) Is this correct, or is there is a specific 64-bit version of this file?
    Or is it something else that I am missing? Thanks in advance for any suggestions.

    The fact that you can see the UFL under 'Additional Functions' tells me that the UFL is compiled as 32 bit. This is good for creating the report in the IDE which is 32 bit. But the app you are building is compiled as 64 bit. But there is no 64 bit UFL(?) that yo have built so far. So, two options;
    1) Build the UFL as "Any CPU". I am not sure if this will actually work. never tried this, but I do know that it is not possible to compile an app using the CR runtime as "Any CPU". E.g.; we always recommend to compile either as 32 bit and \ or 64 bit, not "Any CPU" This may be the case with the UFL, thus the next suggestion.
    2) Compile a second copy of the UFL as 64 bit. You'll then have to use 64 bit GAC and regasm on that dll.
    - Ludek

  • UFL u2lpdmtime.dll that implements this function is missing.

    UFL u2lpdmtime.dll that implements this function is missing.
    I get this error when I try to run an a report.
    I just installed Crystal Reports Version 11 on my machine.

    I am getting a similar error message in a 3rd-party program (LDRPS 10, SunGard, Inc.) that uses CR XI R2:
    "UFL 'u2lsamp1.dll' that implements this function is missing.
    Error in File C:\WINDOWS\TEMP\47b92342-bfee-4784-bad0-28a6825f3b28
    {7D171C51-0246-4492-8934-80987D66ED88}.rpt:
    Error in formula <WorkCalled>.
    'If Not IsNull({Employee.pkEmployee}) Then
    UFL 'u2lsamp1.dll' that implements this function is missing."
    It only happens if I run the report as part of a Table of Contents with other reports. It works fine if I run it by itself.
    I will let you know if I find out anything useful from the 3rd-party developer.

  • Runtime error: UFL 'u25total.dll' that implements this function is missing

    Has anyone seen this error when printing reports at runtime?
    HandlingInstanceID: 34db0437-5151-48f1-b737-8aa06b53a7ed
    An exception of type 'System.Runtime.InteropServices.COMException' occurred and was caught.
    11/14/2008 09:03:20
    Type : System.Runtime.InteropServices.COMException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Message : UFL 'u25total.dll' that implements this function is missing.
    Source : Crystal Reports ActiveX Designer
    Help link :
    ErrorCode : -2147191835
    Data : System.Collections.ListDictionaryInternal
    TargetSite : Void PrintOut(System.Object, System.Object, System.Object, System.Object, System.Object)
    Stack Trace :    at CRAXDRT.ReportClass.PrintOut(Object promptUser, Object numberOfCopy, Object collated, Object startPageN, Object stopPageN)
    We develop our reports in CR Developer Product Type: Full version 11.5.8.826 and the main application is a windows .net C# application. At our branch locations we have CR XI2 SP3 installed. Currently we have our application at over 400 locations and this error keeps coming up sporadically. Once the users click through the error and print again they have no problems. I haven't been able to reproduce this error so any help would be very much appreciated.

    Don,
    I talked this over with my team members here is what we are going to try. We are going to add mutex around our print code that contains the following:
    CRAXDRT.ApplicationClass reportApplication = new CRAXDRT.ApplicationClass();
    CRAXDRT.Report legacyReport;
    After adding the mutex to the code we still received an exception. So in the interest of trying to free up the resources associated to that DLL we added the following inside of the mutex after the print code.
    reportApplication = null;
    legacyReport = null;
    GC.Collect();
    GC.WaitForPendingFinalizers();
    After doing that I havenu2019t been able to reproduce the problem. Is there anything else in the com objects that could be holding that resource open.

  • "UFL 'u2ltdate' that implements this function is missing."

    I am working through migrating older reports from a very outdated version of Crystal into a newer version and trialing Crystal Server 2013 with Crystal Reports for Enterprise.  The only problem I am running into is that I have many reports using the NumberToDate function to pull a number string and form it into a date for the report.  I really need this function to work because we rely on it quite heavily.  When I pull reports that use it into my new environment I am given the following error:
    "UFL 'u2ltdate' that implements this function is missing."
    I have found the u2ltdate.dll on the web and transferred it into the following folders: windows/system32 and program files(x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/win32_x86 and the win64_x64 as well just to be sure.  But to no avail I am still unable to use the NumberToDate function.  I have even tried copying the u2ltdate.dll from our older server, and this doesn't work either.  I really need to get this working as soon as possible.    I don't know if I need a 64 bit dll because it is windows server 2008 or if I don't have it in the right places.  Please help!

    Hi Warre,
    Don't put the ufl into the \windows\system32 folder. Nothing should go there now.
    I doubt this will ever work in CR for Enterprise. It's a Java Designer so the only way to make it work is to create a Java UFL.
    Search for this KBA:
    1803967 - How to make a Java UFL available in Crystal Reports 2011 Designer?
    Same for CR for Ent., you need a Java UFL.
    Only way to make this work is to convert the UFL to Java or use Crystal Reports 2011 or 2013.
    See this MS Forum post I responded to also:
    Custom Crystal DLLs with Crystal Reports 2008 for Visual Studio Run Time
    And this one:
    http://scn.sap.com/docs/DOC-35036
    And this one:
    Java UFL and VB UFL
    Try searching, there is a kbase article with a sample attached.
    And you will need a 64 bit version because some of the report processing servers may be 64 bit only but I believe the Crystal Report Processing Server is 32 bit only. It will need the UFL copied into it's \win32_x86 folder.
    Only issue you should have is using CR for Ent. to design/update/create the reports with that function. Use CR 2011 or 2013 and it should work.
    Problem is we no longer have the source code for that UFL and others, quite often they were written by Support people and therefore not saved into our code source system.
    Don

  • How to implement this functionality?

    hi,
    I want to use a thread to send all message centrally. The thread will check if the internal queue is empty. If the queue isn't empty, it sends the message, otherwise, it yields. The code snippet is as the following.
      public void run()
        logger.info("Sending thread started.");
        try{
          while (isConnected) {
            if (!bufferQueue.isEmpty() && !isReconnecting) {
              sendMsgInternal();
            } // bufferQueue.isEmpty()
            else {
              Thread.yield();
        catch (Exception e)
          logger.error("Fatal exception in sending thread", e);
          isConnected = false;
        finally
          sendThread = null;
      }This method works fine. But I found the CPU occupying rate is always 100%.
    Can somebody give me the better method to implement this logic with lower CPU occupying rate??
    Thanks in advance!
    Regards,
    Jason

    I think i have gotten the solution. It shouldn't use yield() method. It waste so much CPU time.
    I think the solution is using wait() and notify() in pair. The snippet code is as the following:
       public final synchronized void send(Object m) {
          if (m == null) {
             System.err.println("null message passed to send()");
             throw new NullPointerException();
          numMessages++;
          messages.addElement(m); // at end
          if (numMessages <= 0) notify();
       public final synchronized Object receive() {
          Object receivedMessage = null;
          numMessages--;
          if (numMessages < 0) {
             while (true) {     // we must be notified not interrupted
                try {
                   wait();
                   break;       // notify(), so get message
                catch (InterruptedException e) {
                   System.err.println
                      ("receive(): InterruptedException, wait again");
                   // race condition fix, see Semaphore.java
                   if (numMessages >= 0) break;
                   else continue;    // no message yet
          receivedMessage = messages.firstElement();
          messages.removeElementAt(0);
          return receivedMessage;
       public void run()
         logger.info("Sending thread started.");
         try{
           while (isConnected) {
               sendMsgInternal(receive());
         catch (Exception e)
           logger.error("Fatal exception in sending thread", e);
           isConnected = false;
         finally
         { // Set to null, avoid restarting the thread.
           sendThread = null;
       }For the details of this method, please refer to the following link:
    http://www.cs.drexel.edu/~shartley/ConcProgJava/messaging.html
    If there are some drawbacks, please let me know.
    Regards,
    Jason

  • How to implement this function in JSP/Servlet env?

    Hi all,
    I working on a project, it provides functionality to upload file using JSP/Servlet. In the first JSP page, there is file location and submit button. After user select a file to upload and click submit button, a message, like "sending file to XXXX", will be shown on the screen. Once uploading and validation are done on the server-side, a successful/error msg will be shown to user.
    Here I have a question for the "sending..." msg and the successful/error msg. They should be put in one jsp page or in two separate page? how to implement them?
    Thanks for any help!
    Tranquil

    For the sending message... Well, the thing is, when you click submit, it's sending the file to the server and the server is processing it, and this is all done before the "complete" page is sent to the server. So one would need to use some Javascript on the page before the actual submit happens to show some message. This is done on Ebay when you put something for sale, you can upload an image, and there is a little popup message telling you that it's uploading, and it is removed when the process is done. Now, I'm not sure the exact details of how this works, but my educated guess is this:
    1) The onsubmit function of the form checks that the file upload fields have a value (no need to popup a message if no file upload, since that's what usually takes the time, although it could just be assumed there is a file). If a file is to be uploaded, or just want to show the message anyway, a new popup window is opened with the window.open method and the "sending" message is shown (either written via Javascript or just load a small web page to the window).
    2) The popup window, since you can't transfer the window object from the form page to the next page, has to check window.opener for some value that the success/error page would have to set. The success/error page could use it's body onload function to set a variable in it's own window object to denote that the page is loaded. The popup window can use a looping check using setTimeout or setInterval in Javascript to check for window.opener.isLoadedVariable to be present, and if so, close itself.
    I've never done that, but I see no reason why it wouldn't work.

  • How can I implement this functionality for button in Captivate.

    Hello Everyone
    I want to create a button with same functionality as on mobile.
    If the button is clicked for first time it will type in "2".
    Second time "a"
    third time "b"
    fourth time "c"
    then again circles back to 2.
    Thanks in advance if anyone can point us to the right direction.
    Cheers, JagVWS

    Which version are you using? It will be less cumbersome in the latest version, because you can copy/paste decisions.
    You can have a look at this blog post, it is not cycling text containers (which will be your case) but images. The logic is the same, bit different from Rod's explanation because I'm resetting the counter to 0 after each cycle. That way you need only one user variable (I'm trying to limit work). Probably you will not want to show an extra button after the first cycle, but that is easy to skip.
    http://blog.lilybiri.com/blog-after-posterous-clickclick
    Lilybiri

  • Error in Business Hrs Formula u2lcom.dll is missing

    Hi,
    I have recently migrated a Crystal Reports 10 Ent system to a Business Objects Crystal Enterprise XI R2 system.
    I have one problem with it which seems to be a mismatch in code and u2lcom.dll.
    One of my users gets the following error when creating and running a report:
    Error in file xxxx Error in formula <Business Hrs>
    wdaysClass1wdLoadFile ("C:\wdays.txt) UFL u2lcom.dll that implements this function is missing.
    I have installed Crystal Reports XI on a workstation, opened the report and tested the formula and it gives the same error.
    However, if i copy older dlls from c:\windows\crystal on the user's machine (he has versions 8.5, 10 and 11.5 of CR installed!) to my machine and register them it then works with no errors.
    The version of u2lcom.dll copied over is 8.0 and the version is installed with CR XI is 11 and is in common files\bus obj\3.0\bin\
    Is there a way of me recompiling the function or report to use the newer dll? i really don't want to have to use older dlls on the server!
    Any help would be greatly appreciated. I can paste the code from the formula if needed?
    Edited by: Ben Marshall on Nov 5, 2008 1:14 PM
    Edited by: Ben Marshall on Nov 5, 2008 1:44 PM

    wdaysClass1wdLoadFile ("c:\wdays.txt") ;
    datetimevar Start:= {Command.OPEN_TIME};
    datetimevar End:= currentdatetime;
    timevar defaultstarttime:= time(8,0,0);
    timevar defaultendtime:= time(18,00,0);
    stringvar workingdays:= "-23456-";
    datevar startdate:= date(Start);
    timevar starttime:= time(Start);
    datevar enddate:= date(End);
    timevar endtime:= time(End);
    numbervar HrsInAWorkDay:= hour(defaultendtime) - hour(defaultstarttime);
    While wdaysClass1wdIsWorkDay (startdate, workingdays) = FALSE do
        (startdate:= startdate +1; starttime:=defaultstarttime);
    While wdaysClass1wdIsWorkDay (enddate, workingdays) = FALSE do
        (enddate:= enddate +1; endtime:=defaultstarttime);
        if endtime < defaultstarttime then
                endtime:= defaultstarttime;
        if endtime > defaultendtime then
                endtime:= defaultendtime;
        if starttime < defaultstarttime then
                starttime:= defaultstarttime;
        if starttime > defaultendtime then
                starttime:= defaultendtime;
    numbervar totaldays:= wdaysclass1wdnumworkdays(startdate,enddate,workingdays);
    numbervar hours_fulldays:= (totaldays - 2) * HrsInAWorkDay;
    numbervar hours_FirstDateTime:= hour(defaultendtime) - ((hour(starttime)*60) +minute(starttime))/60;
    numbervar hours_LastDateTime:= (hour(endtime) + (minute(endtime) / 60)) - hour(defaultstarttime);
    hours_fulldays + hours_FirstDateTime + hours_LastDateTime;

  • U2lcom.dll Missing?

    I am using the Visual Basic EZQualHousingExpense function to find the Housing Expense from easyLender. 
    It is working fine on my laptop, but when I move the report to the Crystal Reports Server, it fails saying
    Error in formula <housing expense>. 'EZQualHousingExpense ({LOAN_APPLICATION.application_no}) ' UFL 'u2lcom.dll' that implements this function is missing.
    How can I fix this?
    I am using Crystal Reports XI.

    Hi Vicky,
    From your questions it appears to me that you are using a Custom Function, either developed by you or downloaded from some website. If you would like this formula to also work on the enterprise machine, then you will have to install this funtion on the server machine as well.
    How do you know if the function is installed: -
    On your Laptop, when you openb the formula which uses the function, you will find that it is blue in color. The same function will appear in black if it is not installed on the machine.
    Please let us know if this helps.
    Cheers!

  • U2lcom.dll function error on Crystal Xl

    I am getting the following error when i am running my report, i am using a barcode formula from a 3rd part UFL:
    Crystal cannot display report. UFL 'u2lcom.dll' that implements this function is missing. Error in File Manifest {7C6C1024-04DA-4F02-B74C-9E413E7842DC}.rpt:
    Error in formula Barcode:
    'stringVar DataToEncode:= "1234"; '
    UFL 'u2lcom.dll' that implements this function is missing.

    Update to CR XI R2 and test again. See this blog on how to upgrade.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter
    Got Enhancement ideas? Try the SAP Idea Place
    Share Your Knowledge in SCN Topic Spaces

  • How to implement avg function in answers or RPD

    hi,
    I need to implement this function in obiee answers or RPD..how can i do that.. please help me
    AVG(SAS.SHIPPED_QTY) OVER (ORDER BY SAS.ACCOUNT_MONTH_NO
    ROWS BETWEEN 12 PRECEDING AND 1 PRECEDING) AVG_QTY_SALES,
    thanks in advance

    Hi,
    I think you are trying to use a sql server window function here. If you are, then you could push this function to the DB itself, using EVALUATE() in OBIEE.
    Hope this helps.
    Thank you,
    Dhar

  • Implementing archive functionality

    Hi all ,
    I want to implement archive functionality.
    I am using appfuse and maven.(spring framework)
    In my aplication when user logs in he is provided with list of records from one table.
    He should be able to archive as many recrds as he want.
    I am not getting how to implement this functionality.
    Code of jsp which shows al records is
    <head>
    <title><fmt:message key="engagementformList.title"/></title>
    <meta name="heading" content="<fmt:message key='engagementformList.heading'/>"/>
    <meta name="menu" content="EngagementformMenu"/>
    </head>
    <c:set var="buttons">
    <input type="button" style="margin-right: 5px"
    onclick="location.href='<c:url value="/engagementformform.html"/>'"
    value="<fmt:message key="button.add"/>"/>
    <input type="button" onclick="location.href='<c:url value="/mainMenu.html"/>'"
    value="<fmt:message key="button.exit"/>"/>
    </c:set>
    <c:out value="${buttons}" escapeXml="false"/>
    <form>
    <display:table name="engagementformList" class="table" requestURI="" id="engagementformList" export="true" pagesize="25">
    <display:column property="id" sortable="true" href="engagementformform.html" media="html"
    paramId="id" paramProperty="id" titleKey="engagementform.id"/>
    <display:column property="id" media="csv excel xml pdf" titleKey="engagementform.id"/>
    <display:column sortProperty="dateLastMod" sortable="true" titleKey="engagementform.dateLastMod">
    <fmt:formatDate value="${engagementformList.dateLastMod}" pattern="dd/MM/yyyy"/>
    </display:column>
    <display:column sortProperty="dateRcvd" sortable="true" titleKey="engagementform.dateRcvd">
    <fmt:formatDate value="${engagementformList.dateRcvd}" pattern="dd/MM/yyyy"/>
    </display:column>
    <display:column property="title" sortable="true" titleKey="engagementform.title"/>
    <display:column property="requestorsName" sortable="true" titleKey="engagementform.requestorsName"/>
    <display:column property="requestorsExtensionNo" sortable="true" titleKey="engagementform.requestorsExtensionNo"/>
         <display:column property="requestorsEmailId" sortable="true" titleKey="engagementform.requestorsEmailId"/>
    <display:column property="LOB" sortable="true" titleKey="engagementform.LOB"/>
    <display:column property="ITSolutionLeadsName" sortable="true" titleKey="engagementform.ITSolutionLeadsName"/>
    <display:column property="ITSolutionLeadsExtensionNo" sortable="true" titleKey="engagementform.ITSolutionLeadsExtensionNo"/>
    <display:column property="ITSolutionLeadsEmailId" sortable="true" titleKey="engagementform.ITSolutionLeadsEmailId"/>
    <display:column property="solve" sortable="true" titleKey="engagementform.solve"/>
    <display:column property="solveNumber" sortable="true" titleKey="engagementform.solveNumber"/>
    <display:column property="typeofRequest" sortable="true" titleKey="engagementform.typeofRequest"/>
    <display:column property="partOfProgram" sortable="true" titleKey="engagementform.partOfProgram"/>
    <display:column property="reasonWorkRequired" sortable="true" titleKey="engagementform.reasonWorkRequired"/>
    <display:column property="descriptionOfWorkRequired" sortable="true" titleKey="engagementform.descriptionOfWorkRequired"/>
    <display:column property="impactIfChangeIsNotMade" sortable="true" titleKey="engagementform.impactIfChangeIsNotMade"/>
    <display:column property="relatedProjectProgramActivity" sortable="true" titleKey="engagementform.relatedProjectProgramActivity"/>
    <display:column property="quantifiedFinancialBenefits" sortable="true" titleKey="engagementform.quantifiedFinancialBenefits"/>
    <display:column property="otherBenefits" sortable="true" titleKey="engagementform.otherBenefits"/>
    <display:column property="funding" sortable="true" titleKey="engagementform.funding"/>
    <display:column property="priority" sortable="true" titleKey="engagementform.priority"/>
    <display:column property="priorityDate" sortable="true" titleKey="engagementform.priorityDate"/>
    <display:column property="timingIssues" sortable="true" titleKey="engagementform.timingIssues"/>
    <display:column property="alternativeSolutions" sortable="true" titleKey="engagementform.alternativeSolutions"/>
    <display:column property="status" sortable="true" titleKey="engagementform.status"/>
    <display:column property="username" sortable="true" titleKey="engagementform.username"/>
    <%-- <display:column property="archived" sortable="true" titleKey="engagementform.archived"/> --%>
    <display:column sortable="true" titleKey="engagementform.archived">
    <input type="checkbox" name="archived" value="${engagementformList.id}" >
    <c:out value="${engagementformList.id}" />
         </display:column>
    <display:setProperty name="paging.banner.item_name" value="engagementform"/>
    <display:setProperty name="paging.banner.items_name" value="engagementforms"/>
    <display:setProperty name="export.excel.filename" value="Engagementform List.xls"/>
    <display:setProperty name="export.csv.filename" value="Engagementform List.csv"/>
    <display:setProperty name="export.pdf.filename" value="Engagementform List.pdf"/>
    </display:table>
    </form>
    <c:out value="${buttons}" escapeXml="false"/>
    I ma not getting how will i collect all the reocrds that are marked for archiving in from this jsp and pass it to controller for archiving.
    Can anybody have an idea about this or implemented this before.
    Thanks in advance.

    yes,but i am notegetting how will i collect all the records for which checkbox has checked im this jsp and how to pass that list of records from jsp to controller. :(

  • How to make this function random chose bits and flip it

    Hi ni and member
    I try to make this vi that do this function 
    I need it to use in academic research
    I have  stream of bits  have length=100bitsmove in serial
    and I want a selector that select between ratio  0.1 0.2 or 0.05 that represent error ratio
    its ratio of bit that much flip (0 to 1) and (1 to 0)
    for exqmple
    for 0.1 ratio 10 bit of stream must randomly chosen and flipped
    for 0.5 ratio  50 bit of stream must randomly chosen and flipped
    any help please
    best regards
    hi ?Q>

    GerdW wrote:
    Hi mangood,
    - use a ring or enum for your selector
    - depending on the selector value create a boolean array containing randomly set bits
    - XOR your boolean array with your stream bit array
    Done...
    thank you with kudos
    i did not understand the stament """use a ring or enum for your selector"""
    can you make a pic for the vi  
    best regards
    hi ?Q>

Maybe you are looking for