SAP Crystal reports formula fields

hi,
    how to use formula fields in crystal report.
                     thanks & regards,vinoth

Hi Vinoth,
That's a very vague question.
You can create formulae via the Field Explorer > Formula option.
After you save and close the formula editor, you need to drag and drop the formula on the report for it to execute.
If you need help with a formula, please post the requirement.
-Abhilash

Similar Messages

  • Crystal Report Formula field function  on OLAP SAP BI/BW Cube

    Dear All
    We create OLAP Cube Report in  Crystal Report 2008 (BO)  base  SAP ( DB2)  BI/BW  Cube, Grid report coming correctly.  Crystal Report Formula Field  functionalities are not avilabel or suporting.  If any one explain or some kind of documentation available pl.  help me.
    Thanks,   in advance.
    Alfred.M

    Hi,
    you are using the OLAP Grid which will only have limited functionality. You can use the BW MDX Driver and then connect to a BEx query and you will have the complete functionality in CR
    Ingo

  • Need SAP Crystal Report formula for Blance Quantity

    Hi,
         i really need a formula for SAP Crytal report my requirement is
        i have group 2 Groups  one on sale order and another one on Invoice
       Example:
            ================================================================
              Order No:100001 
             Order Quantity:1000
          =================================================================
          Detail Area invoice group
          INV#        INVQty   CreditNoQty        Balance
         10002       100               0                       900
         10003        500             100                    500   
           i need formula for balance quantity . the balance quantity subtract from order quantity and plus with credit note quantity.

    Try this:
    1) Modify the code above to:
    Whileprintingrecords;
    Numbervar x := x +1;
    If x = 1 then
    Numbervar t := ({Order qty} - Invqty) + {Credit};
    Else
    t := ({Order qty} - t) + {credit}
    2) Create a reset formula and place this on the group header 1:
    Whileprintingrecords;
    Numbervar x := 0;
    Numbervar t := 0;
    -Abhilash

  • SAP Crystal Report - Formula in Cross Tab Report

    I have a below requirement in a cross tab report,
    Category          Name          Valu1          Value2    %ge
    A                       Car               40                  50        80
    A                        Bike             30                  60        50
    Total                                       70               110     63.6
    %ge is a formula field and is calculated as value1/value2 * 100
    Consider the Total section as a group footer.
    In the cross tab report how do I put the formula field for %ge in Total section.

    Vishujain
    Crosstabs are very structured and you are limited in what you can do with them. You can do a percentage summary in Crosstabs, but only as a percentage of the row total or the percentage of the column total. You cannot put a formula in the crosstab to do a percentage of a values in seperate rows. Any time I need to perform a function not available in a crosstab, I do a manual cross tab. Look at: [Manual Crosstab Explaination|Re: Formulas : Help for coding]
    Debi
    Edited by: Debi Herbert on Nov 3, 2011 11:51 AM

  • How to use the distinct key in formula field in SAP Crystal Reports

    I want to use the distinct key in formula field in SAP Crystal reports.
    When i'm using it shows an error.
    Please suggest me....

    Hi,
    Use DistinctCount keyword directly for your calculation instead of count(distinct(....
    Alternatively, if you want to avoid duplicate records, under "File" > "Report Options" make the 'Select Distinct Records' as True.
    Thanks,
    Raghavendra

  • Hiding a data field in SAP Crystal Reports 2011

    Hello,
    I am new to SAP Crystal Reports 2011 (Crystal Reports).
    Does any one know how to hide a Special Field in a Crystal Report?
    Specifically, I am trying to hide the Special Field, 'Record Number'  from displaying on my report.
    I need the Special Field, 'Record Number' to know how many records was printed on my report
    in order to limit the amount of records printed while I am testing this new report.
    Thanks for the help!
    Tony

    Hi Tony,
    Yes to hide specific field, follow abhilash suggestion..
    1. Limit the number of records displayed on your report like that:
    section expert -> particular your report section -> click on suppress -> write below formula
    RecordNumber > Limited number of records count..
    2. limit the number of records  per page on your report follow below link:
    How to limit the no of records per page in crystal reports 2008
    Thanks,
    DJ

  • Crystal Report formula with datediff not working as expected

    We need a Crystal Report formula to display the number of seconds the oldest arriving call has been waiting.  Across multiple resources that can each have an "oldest call".  The database stores a datetime value for the time the oldest call arrived.  If there are no waiting calls, then this field is NULL.  (MSSQL database).  It seemed reasonable to implement this in a formula that 1) discovers the minimum of "oldest call" timestamps in the selected records, and 2) to use "datediff" to produce the difference (in seconds) between the "oldest call" timestamp and current time.
    The first attempt at this relied on "implied" iteration that could be done within a formula.  Something like:
    data: OLDESTARRIVALTIME
           null
           '2014-06-14 08:08:08.000'
           null
          '2014-06-14 08:07:55.000'
           null
    whilereadingrecords;
    datetimevar minArrival;
    if isNull({SVCCLASSMEASURES_VW.OLDESTARRIVALTIME}) = False
                   and minArrival < {SVCCLASSMEASURES_VW.OLDESTARRIVALTIME} then
         minArrival := {SVCCLASSMEASURES_VW.OLDESTARRIVALTIME};
    DateDiff("s", minArrival, {SVCCLASSMEASURES_VW.UTCDATE})
    We tried storing the values of OLDESTARRIVALTIME in an array.  We could see it iterating, but the values in the array only contained
    the column value from the first record.
    This was to solve the problem of screening null values and producing the minimum of the set.
    Since that didn't work (and the web articles seemed to imply this would iterate over all the records, we tried another approach.  This
    time we set NULL timestamps in the table to a timestamp far in the future, so that we could directly apply "minimum" to produce
    the correct "begin" for datediff.
    data: OLDESTARRIVALTIME
              '2030-01-01 00:00:00.000'
              '2014-06-14 08:08:08.000'
              '2030-01-01 00:00:00.000'
              '2014-06-14 08:07:55.000'
              '2030-01-01 00:00:00.000'
    datetimevar minArrival = minimum({SVCCLASSMEASURES_VW.OLDESTARRIVALTIME});
    datetimevar minUTC = minimum({SVCCLASSMEASURES_VW.UTCDATE});
    if minArrival < minUTC then
         DateDiff("s", minArrival, minUTC)
    else
         0
    (minUTC would be current time in UTC)
    So, to start things off, the last formula produces negative numbers!  They hover in negative seconds within a negative minute (-33, -45, etc.).
    That's inconceivable, considering the test for minArrival < minUTC.  Both of the fields are "datetime".
    As it turns out, in the near term, it's most important to get the second formula working.  And, of course, insights into getting the first
    formula to work are welcome as well!
    Have we run into some weird behavior of the "DateDiff" function?
    Thanks!

    If DateDiff is always returning a negative number you could try swapping the dates around in the call to DateDiff - it should look like this:
         DateDiff("s", minUTC, minArrival)    
    Or you could use the Absolute Value of the calculation:
         Abs(DateDiff("s", minUTC, minArrival) )
    As for your first formula, you need to initialize the variable to a value prior to using it in the comparison.  If you don't, its value is null and comparing it against a value won't work.  (See What is Null and Why is it Important for Crystal Reports | SAP BI BLOG for a blog that I wrote about working with nulls in Crystal.)
    You should change your existing formula to something like this:
    whilereadingrecords;
    datetimevar minArrival;
    if OnFirstRecord then minArrival := DateTime(2013, 1, 1, 0, 0, 0);
    if not isNull({SVCCLASSMEASURES_VW.OLDESTARRIVALTIME})
                   and minArrival > {SVCCLASSMEASURES_VW.OLDESTARRIVALTIME} then
         minArrival := {SVCCLASSMEASURES_VW.OLDESTARRIVALTIME};
    Note how I changed the If statement.  Also, you want to replace minArrival with the field value if the field is less than the current value of minArrival - so you need to use ">" instead of "<" in the comparison.  Place this formula in the details section.  It will now show anything because of the semi-colon on the end.  This will ensure that it gets evaluated for every record.
    Now, create a second formula that looks like this:
    whileReadingRecords;
    datetimevar minArrival;
    DateDiff("s", minArrival, {SVCCLASSMEASURES_VW.UTCDATE})
    Place this formula in a footer section - it will not work in a header section.  If you need it in a header section you might be able to take the "whilereadingrecords" off of both formulas and use the "Maximum()" summary function to get the correct value.
    -Dell

  • Good day sir. Im newbie in using SAP Crystal Report. I hope you can help me with my problem

    PROBLEM EXPLANATION
    Pretend that the attached excel file is a crystal report file
    Column A is the details to be compared. Column B is the details that i will have to use a formula in sap crystal report.
    as you can see cell B3 is same with the value in cell A2, B4 with A3, B5 with A4, B6 with A5 and so on.
    How can i get the previous data of column A and put it in column B using formula in crystal report? either basic or crystal syntax
    My Column
    Colmun with formula
    7000
    0
    7689
    7000
    9457
    7689
    8472
    9457
    2364
    8472
    12395
    2364
    18273
    12395
    84723
    18273
    57483
    84723
    493837
    57483
    2823747234
    493837
    226374
    2823747234
    7646363
    226374
    85826263
    7646363
    75756236324
    85826263
    1239534
    75756236324
    Message was edited by: Ludek Uher

    Hi,
    Use the 'previous()' function.
    Example:
    Previous({Column A})
    -Abhilash

  • SAP Crystal Reports 2011/2013 doesn't show Company Data Base

    I have CR versions 2011 and 2013 in several clients, and I can't connect to SAP B1 through the integration component. The behavior is that when I fill all the fields, I can't see the Company DataBases; if I type it manually and click "finish" I get the "conexion failed" error. With version 2011 it was working and then stoped working just like that. With 2013 has never worked. I've read in several forums that this error is recognized by SAP since early 2008 versions, but only talk about future "fixes". I've checked if any fix for 2013 is available but no lucky, it seems that fixes is a mess with CR.
    See screenshot. Any ideas how to fix this? is this really a bug?
    I have SAP 9 PL 9.
    UPDATE: My SAP Partner Support has told me this error is caused by the version of SQL I have (which is 2012) and that SAP will release a patch to correct this soon, is this correct?

    Hi,
    Please check SAP note:
    1966132 - SAP Business One 9.0 PL09 (SQL & HANA) supports SAP Crystal Reports 2013, version for the SAP Business One application
    Thanks & Regards,
    Nagarajan

  • Database Connector Error when I connect SAP Crystal Report to dbase

    When I connect SAP Crystal Report to dbase the error is "Database Connector Error", only when exist a field the type memo. I need to used this type of field, somebody that known how can I resolve this problem or some idea?
    Thanks a lot for your help.

    Hi,
    there are sevaral SAP Notes for your problem. Can you specify the databaseof the source?
    i.e. MS SQL Server -> Note 1212769
          dbase -> Note 1209347
    regards
    -Phil

  • SAP Crystal Reports data source connection problem using sap business one

    Hi,
    I m facing a problem regarding: SAP Crystal Reports data source connection problem using sap business one
    I am trying to create a Crystal report but when I try to configure a new connection it does not work.
    I select Sap Business One data source and try to complete the information required to connection but it does not list my companies databases, what is the problem?
    Our Current SAP related software details are as follows:
    OS: Windows Server 2008
    SAP B1 Version: SAP B1 9 (902001) Patch 9
    SAP Crystal Report Version: 14.0.4.738 RTM
    Database: MS SQL Server 2008 R2
    I have also added some screenshots of the issues.
    Please have a look and let me know if you have any questions or any further clarifications.
    I m eagerly waiting for a quick and positive reply.

    Hi,
    There is problem with SAP Business One date source.
    I had faced same problem, I used OLEDB Data-source, and it worked fine for me.
    So, try to use OLEDB.
    Regards,
    Amrut Sabnis.

  • SAP Crystal Report using SQL Server Authentication and Windows Authenticati

    I'm a SAP Crystal Report, version for Visual Studio 2010 Beginner
    my ingredients are
    1.windows 7 ultimate service pack1
    2.sql server 2008 standard edition
    3.visual studio 2010 pro
    4.SAP Crystal Report, version for visual studio.net
    I was created a report named customersByCity.rpt using OLE DB (ADO) -> Microsoft OLE DB Provider for SQL Server -> I'm supply Server, User ID, Password and Database. I assume me using SQL Server Authentication for my report
    Then, my ASP.NET files as following
    //ASP.NET
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="viewCustomersByCity.aspx.cs" Inherits="viewCustomersByCity" %>
    <%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
        Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div><asp:Label ID="lblMsg" runat="server" BackColor="Yellow" ForeColor="Black"></asp:Label>
     <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true"></CR:CrystalReportViewer>
        </div>
        </form>
    </body>
    </html>
    //code-behind
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Collections;
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared;
    public partial class viewCustomersByCity : System.Web.UI.Page
        private const string PARAMETER_FIELD_NAME = "city";   
        private ReportDocument customersByCityReport;
        private void ConfigureCrystalReports()
            ConnectionInfo connectionInfo = new ConnectionInfo();
            connectionInfo.ServerName = @"WKM1925-PCWKM1925";
            connectionInfo.DatabaseName = "Northwind";
            connectionInfo.UserID = "sa";
            connectionInfo.Password = "sysadmin25";
            SetDBLogonForReport(connectionInfo);
        private void SetDBLogonForReport(ConnectionInfo connectionInfo)
            TableLogOnInfos tableLogOnInfos = CrystalReportViewer1.LogOnInfo;
            foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
                tableLogOnInfo.ConnectionInfo = connectionInfo;
        private void SetCurrentValuesForParameterField(ReportDocument reportDocument, ArrayList arrayList)
            ParameterValues currentParameterValues = new ParameterValues();
            foreach (object submittedValue in arrayList)
                ParameterDiscreteValue parameterDiscreteValue = new ParameterDiscreteValue();
                parameterDiscreteValue.Value = submittedValue.ToString();
                currentParameterValues.Add(parameterDiscreteValue);
            ParameterFieldDefinitions parameterFieldDefinitions = reportDocument.DataDefinition.ParameterFields;
            ParameterFieldDefinition parameterFieldDefinition = parameterFieldDefinitions[PARAMETER_FIELD_NAME];
            parameterFieldDefinition.ApplyCurrentValues(currentParameterValues);
        protected void Page_Load(object sender, EventArgs e)
            customersByCityReport = new ReportDocument();
            string reportPath = Server.MapPath("customersByCity.rpt");
            customersByCityReport.Load(reportPath);
            ConfigureCrystalReports();
            ArrayList arrayList = new ArrayList();
            arrayList.Add("paris");
            arrayList.Add("Madrid");
            arrayList.Add("Marseille");
            arrayList.Add("Buenos Aires");
            arrayList.Add("Sao Paulo");
            ParameterFields parameterFields = CrystalReportViewer1.ParameterFieldInfo;
            SetCurrentValuesForParameterField(customersByCityReport, arrayList);
            CrystalReportViewer1.ReportSource = customersByCityReport;
    1st scenario
    When in a runtime, it's keep appear a dialog box. This dialog box ask me to suppy Server, User ID, Password and Database. Once all information is supplied, my report display the data as expected
    2nd scenario
    I change my report using OLE DB (ADO) -> Microsoft OLE DB Provider for SQL Server -> checked on Integrated Security. I just choose Server, and Database. I assume me using Windows Authentication
    When in a runtime, there's no dialog box as above. My report display the data as expected. really cool
    Look's like, when report using SQL Server Authentication there's some problem. but, when report using Windows Authentication, it's fine.
    I'm looking for comment. Please help me

    Hello,
    MS SQL Server 2008 requires you to install the MS Client Tools for 2008.
    Once install then update all of your reports to use the SQL Native 10 as the OLE DB driver.
    The try again, if it still fails search, lots of sample log on code in this forum.
    Don

  • Error when print out SAP Crystal Report in SAP B1

    Dear all,
    I have encountered the following message when I tried to print out SAP Crystal Report at client pc:
    Could not load file or assembly 'CrystalDecision.Windows.Forms, Version = 12.0.2000.0, Culture=neutral, Publickey Token=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
    On the other hand, there's no error when I print out the SAP Crystal Report on server.
    Can anyone advice on the error message as above?
    Thanks alot.

    Hi All,
    I have SAP 2007 B,Visual Studio 2008 and Crystal report 2008 Add-on.  I am facing the same problem,
    "Could not load file or assembly 'CrystalDecision.Windows.form,Version=12.0.2000.0, Culture=neutral,Publickey Token =692fbea5521e1304' or one of its dependencies. The system can not find the file specified."
    I have uninstalled SAP B1 and Crystal report 2008. Still I am getting the same Error message. Kindly give me your suggestions.
    Regards,
    Tom.

  • Sap crystal report for visual studio print error

    vs.net 2012 crystal report paper size 8.5in x 5.5in orientation portrait will not print properly. Always it prints landscape

    Don't define the paper size in the CR designer. Define it in the printer driver. Also, make sure you are using SP 10:
    SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • How to run a crystal report in SAP Crystal Reports 2011

    I've installed SAP Crystal Reports 2011. I can't figure out how to run a crystal. What replaces the lightning bolt used in previous versions of crystal? I'm I missing something?

    Hi Tim,
    You may:
    1) Press F5
    2) Go to Report > Refresh Report (Notice the icon beside the label)
    3) Go to View > Print Preview
    4) Or, click the refresh button on the toolbar
    5) The icon on Point#2 is also available on the toolbar
    -Abhilash

Maybe you are looking for