Missing parameter when implementing hardcoded-auth

Hello -
I'm trying to extend the hardcoded-auth sample function to pass additional parameters. For instance:
AuthTrans fn=basic-auth usera=fresh auth-type="basic" userfn=hardcoded-auth userdb=unused-testa
The parameter "usera" with value "fresh" should be available in the param pblock. It does not show up in the list of defined name/value pairs when I do a pblock_pblock2str though:
{param        pb block} user="afetterer" pw="afetterer" userdb="unused-testa" fn="hardcoded-auth"
Why isn't this trivial extension working?
Thanks,
Andy

ok - let me rephrase my question.
After reading up on the 6.0 version of NSAPI, it seems that each of the built in function types, e.g. basic-auth has a preset set of parameters that cannot be extended - is that accurate?
However, the example in "Instruct the Server to Call the SAFs" shows what appears to be an user defined parameter:
<Object name="small_anim">
Service fn=do_small_anim speed=40
</Object>
Is this because its defining a new object? Is that all I'd need to add?
Thanks,
Andy

Similar Messages

  • Use of layout when more than one parameter - Error Missing Parameter Values

    Hi,
    Is it possible to use a crystal report which has more than one parameter as the layout for the bill of materials report.
    I have 3 parameters
           1. DocKey@       The Bill of Materials to be printed
           2. Number of levels to be printed
           3. type of levels to print.
    When I try to print it gives me the error Missing Parameter Values.
    I have tried changing the DocKey@ to CodeKey@ but the same error.
    Does anyone now where to find a list of these tokens?
    Thanks
    Chris

    I looked at the crystal report conversion to try to find what parameters it used and found none.
    I have managed to create and use a crystal report to replace the production order using DocKey@ as the parameter.  This works within SAP.  However I have converted the system production order to crystal reports and from the converted report I cannot see any parameters at all.
    How and where can you find out what paramters you need to use to replace any PLD report?  Several reports have multiple selection criteria before the report prints.  How can you find out what their tokens are called?  I am starting to pull my hair out.  I am getting great help from this forum, but do you know any documentation which actually explains this area.
    Thanks
    Chris

  • CrystalReportViewer: "Missing parameter values with implemented error event

    I'm using the CrystalReportViewer in APS.net (C#), and try to display a report in it.
    I've implemented the error event of the viewer to show the user a different error message than the viewer itself does.
             this.CrystalReportViewer.Error += new CrystalDecisions.Web.ErrorEventHandler(CrystalReportViewer_Error);
          protected void CrystalReportViewer_Error(object source, CrystalDecisions.Web.ErrorEventArgs e)
             var msg = "Error in CrystalReportViewer\r\n{0}".FormatInvariant(e.ErrorMessage);
             throw new InvalidOperationException(msg);
    But.... Now if I want to show a report that has parameters in it, the parameter page does not appear before the report itself. How can I make my code work (without removing the implementation of the error event), so the viewer first shows the parameter page, before showing the actual report?

    And in the Page_Load method:
    this.CrystalReportViewer.Error += new CrystalDecisions.Web.ErrorEventHandler(CrystalReportViewer_Error);
    I've done this so i can show my own error page to the user of the website. Otherwise the CRViewer shows his own error, and I do not want the user of the website to see this 'technical' error.
    So i've implemented the CrystalReportViewer.Error method:
    protected void CrystalReportViewer_Error(object source, CrystalDecisions.Web.ErrorEventArgs e)
       // Missing parameter values.
       var discardToShowParameterPrompt = (e.ErrorMessage.ToUpperInvariant() == "Missing parameter values.".ToUpperInvariant())
         || (e.ErrorMessage.ToUpperInvariant() == "Ontbrekende parameterwaarden.".ToUpperInvariant());
       if (discardToShowParameterPrompt)
          _Log.Debug("The parameter screen should be displayed now.");
       else
          var msg = "Error in CrystalReportViewer: {0}".FormatInvariant(e.ErrorMessage);
          throw new InvalidOperationException(msg);
    If I load a report with no params in the report, the page shows immediately the report.
    If I load a report with params in the report, the params page is shown, the user can enter the param values, and after pressing OK, the report is shown.
    If an error occurs (for example the report cannot connect to the database), the viewer does NOT show the error (because i've implemented the _error event) but my code throws an InvalidOperationException, and this is handled by code so the error is logged to a file, and the user gets a user friendly message on the website.
    If i do not implement the _error event, the user will see the technical error in the crystal reports viewer.
    If I comment out the code where I'm looking for the string "Missing parameter values." (or "Ontbrekende parameterwaarden") the parameter page will not be shown, and an error will be thrown by the Crystal Reports viewer.
    If I put e.handled = true in the _error event, and there is an error (for example the database cannot be found), no error will be thrown, and there is nothing to see in the viewer.
    So for now the only way to get the params page is to implement the _error event the way i've done in the above code, checking the error message on a string value.

  • "Missing parameter values." Error when setting record selection formula

    Setup - VS 2008, CR 2008 (v12.0), Win XP & C#.Net
    I have a form which loops through all parameters (non-linked to sub reports, so only off the main report) and allows users to enter the values for each parameter. When hitting the preview button, I loop through all of the saved values, set the parameter field values and then add any additional filters into the recordselection formula as below. The problem i'm having is that the ReportDocument.HasRecords returns true if the ReportDocument.RecordSelectionFormula doesn't filter out every result.
    For example, I have a list of customers and if I set the selection formula to filter out a specific customer, ReportDocument.HasRecors returns true, if I set the selection formula to filter something that doesn't exist i.e. customer "xk39df", the moment this line of code runs "ReportDocument.RecordSelectionFormula = rsFormula;" - ReportDocument.HasRecors returns the following exception as opposed to "False".
    Message: Missing parameter values.
    Source: CrystalDecisions.ReportAppServer.DataSetConversion
    StackTrace:    at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.hasRecords()
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.get_HasRecords()
    ErrorID: MissingParameterFieldCurrentValue
    The strange thing is, it works fine if the recordselectionformula selects a record which exists in the results - all parameters have a current value except for the linked parameters.
    This one has got me stumped!
    foreach (ParameterFieldDefinition parameterField in ReportDocument.DataDefinition.ParameterFields)
                    var query = ReportObjects.Values.Cast<Filters>().Where(objects => objects.ParameterName == parameterField.Name.ToUpper().Trim());
                    foreach (var item in query)
                        parameterField.CurrentValues.Clear();
                        parameterField.CurrentValues.Add(item.ParameterValue);
                        parameterField.ApplyMinMaxValues(item.MinLength, item.MaxLengh);
                        parameterField.ApplyCurrentValues(parameterField.CurrentValues);
                var records = ReportObjects.Values.Cast<Filters>().Where(recordSelection => recordSelection.RecordSelectionFormula.Trim().Length != 0);
                foreach (var item in records)
                    rsFormula += item.RecordSelectionFormula;
                if (rsFormula.EndsWith(" AND "))
                    rsFormula = rsFormula.RTrim(5);
                ReportDocument.RecordSelectionFormula = rsFormula;

    Hi,
    The report has it's own ADO Datasource set in crystal reports, so I just pass the log on information to the report object before doing anything else.
    this.DataSourceConnections[0].SetConnection("ServerName", "Database", "sa", "Password");
    I then do a refresh before applying the parameter values (I do this because the user can preview the report more than one time by using a preview button on the parameter form without re-loading the report object)
    this.Refresh();
    Then I set all parameter values followed by setting the recordselection formula.

  • Missing parameter values message when exporting report

    Post Author: Gr_Pr
    CA Forum: .NET
    Using .NET 2005, CR XI R2, and the Crystal SDK for .NET 2005 to generate reports. Basically CR is my application's reporting tool. So, we create a report in CR XI R2, then distribute that report to our users loading it into the .NET application using the Report Document class.
    We have a small problem.
    Our user's have the ability to use pre-defined 'prompts' that will pass parameters to the reports. Let's say that the prompt will pass in (5) pre-defined parameter values, but the customer wants to run their own 'custom' report using our prompt, but their 'custom' report contains (6) parameters.
    If I let the Report Viewer load the report, the user will be prompted for the missing parameter value that was not supplied by the 'prompt'.
    If I run the report without loading it into the Viewer and try to export the report directly to PDF I receive an error message from CR stating I have 'Missing Parameter Values' then the report errors out.
    Has anyone come across this? Is there something I missed?
    I am not real sure as to why you would be prompted by the Viewer and not by the Export Class. This worked fine when using the RDC component, I was prompted for the missing parameter value by both options.
    Any help would be greatly appreciated.

    Hi,
    The report has it's own ADO Datasource set in crystal reports, so I just pass the log on information to the report object before doing anything else.
    this.DataSourceConnections[0].SetConnection("ServerName", "Database", "sa", "Password");
    I then do a refresh before applying the parameter values (I do this because the user can preview the report more than one time by using a preview button on the parameter form without re-loading the report object)
    this.Refresh();
    Then I set all parameter values followed by setting the recordselection formula.

  • Missing parameter values when trying to export to pdf in C#

    HI all,</BR>
    </BR>
    I'm having a problem passing a parameter from my c#.NET code through Crystal Reports 2008...</BR>
    </BR>
    Crystal Reports Developer version 12.1.0.892</BR>
    using a WinXP machine</BR>
    The parameter I've setted up in Crystal Reports Design is one to dynamically change the query that will run on the report:</BR>
    "SELECT * FROM  REPORTS.{?Protocolname}_FC_QUERY"</BR>
    </BR>
    </BR>
    The code I use calling one of the reports I must provide:</BR>
    </BR>
    using System;</BR>
    using System.Collections.Generic;</BR>
    using CrystalDecisions.CrystalReports.Engine;</BR>
    using CrystalDecisions.Shared;</BR>
    using System.Data;</BR>
    using System.Data.OracleClient;</BR>
    using System.Collections;</BR>
    namespace CrystalReportsRapportjes</BR>
    {</BR>
    class MainClass</BR>
    {</BR>
    public static void Main(string[] args)</BR>
    {</BR>
    Console.WriteLine("Start of program!");</BR>
    string connString = "server=CT_PRD;user id=report;password=report";</BR>
    OracleConnection conn = new OracleConnection(connString);</BR>
    try</BR>
    {</BR>
    conn.Open();</BR>
    Console.WriteLine("Connection opened.");</BR>
    </BR>
    Console.WriteLine("Connection Properties:");</BR>
    Console.WriteLine("\tConnection String: {0}", conn.ConnectionString);</BR>
    Console.WriteLine("\tServerVersion: {0}", conn.ServerVersion);</BR>
    Console.WriteLine("\tState: {0}", conn.State);</BR>
    QL_ExportReport("C:\\Data\\converted2crystal\\PLANNING_REPORT_params.rpt");</BR>
    </BR>
    } catch (OracleException e) {</BR>
    Console.WriteLine("Error: " + e);</BR>
    } finally {</BR>
    conn.Close();</BR>
    Console.WriteLine("Connection closed.");</BR>
    }</BR>
    Console.WriteLine("End of program!");</BR>
    Console.ReadKey();</BR>
    }</BR>
    private static void QL_ExportReport(string reportName)</BR>
    {</BR>
    ReportDocument CR_reportDocument = new ReportDocument();</BR>
    DataSet ds = new DataSet();</BR>
    CR_reportDocument.Load(reportName);</BR>
    CR_reportDocument.SetDatabaseLogon("Reports", "Reports");</BR>
    for(int i=0;i<CR_reportDocument.DataDefinition.ParameterFields.Count; i++)</BR>
    {</BR>
    Console.WriteLine("Reading parameters");</BR>
    Console.WriteLine(CR_reportDocument.DataDefinition.ParameterFields<i>.ParameterFieldName);</BR>
    if(CR_reportDocument.DataDefinition.ParameterFields<i>.ParameterFieldName==
    "Protocolname")</BR>
    Console.WriteLine("Correct parameter found, now assigning value");</BR>
    ParameterValues ThisPV = new ParameterValues();</BR>
    ThisPV.AddValue("TMC999C999");</BR>
    CR_reportDocument.DataDefinition.ParameterFields<i>.CurrentValues.Clear();</BR>
    CR_reportDocument.DataDefinition.ParameterFields<i>.DefaultValues.Clear();</BR>
    </BR>
    CR_reportDocument.DataDefinition.ParameterFields<i>.ApplyCurrentValues(ThisPV) ;</BR>
    //CR_reportDocument.SetParameterValue("Protocolname","TMC999C999");</BR>
    //CR_reportDocument.DataDefinition.ParameterFields<i>.CurrentValues.AddValue(ThisPV);</BR>
    }</BR>
    CR_reportDocument.Refresh();</BR>
    CR_reportDocument.ExportToDisk</BR>(ExportFormatType.PortableDocFormat,"C:\\Data\\converted2crystal\\EDC_PLANNING_RPT_params.pdf");</BR>
    CR_reportDocument.Close();</BR>
    }</BR>
    }</BR>
    }</BR>
    </BR>
    The exceptions he throws using this code is = CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException: </BR>Missing parameter values. ---> System.Runtime.InteropServices.COMException: Missing parameter values.</BR>
    at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException</BR>
    at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream</BR>
    at CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream</BR>
    at CrystalDecisions.CrystalReports.Engine.FormatEngine.Export</BR>
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToDisk</BR>
    at CrystalReportsRapportjes.MainClass.QL_ExportReport in </BR>c:\Data\sharpdevelopfolder\CrystalReportsRapportjes\CrystalReportsRapportjes\Program.cs:line 72</BR>
    at CrystalReportsRapportjes.MainClass.Main in </BR>c:\Data\sharpdevelopfolder\CrystalReportsRapportjes\CrystalReportsRapportjes\Program.cs:line 33</BR>
    </BR>
    When I use the code</BR>
    CR_reportDocument.DataDefinition.ParameterFields<i>.CurrentValues.AddValue(ThisPV);</BR>
    instead of</BR>
    CR_reportDocument.DataDefinition.ParameterFields<i>.ApplyCurrentValues(ThisPV) ;</BR>
    </BR>
    the error I get there is:</BR>
    System.ArgumentException: Value does not fall within the expected range.</BR>
    at CrystalDecisions.Shared.SharedUtils.ConvertToDecimal</BR>
    at CrystalDecisions.Shared.ParameterDiscreteValue.set_Value</BR>
    at CrystalDecisions.Shared.ParameterValues.AddValue</BR>
    at CrystalReportsRapportjes.MainClass.QL_ExportReport in </BR>c:\Data\sharpdevelopfolder\CrystalReportsRapportjes\CrystalReportsRapportjes\Program.cs:line 69</BR>
    at CrystalReportsRapportjes.MainClass.Main in </BR>c:\Data\sharpdevelopfolder\CrystalReportsRapportjes\CrystalReportsRapportjes\Program.cs:line 33
    </BR>
    </BR>
    </BR>
    Can someone please tell me what's the right way passing a parameter to a report?</BR>
    </BR>
    Thanks in advance.</BR>

    You should use the
    ReportDocument.SetParameterValue("ParameterName", "ParamValue");
    >
    Els Cochez wrote:
    > When I use the code</BR>
    > CR_reportDocument.DataDefinition.ParameterFields<i>.CurrentValues.AddValue(ThisPV);</BR>
    > instead of</BR>
    > CR_reportDocument.DataDefinition.ParameterFields<i>.ApplyCurrentValues(ThisPV) ;</BR>
    > </BR>
    > the error I get there is:</BR>
    > System.ArgumentException: Value does not fall within the expected range.</BR>
    > at CrystalDecisions.Shared.SharedUtils.ConvertToDecimal</BR>
    > at CrystalDecisions.Shared.ParameterDiscreteValue.set_Value</BR>
    > at CrystalDecisions.Shared.ParameterValues.AddValue</BR>
    > at CrystalReportsRapportjes.MainClass.QL_ExportReport in </BR>c:\Data\sharpdevelopfolder\CrystalReportsRapportjes\CrystalReportsRapportjes\Program.cs:line 69</BR>
    > at CrystalReportsRapportjes.MainClass.Main in </BR>c:\Data\sharpdevelopfolder\CrystalReportsRapportjes\CrystalReportsRapportjes\Program.cs:line 33</BR>
    > </BR>
    > </BR>
    > Can someone please tell me what's the right way passing a parameter to a report?</BR>
    > </BR>
    Try parsing the parameter value to a decimal value before setting it as parameter value.
    Hope this will help

  • "Missing parameter values " when passing parameter to subreport

    i have a subreport embedded in main report.
    sub report take a procedure with parameter.the main report does nothing but only holds many sub report.now i have to pass parameter from code to sub report.ive used the following code but it gives "missing parameter values" error
    Any help??
       ParameterField paramField = new ParameterField();
            ParameterFields paramFields = new ParameterFields();
            ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
            paramField.Name = "@LabNo";
            paramDiscreteValue.Value = "1034";
            paramFields.Add(paramField);
            ParameterValues paramvalues = new ParameterValues();
           paramvalues.Add(paramDiscreteValue);
            paramField.CurrentValues.Add(paramDiscreteValue);
    rptDocument.ParameterFields[0].CurrentValues = paramvalues;

    does the sub report have parameters in it as well?
    if the sp used for the sub report has parameters you need to pass them to the sub. i would probably remove the parameters from the sub and join the sub to the main by the parameter from the main to the field in the sub.

  • LO 26603 (missing parameter and db logon failed)

    Hi Experts,
    I am getting a known error discussed on the forum many times,this is my first stint with CR_LO-Xcelsius,getting stuck at the Error LO 26603.
    The dashboard is having a tab sets  (3 CR in each tab) and out of three, I am getting u201CParameter Value Missing for oneu201D and u201CDatabase Login Failed for two tabsu201D.
    I have already referred the following threads but none of them is answered..
    error LO 26603 crystal reports - live office - xcelsius
    Error Code: LO 26603
    Xcelsius missing parameter values (LO 26603)
    Database logon failed (LO 26603)
    The Task:
    Get CR into the embedded excel using Live Office. To show charts.
    The Problem:
    Once i preview the Dashboard, data is displayed for the default date.
    The CR Server login is popped upon refresh request (triggers from the dashboard) and providing the correct info (Admin user name and pwd) also the error is thrown Lo 26603.
    The parameters (3 in no.) are common for all the three reports: (All setting done from Prompt settings)
    1.     Date u2013 Data in the charts refreshes when the date is changed (I/P from Calendar in Xcelsius). Cell Binding (Option from Choose Excel Data Range)
    2.     Region u2013 Selected (All) from prompt setting in LO Excel (Choose Value List).
    3.     Products u2013 Selected (All) from prompt setting in LO Excel (Choose Value List).
    I have set the DB logon information for processing the report in CMC and not sure of using SSO to bypass the DB logon prompt.
    Please help, how I can troubleshoot this problem.
    Config.
    Crystal Server XI 3.1 SP2
    Xcelsius 2008 5.3.3.0
    SAP Integration Kit SP2
    Live Office XI 3.1 SP2
    Rgds
    Sam

    Go to CMC
    Go to your CR
    Right-click and select database configuration
    Hardcode logon credentials
    This should solve your issue.
    Regards,
    Rohan

  • Error creating vendor w/ JCo FM VENDOR_INSERT- Missing parameter w/ PERFORM

    Dear all,
    I have followed the following thread and found it very useful as we need to create vendors from an external system in R/3 using the JCo as well. We are doing all the steps specified in previous posts and calling FM VENDOR_INSERT but when I execute the function it returns an exception:
    JCoException: (104) RFC_ERROR_SYSTEM_FAILURE: Missing parameter with PERFORM.
    We have checked and all the needed BAPIs are enabled but we are stuck at this first step. I have tried a variety of things but nothing seems to work. Not sure how I can specify the PERFORM parameter using JCo. Did anyone else fase this issue?
    Here is what some of the relevant Java code looks like:
            JCoFunctionTemplate tmplt1 = repository.getFunctionTemplate("VENDOR_INSERT");
            JCoFunction vfunc = tmplt1.getFunction();       
            JCoParameterList vparams =  vfunc.getImportParameterList();
            JCoStructure jcs= vparams.getStructure("I_LFA1");
            try
                 LocalSupplier s = getSupplier1();
                 jcs.setValue("MANDT", "010");
                 jcs.setValue("NAME1", s.getSupName());
                 jcs.setValue("NAME2", s.getSupName2());
                 jcs.setValue("PSTLZ", s.getSupPostalCode());
                 jcs.setValue("ORT01", s.getSupCity());
                 jcs.setValue("LAND1", s.getIdCountry().getIsocode());
                 jcs.setValue("STRAS", s.getAddress1() +", " + s.getAddress2());
                 jcs.setValue("MCOD1", "test");
                 jcs.setValue("KTOKK", "ZKRE");
                 jcs.setValue("SPRAS", s.getIdmasterSupplier().getIdlanguage().getLocale());
                 jcs.setValue("STCD1", s.getIdmasterSupplier().getTaxId());
                 jcs.setValue("TELF1", s.getTelephone());
                 jcs.setValue("TELFX", s.getFax());
                 execute(vfunc, destination);             
            catch(Exception e)
                System.out.println(e.toString());
                e.printStackTrace();
                return;
          * Method execute will call a function. The Caller of this function has
          * already set all required parameters of the function
         public static void execute(JCoFunction function, JCoDestination dest) {
              try {
                   JCoContext.begin(dest);
                   function.execute(dest);
                   JCoContext.end(dest);
              } catch (JCoException e) {
                   e.printStackTrace();
    Any help from some of view that have succesfully implemented vendor creation using the JCo would be highly appreciated.

    Hi,
    as I just wrote in the previous thread,
    don't use function module VENDOR_INSERT.
    As written before it is an update task FM. And also it do not check any field validity.
    This is the best way to face inconsistencies in the future.
    As you have also noticed, troubles and difficulties will come very soon related to the address management.
    In standard there is NO FM or BAPI to do so.
    The only supported option is via batch-input or idocs. Eventually, LSMW could help
    See [note 384462|https://service.sap.com/sap/support/notes/384462]
    With ECC 2005, a synchronisation class can help a lot. See class VMD_EI_API.
    With ECC 2005 ehp3, you have an eSOA service to create vendor asynchronously. Not all fields are supported.
    In other words, just create a BAPI to transfert your own parameters then either make a batchinput which will call XK01/XK02 in batch, either trigger class VMD_EI_API
    BR
    Alain

  • "Missing parameter values."  --  Export and Print only...

    I have a web application and I am using CrystalReportViewer.  I am passing several parameters to Crystal using: 
    report.SetParameterValue(field.Name, Session[field.Name]);
    I have session variables which will hold parameters needed to pass into the report.  The session variables are populated from controls on my webpage after an onclick event.  This even not only populates session, but also passes parameters to the report with the following code: 
    ReportDocument report = new ReportDocument();
    Session["MapPathName"] = "./Reporting/CaseStudy.rpt";
    report.FileName = Server.MapPath(Session["MapPathName"].ToString());
    ParameterFields fields = new CrystalDecisions.Shared.ParameterFields();
    fields = report.ParameterFields;
    foreach (ParameterField field in fields)
          report.SetParameterValue(field.Name, Session[field.Name]);
    CrystalReportViewer1.ReportSource = report;
    This works great for reporting and is very extensible.  However, when clicking on the "Print" or "Export" buttons on the toolbar I get "Missing parameter values."  I attempted to export manually in code using the .ExportToStream function but I still get the error, "Missing parameter values." 
    I received this error also in Refresh, Search, and Navigate functions.  This was corrected by calling a function that supplies the above code block to these functions.  However, I do not see any events for controlling the Print nor the Export events. 
    QUESTION: How can I print or export a report when passing parameters using CrystalReportViewer?  Thanks in advance!
    P.S. - Crystal Reports XI Release 2
    Edited by: KyleSavant on Jun 18, 2009 5:42 PM

    There are no Export or Print events accessible for the viewer
    Since it sounds like you are creating the reportdocument object in your click event, the settings on this object become out of scope on successive postbacks executed by other events.
    to get around this without major changes, you can place your "report" object in session in this event and retrieve it from session on successive postbacks.  This should solve your problems around navigation, printing and exporting.  What you will need to do is check if the session object exists (usually in page_load or page_initialze) and if so, retrieve it from session and bind it to the viewer's reportsource.  If the session object does not exist, then do nothing (ie you have not clicked your button yet that retrieves the parameter values from session and loads the report).  Also, in your click event you can check if the report session object exists and if so, remove it so that it can be re-created with your new parameter values (ie i'm assuming the only time you want to set parameter values is in this event).
    Dan

  • Xcelsius missing parameter values (LO 26603)

    Hi experts,
    I've created a dashboard against a BW query using Live Office and a Crystal Report as the data source. Live Office and everything under it is using SAP authentication. When I click on the Refresh All Objects button in Live Office, I'm prompted for required parameters and then the data is refreshed successfully. However when I click Preview to generate the swf file, I get a "Cannot access external data.  Missing parameter values (LO 26603)" The Crystal Report's database config has been set to logon as a specific SAP user and refreshes successfully from Infoview.
    Business Objects Edge 3.1 SP3
    Xcelsius 2008 SP3
    SAP Int Kit SP3
    Any suggestions?
    Cheers
    Keith

    Which version of MS Office do you use? Any MS Office Service packs installed?
    Regards,
    Stratos

  • Why do I get Missing Parameter Values error from CrystalReportViewer in VS2005

    Post Author: eseidel
    CA Forum: .NET
    Hi everyone,
    I have spent way to much time trying to figure this problem out and am getting no where now. I was hoping someone with more experience in CR for VS2005(I think v.9) and VS2005 may be able to help.  I have a report with 10 parameters that Im setting in code.  I have another 3 parameters in a subreport(with same names as 3 in main report) that are being pushed in(I hope) through my ApplyParams() method.  I have checked the output of each parameter before and after it is assigned in ApplyParams.  All values are being set....So why do I keep getting an error when I run it for Missing Parameter Values no matter what I do?  The error comes after SetDBLogonForReport(myConnectionInfo).  I have been struggling with this problem for almost 3 days now and have tried numerous approaches.  If I remove the subreport it works ok.  Why is subreport not getting parameters(I think this is where the problem stems from)?  Please any advice would be greatly appreciated.  Thank you. If need be I can e-mail the report but I don't know how much that will help without being able to access the datasources.
    Eric
    Code Snippet
    Private _Parameters As New System.Collections.Specialized.StringDictionary
    Public Property Parameters() As System.Collections.Specialized.StringDictionary
         Get
             Return (_Parameters)
         End Get
         Set(ByVal Value As System.Collections.Specialized.StringDictionary)
            If (Value Is Nothing Or _Parameters Is Nothing) Then Exit Property
            For Each entry As DictionaryEntry In Value
                _Parameters.Add(entry.Key, entry.Value)
            Next
       End Set
    End Property
    Private Sub SetParameters()
        Parameters("kiPerformance") = rptKi.ToString
        Parameters("PreparedBy") = rptPreparedBy
        Parameters("SupplierName") = rptSupplierName
        Parameters("Supplier") = rptSupplier  'Param in subreport too
        Parameters("ApprovedBy") = rptApprovedBy
        Parameters("kiPerformanceGoal") = rptKiThisGoal.ToString
        Parameters("kiForecastGoal") = rptKiForecast.ToString
        Parameters("kiNextGoal") = rptKiNextGoal.ToString
        Parameters("kiBegRange") = rptBegDate.ToString("d") 'Param in subreport too
        Parameters("kiEndRange") = rptEndDate.ToString("d") 'Param in subreport too
    End Sub
    Public Function ApplyParams()
        Me.SuspendLayout()
        Dim rpt As CrystalDecisions.CrystalReports.Engine.ReportDocument = _
        crv.ReportSource
        If (rpt Is Nothing OrElse _Parameters Is Nothing) Then Return False
        Dim crParameterFieldDefinitions As ParameterFieldDefinitions = rpt.DataDefinition.ParameterFields
         If (crParameterFieldDefinitions Is Nothing) Then Return False
         For Each crParameterFieldDefinition As ParameterFieldDefinition In crParameterFieldDefinitions
             If ((Not crParameterFieldDefinition.IsLinked) And _
                 _Parameters.ContainsKey(crParameterFieldDefinition.Name)) Then
                   Dim crParameterValues As ParameterValues = _
                   crParameterFieldDefinition.CurrentValues
                   If Not (crParameterValues Is Nothing) Then
                         Dim crParameterDiscreteValue As New ParameterDiscreteValue
                         crParameterDiscreteValue.Value =  _Parameters.Item(crParameterFieldDefinition.Name)
                         crParameterValues.Add(crParameterDiscreteValue)
                         'Console.WriteLine(crParameterFieldDefinition.Name & ": " & crParameterDiscreteValue.Value)
                        crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
                  End If
              End If
           Next
           crv.ReportSource = rpt
           Me.ResumeLayout()
           Return Nothing
    End Function
    Private Sub ConfigureCrystalReports()
            Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo
            Dim pFields As New ParameterFields()
             Dim pField As New ParameterField()
             Dim disVal As New ParameterDiscreteValue()
             'Connection stuff,sorry I can't show you this part
             'Bind report
            rptCard = New ReportCard
           LoadDataSource()
           rptCard.SetDataSource(dsOcc)
           rptCard.Subreports("FailOcc").SetDataSource(dsOcc)  'Ive tried without this line as well
           rptCard.PrintOptions.PaperSize = PaperSize.Paper11x17
           rptCard.PrintOptions.PaperOrientation = PaperOrientation.Landscape
           crv.ReportSource = rptCard
           'Load parameters for report
           SetParameters()
           crv.RefreshReport()
           SetDBLogonForReport(myConnectionInfo)
    End sub
    Private Sub SetDBLogonForReport(ByVal conn As ConnectionInfo)
             Dim tableLogOnInfos As TableLogOnInfos = crv.LogOnInfo
             For Each myTableLogOnInfo As TableLogOnInfo In tableLogOnInfos
                  myTableLogOnInfo.ConnectionInfo = conn
             Next
    End Sub
    Private Sub crv_Error(ByVal source As Object, ByVal e As CrystalDecisions.Windows.Forms.ExceptionEventArgs) Handles crv.Error
          MsgBox(e.Exception.Message)
          e.Handled = True
    End Sub
    Private Sub crv_ReportRefresh(ByVal source As Object, ByVal e As CrystalDecisions.Windows.Forms.ViewerEventArgs) Handles crv.ReportRefresh
           ApplyParams()
    End Sub

    Post Author: mewdied
    CA Forum: .NET
    By any chance are the parameters in your subreport stored procedure parameters?
    There was a specific fix for stored procedure parameters available from:ftp://ftp1.businessobjects.com/outgoing/CHF/crnet20win32x86_en_chf.zip
    The specific fix is described in the readme under Problem ID # ADAPT00532856

  • ReportDocument.ExportToStream raises "Missing Parameter Values" exception

    Hi,
    I have a web app built using VS 2008 which runs many reports developed in CR 2008. Most of these reports take parameters and many have embedded subreports. Many of the reports can either be viewed directly or e-mailed. For the latter, I use ReportDocument.ExportToStream(ExportFormatType.PortableDocFormat) to export a PDF file which then gets attached to the e-mail.
    One set of reports works fine when viewed directly, but raises a "Missing Parameter Values" exception when I try to generate the PDF.  All the other reports, seemingly similar in most respects, including the number and type of parameters, work fine when calling ExportToStream.
    Here is the really strange part: the exception is spurious. I wrapped the whole thing in a try/catch block to better examine the exception, hoping to find which parameter value is actually missing.  I could not identify the missing parameter value, but once I handled the exception, the report runs fine and converts to PDF.
    Any hints as to what could be causing this problem?  It seems like a really bad hack to solve the problem using a try/catch in this way.
    Thanks.
    Dan

    Thanks for the quick response. Your code was very instructive, but did not help yet.  Here is what I have:
    (This response is too long for a single post, so I will split it and finish in the next post.)
    ReportDocument rptDoc = new ReportDocument();
    rptDoc.Load(strReportSourceFolder + strReportName + ".rpt");
    rptDoc.SetParameterValue("ClientID", lngKeyFieldID);
    rptDoc.SetParameterValue("Role", "Client");
    This is followed by an amazing chunk of code, provided to me by a guy at SAP Tech Support, who said it was necessary to pass database credentials programatically.  It iterates the tables in the ReportDocument and individually sets the LogonInfo. (I say "amazing" because it astounds me you have to jump through such hoops for something that should be routine and easy.)  The commented lines are just to help in debugging.
    ConnectionInfo conn = new ConnectionInfo();
    conn.ServerName = "myServer";
    conn.DatabaseName = "myDB";
    conn.UserID = "myUserID";
    conn.Password = "myPassword";
    Tables tables = rptDoc.Database.Tables;
    foreach (Table table in tables)
      //string str= table.TestConnectivity().ToString());
      TableLogOnInfo tableLogonInfo = table.LogOnInfo;
      tableLogonInfo.ConnectionInfo = conn;
      table.ApplyLogOnInfo(tableLogonInfo);
      //table.Location = table.Location;                        
    This is followed by the viewer stuff:
    CrystalReportViewer1.DisplayGroupTree = false;
    CrystalReportViewer1.DisplayToolbar = true;
    CrystalReportViewer1.HasToggleGroupTreeButton = false;
    CrystalReportViewer1.HasToggleParameterPanelButton = false;
    CrystalReportViewer1.Page.Title = strReportName;
    CrystalReportViewer1.ReportSource = rptDoc;
    Up to here, it works fine, displaying the report.  If the report is also to be e-mailed, the following is executed:
    if (bEmail)
      //  export to PDF, then mail that
      SmtpClient client = new SmtpClient();
      MailAddress from = new MailAddress(ConfigurationManager.AppSettings["ReportMailFrom"].ToString());
      MailMessage message = new MailMessage();
      message.From = from;
      message.SubjectEncoding = System.Text.Encoding.UTF8;
      message.Subject = "E-mail BackOffice report: " + strReportName;
      try
        foreach(ParameterField field in rptDoc.ParameterFields)
          Logger.LogEvent("test", "", field.ToString(), "Trace", null, true, true);
          Logger.LogEvent("test", "", "Name: " + field.Name, "Trace", null, false, false);
          Logger.LogEvent("test", "", "PromptText: " + field.PromptText, "Trace", null, false, false);
          Logger.LogEvent("test", "", "IsOptionalPrompt: " + field.IsOptionalPrompt, "Trace", null, false, false);
        MemoryStream memStream = (MemoryStream)rptDoc.ExportToStream(ExportFormatType.PortableDocFormat);
        Attachment data = new Attachment(memStream, MediaTypeNames.Application.Pdf);
        ContentDisposition disposition = data.ContentDisposition;
        disposition.CreationDate = DateTime.Now;
        disposition.ModificationDate = DateTime.Now;
        disposition.FileName = strReportName + ".pdf";
        disposition.DispositionType = DispositionTypeNames.Attachment;
        message.Attachments.Add(data);
      catch (Exception ex)
        Logger.LogEvent("error", "Page_Load", strReportName + " Exception: " + ex.Message, "Trace", null, true, true);
      //  ...  do the rest of the stuff to create & send the e-mail
    (The rest of this message will be in the following post.  Sorry it is so long.)

  • Error printing Check - "Missing Parameter Values. Error During Printing"

    Dear friends,
    Our client is in SAP B1 8.81 Pl07 and is facing an error while printing checks designed in Crystal Reports. As soon as they click on "Print" button, we are getting an error "Missing Parameter Values. Error During Printing".
    We have checked the Crystal Reports and all the parameters are given.
    Can anyone help me regarding this?
    Thanks and regards,
    Bharath S

    hi,
    Quoted from Note 1555170
    1555170 - Error 'Missing parameter values' printing with CR layout
    Symptom
    When you print on add any stock transactions document, with Crystal report layout, you receive error message:'Missing parameter values' and then 'Error during the printing; ensure all parameters are defined'
    Step by Step scenario:
    1.Go to Administration / System Initialization / Print preferences and select the tab per document.
    2.Select the document stock transfer and tick the box print document when adding document and click on update.
    3.Go to stock management / stock transactions / stock transfer
    set the Crystal report template as default.
    Note:
    - The issue is reproduced also for Goods Receipt and Good Issue.
    - The issue is reporduced with any Crystal Report Template  for the     above documents.
    Cause
    Program error
    Solution
    This issue is candidate for a change in a future release of SAP Business One.
    Workarounds:
    1.Use PLD for printing the stock transactions.
    2.Convert the PLD layout to Crystal reports with Crystal converter.
    3.Print the document after adding it.
    Other terms
    sap business one, printing issues, good issue, good receipt, stock transfer, crystal report, print preferences, print when adding, dockey, missing parameter
    Header Data
    Released on     07.02.2011 13:27:30
    Release status     Released for Customer
    Component     SBO-REP-CR Crystal Reports 2008 for SAP Business One
    Other Components     
    SBO-GEN-PRT Printing Issues
    Priority     Correction with low priority
    Category     Program error
    Validity
    Software Component
    Version
    SAP BUSINESS ONE
    8.8
    8.81
    you can download the PLD to Crystal Converter [here|http://www.sdn.sap.com/irj/scn/downloads?rid=/library/uuid/108305a7-1555-2d10-8289-9a178d441c71]
    regards,
    Fidel

  • CRVS2010 Beta - Missing parameter values

    I want to export my report to pdf file and I want to set some parameters in report in runtime.
    But when I try to do it I have exception "Missing parameter values".
    Productversion: Visual Studio 2010 + Crystal Report 2008 + service pack v3.
    I read that problem was resolved in service pack v2.
    But now I don't have any idea how to fix my problem.
    I create report and add parameters ("MyParameter") as string.
    My test project:
    //Load report
    //Set db connection
    try
                            ParameterValues crParameterValues = report.DataDefinition.ParameterFields["MyParameter"].CurrentValues;
                   ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue {Value = "SBSUrl"};
                   crParameterValues.Clear();
                   crParameterValues.Add(crParameterDiscreteValue);
                   report.DataDefinition.ParameterFields["MyParameter"].ApplyCurrentValues(crParameterValues);
                   report.VerifyDatabase();
                   report.Refresh();
                      string reportFileName = string.Format(@"D:\CrystalReport\CRResult-{0}.pdf", DateTime.Now.Ticks);
                      ExportOptions rptExportOption;
                      var rptFileDestOption = new DiskFileDestinationOptions();
                      var rptFormatOption = new PdfRtfWordFormatOptions();
                      rptFileDestOption.DiskFileName = reportFileName;
                      rptExportOption = report.ExportOptions;
                           rptExportOption.ExportDestinationType = ExportDestinationType.DiskFile;
                           rptExportOption.ExportFormatType = ExportFormatType.PortableDocFormat;
                           rptExportOption.ExportDestinationOptions = rptFileDestOption;
                           rptExportOption.ExportFormatOptions = rptFormatOption;
                      report.Export(); //  I have exception here ("Missing parameter values.")
                 catch (Exception e)
                      Console.WriteLine(e);
              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["MyParameter"];
                   parameterFieldDefinition.CurrentValues.IsNoValue = true;
                   parameterFieldDefinition.ApplyCurrentValues(currentParameterValues);
    Could anybody help me with this exception?

    Make sure you log on to the database, set the parameter, then export.
    See the following KBases:
    [1244475 - Error: Missing parameter value when exporting a Crystal Report with optional parameters using the CR .NET SDK|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do]
    [1215426 - Err Msg: Missing parameter value when printing or exporting in VS .NET|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do]
    [1215536 - Err Msg: Missing parameter field current value when exporting/printing in .NET|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do]
    [1216546 - Err Msg: Missing Parameter Field Current Value when viewing a report in VS.NET|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do]
    Also, see the following forum thread for possible solutions:
    Passing Parameters CR 2008 VS 2008 ASP.net
    Ludek

Maybe you are looking for