FI / U102 problem: Missing parameter - Dump
Hi,
I have created own code within U102, program RGGBS00, and activated it.
When I run it, e.g. from FB01, I get a dump, with note 'PERFORM_PARAMETER_MISSING'.
When I go through the dump, I see that when the FORM u102 is called from the SAP program, the necessary BOOL_DATA is not provided as a using parameter.
Is this an error or problem in the SAP part?
Regards Johann
Hi,
check definition of form u102
exits-name = 'U102'.
exits-param = c_exit_param_field. " replace by c_exit_param_none (without parameters)
exits-title = text-102.
APPEND exits.
Similar Messages
-
"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 PMThere 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 -
Problem passing parameter to crystal report subreport from *.aspx page
Background:
I am developing a .NET web application using Visual Studio 2005. The code behind is in VB.net. One of my asp.net pages calls a report, which is invoked when the user clicks a Print button. I have developed this report using the Crystal Reports software that is bundled with Visual Studio 2005. I am passing one parameter from the asp.net page (utilizing the VB.net code-behind on the Print button) to the Crystal report. The report consists of a main report and 5 subreports. Both the main report and the subreports use the same parameter. Both the main report and the subreports are bound to stored procedures, each of which require a parameter.
Problem:
For some reason, the parameter is not being passed from the asp.net page to the report. I am receiving the following error: "CrystalDecisions.CrystalReports.Engine.ParameterField.CurrentValueException: Missing Parameter Values." However, when I remove the subreports, the parameter gets passed, and the report is invoked with no problem.
I have read in other forums that there may be an issue with the Crystal Reports software that is causing this problem. I have downloaded and run the suggested hotfix, but the problem remains unresolved. I have tried changing the linking of my main report to the subreport, but that doesn't help either. It is possible that I am doing something wrong with the linking, as this is the first time I have developed a report with Crystal Reports. I need a workaround or definitive solution. Below is the aspx code used to call the report:
Imports System
Imports System.Collections.Specialized
Imports System.Collections.ObjectModel
Imports System.Collections
Imports System.Text
Imports System.Configuration
Imports System.Data.SqlClient
Imports System.Data
Imports System.Data.SqlClient.SqlDataAdapter
Imports System.Web.Configuration
Imports Crystaldecisions.crystalreports.engine
Imports Crystaldecisions.reportsource
Imports Crystaldecisions.shared
Partial Class OACIS_Award_or_Deny_BudgetSummary_PrintRpt
Inherits System.Web.UI.Page
Dim paramFields As ParameterFieldDefinitions
Dim paramField As ParameterFieldDefinition
Dim paramValue As ParameterValues
Dim paramDiscreteValue As New ParameterDiscreteValue
Public Shared idCase, nameRpt As String
Private PrintRpt As ReportDocument
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
idCase = Request.QueryString("id")
nameRpt = Request.QueryString("prtName")
Dim config As Configuration = WebConfigurationManager.OpenWebConfiguration("~/")
Dim settings As AppSettingsSection = DirectCast(config.GetSection("appSettings"), AppSettingsSection)
Dim file As String = settings.File
Dim dSource, iCatalog, userIs, passUser, appString As String
dSource = Nothing
iCatalog = Nothing
userIs = Nothing
passUser = Nothing
appString = config.ConnectionStrings.ConnectionStrings("OacisConn").ToString()
Dim AppArray() As String = Split(appString, ";")
Dim arrayLgth As Integer = AppArray.Length
Dim i As Integer
For i = 0 To arrayLgth - 1
Dim pairIs() As String = Split(AppArray(i), "=")
Dim firstItem As String = pairIs(0)
Dim secondItem As String = pairIs(1)
If firstItem = "Data Source" Then : dSource = secondItem : End If
If firstItem = "Initial Catalog" Then : iCatalog = secondItem : End If
If firstItem = "UID" Then : userIs = secondItem : End If
If firstItem = "PWD" Then : passUser = secondItem : End If
Next
Dim crReportDocument As ReportDocument
Dim crExportOptions As ExportOptions
Dim crDiskFileDestinationOptions As DiskFileDestinationOptions
Dim crconnectioninfo As ConnectionInfo
Dim crDatabase As Database
Dim crtables As Tables
Dim crtable As Table
Dim crtablelogoninfo As TableLogOnInfo
Dim Fname As String
Dim Prtname As String
Dim FPath As String
Dim crSection As Section
Dim crReportObject As ReportObject
Dim crSubreportObject As SubreportObject
Dim subRepDoc As New ReportDocument
FPath = Server.MapPath("") + "\"
Dim rptIs As String = nameRpt
crReportDocument = New ReportDocument
Prtname = FPath
Prtname = Prtname + rptIs
crReportDocument.Load(Prtname)
Fname = "C:\WINDOWS\TEMP\" & Session.SessionID.ToString & ".pdf"
crconnectioninfo = New ConnectionInfo
crconnectioninfo.ServerName = dSource
crconnectioninfo.DatabaseName = iCatalog
crconnectioninfo.UserID = userIs
crconnectioninfo.Password = passUser
crDatabase = crReportDocument.Database
crtables = crDatabase.Tables
For Each crtable In crtables
Try
crtablelogoninfo = crtable.LogOnInfo
crtablelogoninfo.ConnectionInfo = crconnectioninfo
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.SetDataSource(Prtname)
crtablelogoninfo.ConnectionInfo.DatabaseName = iCatalog
crtablelogoninfo.ConnectionInfo.UserID = userIs
crtablelogoninfo.ConnectionInfo.Password = passUser
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.Location = iCatalog + ".dbo." + crtable.Name
Catch ex As Exception
Response.Write(ex)
Exit Sub
End Try
Next crtable
For Each crSection In crReportDocument.ReportDefinition.Sections
For Each crReportObject In crSection.ReportObjects
If crReportObject.Kind = ReportObjectKind.SubreportObject Then
crSubreportObject = CType(crReportObject, SubreportObject)
subRepDoc = crSubreportObject.OpenSubreport(crSubreportObject.SubreportName)
For Each crtable In subRepDoc.Database.Tables
Try
crtablelogoninfo = crtable.LogOnInfo
crtablelogoninfo.ConnectionInfo = crconnectioninfo
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.SetDataSource(Prtname)
crtablelogoninfo.ConnectionInfo.DatabaseName = iCatalog
crtablelogoninfo.ConnectionInfo.UserID = userIs
crtablelogoninfo.ConnectionInfo.Password = passUser
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.Location = iCatalog + ".dbo." + crtable.Name
Catch ex As Exception
End Try
Next
End If
Next
Next
crDiskFileDestinationOptions = New DiskFileDestinationOptions()
crDiskFileDestinationOptions.DiskFileName = Fname
crExportOptions = crReportDocument.ExportOptions
With crExportOptions
.DestinationOptions = crDiskFileDestinationOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
End With
Dim parIDCase As ParameterValues = New ParameterValues
Dim disIDCase As ParameterDiscreteValue = New ParameterDiscreteValue
disIDCase.Value = idCase
parIDCase.Add(disIDCase)
crReportDocument.DataDefinition.ParameterFields("@ID_CASE_NMBR").ApplyCurrentValues(parIDCase)
crReportDocument.Export()
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.WriteFile(Fname)
Response.Flush()
Response.Close()
System.IO.File.Delete(Fname)
Catch ex As Exception
lblMessage.Visible = True
lblMessage.Text = "Error Load
" & Convert.ToString(ex)
End Try
End Sub
End Class
Your help is greatly appreciated!Thanks for your help!
I've now gotten past the "missing parameter values" error, and the report renders fine in the report viewer. However, I've encounted another problem. The data in my main report displays correctly, but the data in my subreport does not display. Of course, when I view the report in the designer, both the main report and subreport display correctly. What am I doing wrong? Below is my vb.net code:
Try
idCase = Request.QueryString("id")
nameRpt = Request.QueryString("prtName")
Dim config As Configuration = WebConfigurationManager.OpenWebConfiguration("~/")
Dim settings As AppSettingsSection = DirectCast(config.GetSection("appSettings"), AppSettingsSection)
Dim file As String = settings.File
Dim dSource, iCatalog, userIs, passUser, appString As String
dSource = Nothing
iCatalog = Nothing
userIs = Nothing
passUser = Nothing
appString = config.ConnectionStrings.ConnectionStrings("OacisConn").ToString()
Dim AppArray() As String = Split(appString, ";")
Dim arrayLgth As Integer = AppArray.Length
Dim i As Integer
For i = 0 To arrayLgth - 1
Dim pairIs() As String = Split(AppArray(i), "=")
Dim firstItem As String = pairIs(0)
Dim secondItem As String = pairIs(1)
If firstItem = "Data Source" Then : dSource = secondItem : End If
If firstItem = "Initial Catalog" Then : iCatalog = secondItem : End If
If firstItem = "UID" Then : userIs = secondItem : End If
If firstItem = "PWD" Then : passUser = secondItem : End If
Next
Dim crReportDocument As ReportDocument
Dim crExportOptions As ExportOptions
Dim crDiskFileDestinationOptions As DiskFileDestinationOptions
Dim crconnectioninfo As ConnectionInfo
Dim crDatabase As Database
Dim crtables As Tables
Dim crtable As Table
Dim crtablelogoninfo As TableLogOnInfo
Dim Fname As String
Dim Prtname As String
Dim FPath As String
Dim crSection As Section
Dim crReportObject As ReportObject
Dim crSubreportObject As SubreportObject
Dim subRepDoc As New ReportDocument
FPath = Server.MapPath("") + "\"
Dim rptIs As String = nameRpt
crReportDocument = New ReportDocument
Prtname = FPath
Prtname = Prtname + rptIs
crReportDocument.Load(Prtname)
Fname = "C:\WINDOWS\TEMP\" & Session.SessionID.ToString & ".pdf"
crconnectioninfo = New ConnectionInfo
crconnectioninfo.ServerName = dSource
crconnectioninfo.DatabaseName = iCatalog
crconnectioninfo.UserID = userIs
crconnectioninfo.Password = passUser
crDatabase = crReportDocument.Database
crtables = crDatabase.Tables
For Each crtable In crtables
Try
crtablelogoninfo = crtable.LogOnInfo
crtablelogoninfo.ConnectionInfo = crconnectioninfo
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.SetDataSource(Prtname)
crtablelogoninfo.ConnectionInfo.DatabaseName = iCatalog
crtablelogoninfo.ConnectionInfo.UserID = userIs
crtablelogoninfo.ConnectionInfo.Password = passUser
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.Location = iCatalog + ".dbo." + crtable.Name
Catch ex As Exception
Response.Write(ex)
Exit Sub
End Try
Next crtable
For Each crSection In crReportDocument.ReportDefinition.Sections
For Each crReportObject In crSection.ReportObjects
If crReportObject.Kind = ReportObjectKind.SubreportObject Then
crSubreportObject = CType(crReportObject, SubreportObject)
subRepDoc = crSubreportObject.OpenSubreport(crSubreportObject.SubreportName)
For Each crtable In subRepDoc.Database.Tables
Try
crtablelogoninfo = crtable.LogOnInfo
crtablelogoninfo.ConnectionInfo = crconnectioninfo
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.SetDataSource(Prtname)
crtablelogoninfo.ConnectionInfo.DatabaseName = iCatalog
crtablelogoninfo.ConnectionInfo.UserID = userIs
crtablelogoninfo.ConnectionInfo.Password = passUser
crtable.ApplyLogOnInfo(crtablelogoninfo)
crtable.Location = iCatalog + ".dbo." + crtable.Name
Catch ex As Exception
End Try
Next
End If
Next
Next
crDiskFileDestinationOptions = New DiskFileDestinationOptions()
crDiskFileDestinationOptions.DiskFileName = Fname
crExportOptions = crReportDocument.ExportOptions
With crExportOptions
.DestinationOptions = crDiskFileDestinationOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
End With
crReportDocument.SetParameterValue("@ID_CASE_NMBR", idCase)
crReportDocument.SetParameterValue("@ID_CASE_NMBR", idCase, "MemberName")
crReportDocument.Export()
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.WriteFile(Fname)
Response.Flush()
Response.Close()
System.IO.File.Delete(Fname)
Catch ex As Exception
lblMessage.Visible = True
lblMessage.Text = "Error Load<br>" & Convert.ToString(ex)
End Try
Edited by: LaShandra Knox on Sep 17, 2008 7:59 PM -
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
SamGo to CMC
Go to your CR
Right-click and select database configuration
Hardcode logon credentials
This should solve your issue.
Regards,
Rohan -
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 SubPost 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.
DanThanks 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.) -
Crystal Runtime exception: Missing parameter values
Our company did a PeopleTools upgrade at one of our clients recently. We upgraded them to PeopleTools 8.50.08. We had to convert all the Crystal Reports to the 2008 format using the RPT converter which is included in the Client install of PeopleTools.
The only problem now is that a lot of the Crystal processes in PeopleSoft are failing with the following error:
Crystal Runtime exception: Missing parameter values.
I've checked the parameters which are being passed to the report and I see both parameters are filled:
E:\HR881\BIN\CLIENT\WINX86\PSCRRUN.EXE -CTORACLE -CDHRMKPDEV -COPSDUT -CPOPRPSWD -I218609 -RP"PUP202K" -OT6 -OP"G:\PS\PSPRCS\log_output\HRMKPDEV\CRW_PUP202K_218609" -LGDUT -OF2 -ORIENTL "2000-10-01" "2002-06-30"
Database type is Oracle. HRMS version is 8.8. I can run the Query which gets the data in just fine and I can also run the report from Crystal fine. This only happens with Crystal reports which have a date field as a parameter/prompt in the report.
There's currently an SR open at Oracle, but I was hoping that someone here can help me nail this issue. I'm not too happy with the quallity of Oracle support, but that's a whole different story.<s>Just to be sure, did you put a space after each parameter name or is it a typo over here ?
E:\HR881\BIN\CLIENT\WINX86\PSCRRUN.EXE -CT ORACLE -CD HRMKPDEV -CO PSDUT -CP OPRPSWD -I 218609 -RP "PUP202K" -OT 6 -OP "G:\PS\PSPRCS\log_output\HRMKPDEV\CRW_PUP202K_218609" -LG DUT -OF 2 -OR IENTL "2000-10-01" "2002-06-30"</s>
Nicolas.
sorry, it was wrong assumption.
Edited by: N Gasparotto on Jun 2, 2010 5:11 PM -
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 -
Error: Missing Parameter Values on
I've started experiencing the "Missing Parameter Values" error on a report containing a subreport. All of my other reports can export just fine, but just not the one with the subreport. The report (and the subreport) both use a stored procedure to retrieve their data, with 4 parameters. The first three parameters are linked directly from the report to the subreport. The 4th parameter is optional, and is linked to the subreport with a Formula Field.
When I delete the subreport, the report exports just fine, so the issue is definitely with the subreport ?configuration?
I'm using Visual Studio 2005, with Crystal Reports for VS 2005. I've been searching the forums, and I downloaded and installed a package: crnet20win32x86_en_chf.zip, but it didn't solve my problem. Just to be sure, I restarted and installed it with nothing running, in case that could be a factor.
Is there anything I can do to work through this? Any other fix I'm missing?
Thanks
AlexThanks for the tip. I did that just now, and I found the [Hot Fix|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333233313339333533393334%7D.do]
That particular Hot Fix describes my situation exactly, in that a report Stored Procedure parameter is "supposed" to be passed on to the Subreport. However, the Hot Fix describes prompting, which isn't occurring in my case, since I'm exporting the report entirely in code. My situation is just the error, Missing Parameter Values.
In any case, I've already run that entire Hot Fix package (twice), and I've found that I have 2 of the crpe32.dlls. Neither one is the version specified in the Hot Fix, (Version 10.2.0.1256). The second dll listed below seems to be of a version prior to the Hot Fix, I don't know if it could be the reason why it still doesn't work after applying the Hot Fix.
C:Program FilesCommon FilesBusiness Objects2.7Bin (Date 1/11/2007, version: 10.2.0.1624) and
C:Program FilesCommon FilesCrystal Decisions2.5Bin (Date 10/5/2005, version: 10.0.5.1177).
I've checked all the versions of references in my projects, and they all reference the 2.7 dlls, but I'd like to know if there is a way to replace the 2.5 version, just in case.
As far as the other search results, they hinted at things I've already tried. What else can I try?
Thanks,
Alex -
Error Missing parameter values - I get this in 11g app server only
Hi.. I had an application in JSP-Struts, previously on 10g app server. I now migrated the code into 11g.
I get the error on CrystalViewer.jsp
Error
Missing parameter values
Steps that lead up to the error:
The very first time anyone enters the application and clicks a submit button on the jsp, after entering data and/or picking from drop menus, the error shows up on a separate page (thrown by crystalViewer.jsp)
When I get this error, and click the browsers back button, and simply click the submit button on the jsp screen again, the reports work fine (like they do in 10g).
Tried the following:
I used log4j and followed the data as it made its way from Struts to Crystal Factory. But once it gets out of Struts, and forwards to Crystal, I receive the error from the CrystalViewer.jsp
Next, I removed code in struts-action, that used crystal factory to 'set parameter', and didnt send any parameters, letting my crystal report bring back some random records.. And this works even the first submit! So the problem is only when I have to send parameters to crystsl
Additional info:
I do not send any null values across, since I read on these forums that folks were having issues with setting nulls etc... I check for null and then force 'All' in the parameter if the user does not enter data or pick from the drop-down.
I need help resolving this . Thanks and have a great day.
(Are there any changes to be made to the Struts config, or any additions to Web.xml? Should Crystal reports be changed in anyway so they can function like they did in 10g?)The Crystal SDK doesn't know or care that you're using Struts.
The exception is stating you're not setting parameters.
So wherever you're trying to set parameters, whatever's reaching the viewer don't have them set.
Why not trace the workflow to see what's where?
Sincerely,
Ted Ueda -
ReportDocument.Export() raises "Missing Parameter Values" exception
Hi
Recently I encountered a question about SAP Crystal Report that I have a rpt file with several sub reports and I am required to make the data source to be XML with http/https URLs. I created different .NET pages which returns XML stream as data source for both main report and sub reports in my rpt file, and also created a sub report links which pass dynamic parameters from main report to the sub reports, everything worked fine when I entered the necessary parameters only for the main report in the design tool, both the main report and sub reports displayed perfectly.
But it did not work in my .NET application which export the reports to PDFs, I referenced “CrystalDecisions.CrystalReports.Engine” and some other necessary DLLs into my project, and then I created an instance of ReportDocument, loaded the rpt file, set parameters which used in the main report, set connection info, and at last when I export the report it throw out an exception with “Missing Parameter Values” error message, even though I removed the sub report links which pass parameters from main report, the exception still occurred, but when I removed all the sub reports, and only export the main report it worked!!
Here is a result of my attempts:
Main Report
Sub Report
Result
1
With XML data source
No report
Works fine with dynamic parameters set to the http/https url which returns an xml results
2
With XML data source
Pass a static value and print it on the report
Works fine.
3
With XML data source
Create a SQL command WITHOUT any parameters passed from main report
Works fine
4
With XML data source
Create a SQL command WITH a dynamic parameter passed from main report
Works fine
5
With XML data source
Create a xml data source WITHOUT any parameters passed from main report
Failed with "Missing Parameter Values"
6
With XML data source
Create a xml data source WITH a dynamic parameter passed from main report
Failed with "Missing Parameter Values"
I am confused about this issue for a few days, is there any ideas or helps? many thanks!OK:
We upgraded to CR 13.0.2000.0 and Visual Studio 2012 and .Net Framework 4.5.
Problem still happens.
When we display the report in the designer, the url has parameters. Here are the IIS log entries:
2014-05-01 18:24:56 192.168.251.10 GET /quotit/apps/leadspro/CrystalServiceGateway_test.aspx @IFPPSID=1899582751211388&@styleColorScheme=10511658/13343077/10511658/13343077/16777215/15720656/16777215/15720656/24831/13426687|10511658/16777215/16777215/16777215/0/0/0/0/0/0 80 - 10.16.26.44 Java/1.6.0_37 200 0 0 959
2014-05-01 18:24:56 192.168.251.10 GET /quotit/apps/leadspro/CrystalServiceGateway_test2.aspx @BrokerID=23433176 80 - 10.16.26.44 Java/1.6.0_37 200 0 0 742
When we use the crystaldecisions.crystalreports.engine, no parameters are passed. Here are the IIS log entries:
2014-05-01 18:22:28 192.168.251.10 GET /quotit/apps/leadspro/CrystalServiceGateway_test2.aspx - 80 - 10.16.26.44 Java/1.7.0_45 200 0 0 58
2014-05-01 18:22:28 192.168.251.10 GET /quotit/apps/leadspro/CrystalServiceGateway_test.aspx - 80 - 10.16.26.44 Java/1.7.0_45 200 0 0 115
I cannot attach the rpt file here. If you need it, please let me know how to get it to you. I am attaching a screenshot of the datasource location. I am pasting in the striped down .NET code. Any help or pointers would be greatly appreciated.
Thanks,
Tom
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.IO;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Collections;
namespace CrystalTest
class Program
static void Main(string[] args)
string source = Path.Combine(@"C:\Users\thomas\Desktop\reports\eProIFP\iProReports", "summaryReportByPremium_ACA_UltraColor.rpt");
string destination = Path.Combine(@"C:\Users\thomas\Desktop\testReports", "output.pdf");
if (File.Exists(destination))
File.Delete(destination);
ReportDocument rptDoc = new ReportDocument();
if (File.Exists(source))
rptDoc.Load(source);
rptDoc.SetParameterValue("@IFPPSID", "1899582751211388");
rptDoc.SetParameterValue("@styleColorScheme", "10511658/13343077/10511658/13343077/16777215/15720656/16777215/15720656/24831/13426687|10511658/16777215/16777215/16777215/0/0/0/0/0/0");
rptDoc.SetParameterValue("@testID", "1");
CrystalDecisions.Shared.TableLogOnInfo logOnInfo = new CrystalDecisions.Shared.TableLogOnInfo();
foreach (CrystalDecisions.CrystalReports.Engine.Table objTable in rptDoc.Database.Tables)
logOnInfo.ConnectionInfo.IntegratedSecurity = true;
objTable.ApplyLogOnInfo(logOnInfo);
ExportOptions CrExportOptions = new ExportOptions();
DiskFileDestinationOptions crDiskFileDestinationOptions = new DiskFileDestinationOptions();
crDiskFileDestinationOptions.DiskFileName = destination;
CrExportOptions = rptDoc.ExportOptions;
CrExportOptions.DestinationOptions = crDiskFileDestinationOptions;
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
rptDoc.Export(); -
"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 in stored procedure
Hi all,
I am new to Crystal Report, and I am facing this situation:
a file .rpt reporting results of a sql server stored procedure, which takes one parameter in input.
This .rpt is invoked by an .net web service, via libraries, passing the parameter.
Now I evolved this stored procedure by adding a new parameter. Each of the two parameter is optional; the stored
procedure returns correctly formatted data with one parameter, the other one, both or none.
Then I adapted the .rpt file so that it can manage the updated stored procedure, via "Verify Database" istruction.
Also the .rpt has obviously two input parameters now, with a default value.
The problem is, the web service acting as handler gives the error "Missing parameter values", because actually it is passing still
one parameter.
If I update the web service code by passing both parameters, even with null value, it works, but for internal reasons I can't deploy
this updated code now
So, there is a way by modifying the .rpt using a stored procedure with two parameters, to make the invocation successfully even with one input parameter ?
The missing parameter would have, in the execution logic now, value null or default; it could fit for me.
Thanks in advance to everyone who will give advice!Thanks Don for your answer.
Unless you change the SP so it has the logic to accept only one value which depends on the parameter type, if they are both strings for example then your SP can use logic the determine what/which param to fill and null the other one.
What do you mean? Now if I call my stored procedure from SQL Server management studio with this command
EXEC [dbo].[StoredProcedureForCR] @FirstParameter = 2
so, passing only the first parameter, I have no error.
Which improvements to the SP are you suggesting?
If I modify the web service, the CR is working, but I cannot deploy it in production for internal reasons related to the company
Now I am planning these attempts:
- calling the stored procedure via a command
- creating in sql server a view and then filtering results in the report
Do you think they could make sense ?
Have a nice monday!
Lidia
Maybe you are looking for
-
Anyone know how to Restore iTunes Library from External HD
My PC won't even turn on anymore. But luckily, I have most of the iTunes Library backed up in an External HD. Now, I've searched and can't find instructions from Apple on how to Restore the Library while keeping all the Playlists, Ratings, and all th
-
How to Add New Domain To Available Domans List Under General Parameters
On the SMTP Inbound Server configuration page how does one add a domain to the list of local available domains? It appears to only give me a choice of my current domain and then a "com" domain.
-
Nokia n8 dont upgrade to latest software
hi there i m from canada and got nokia from rogers the nokia website shows updates available but my phone dont find anything to update whts wrong with my phone i m using 013.016 software version n it has alot of problems i want to upgrade to latest s
-
View/modify catalog is inactive
hello, I added an asset hours ago, and since then the option "view/modify catalog is inactive" is still not accessible. What am I missing? -- Nick
-
Why won't QuickTime player play avi files?
Suddenly, QuickTime player on my MacBook won't play AVI files. Any ideas? Thanks.