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
Alex
Thanks 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
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
ChrisI 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 -
Error Missing Parameter Values
I am very inexperinced in VB and ASP.Net.
That being said I have used forums and tutorials to develop the code below.
In the code I have hard coded some values to be passed to the report for testing...see num_inv and ser_inv.
When I run the code I get an error "Missing Parameter Values".
If I remove the lines that setparamervalues and turn on the enableparamaterpromt the report works fine and I can manually enter the values and see my completed report.
More Details...
The Crystal Report uses an ODBC connection to a SQL Server. I am only using one view to feed the report and there are no subreports. I am buidling the web app in VS2010 with the crystal reports version for VS2010 installed.
Dorry if I didn't give enough information...I don't know what else is relavant.
Any help would be greatly appreciated!
Private Const PARAMETER_FIELD_NAME_1 As String = "Invoice"
Private Const PARAMETER_FIELD_NAME_2 As String = "Serial"
Private Sub WebForm2_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
ConfigureCrystalReports()
End Sub
Private InvoiceReport As ReportDocument
Private Sub ConfigureCrystalReports()
Dim num_inv As Integer
Dim num_ser As Integer
num_inv = 880822
'Request.QueryString("inv")
num_ser = 1
'Request.QueryString("ser")
InvoiceReport = New ReportDocument()
Dim reportPath As String = Server.MapPath("S36 Invoice.rpt")
InvoiceReport.Load(reportPath)
InvoiceReport.SetParameterValue(PARAMETER_FIELD_NAME_1, num_inv)
InvoiceReport.SetParameterValue(PARAMETER_FIELD_NAME_2, num_ser)
CrystalReportViewer1.ReportSource = reportPath
End SubI would start by enabling the parameter prompt and passing the parameters in code. You will only be prompted for the parameters that did not receive an acceptable value. This will let you see if your code to set the values is working for one or neither of your parameters. Calling the setparametervalues method will not return an error if the value isn't accepted.
Also, make sure your datatype is the same as defined in the report, and make sure you have no differences in the parameter names. Note, if the parameters are automatically created in the report because they came from a stored procedure, you need to include the @ symbol in the name as you see in the designer. -
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 -
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 Shi,
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 -
"Missing parameter value" error on autoprinting with CR layout
Hi all, i had recently run into the following:
document layouts that work perfectly from preview and after adding a document, dont work if the document is auto printed on add.
Gives an error:
missing parameter value
And in system messages log:
Error during printing: ensure all parameter values are defined.
With only @dockey token present in the layouts (so no other parameter).
What makes me wonder is that this doesn't happen to all the layouts, most of them works perfectly the same way (only dockey parameter, autoprint is set etc.) but the stock related documents do this on add.
Any ideas?
I found a likely issue in note 1466274 but it's listed as fixed in 8.8 PL 13, we are on PL 15. Could reproduce on PL 18.
Thanks and regards.
DanielHi Gordon.
I could reproduce on the test copy of the db even on different patch levels.
Can this be the almost same issue as stated in the note? I mean same code problem but at another point?
Yesterday i found another example:
uppon exiting the dunning wizard with print and exit option allmost the same error. The difference is that beforehand the same error messages one pops up with the following:
title:Crystal Reports Windows form viewer
"A report application server meghibásodott." (this is even with sap b1 gui langugage set to english)
"The Report application server crashed/broke down(?)"
Will try to test it on the demo database now..
Any ideas?
Thank you.
Regards.
D
Edited by: Daniel Omaisz Takacs on Feb 1, 2011 9:09 AM -
"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 -
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 initial value for session parameter
Hi,
I'm facing a problem while running the ETL process for Complete 11.5.10 Execution Plan in DAC Client. Some tasks are getting failed beacuse of the following error:-
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: VAR_27026 [Error: Missing initial value for session parameter:[$DBConnection_OLAP].].
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: CMN_1761 [Timestamp Event: [Mon Nov 19 21:01:52 2007]].
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: TM_6270 [Error: Variable parameter expansion error.].
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: CMN_1761 [Timestamp Event: [Mon Nov 19 21:01:52 2007]].
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: TM_6163 [Error initializing variables and parameters for the paritition.].
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: CMN_1761 [Timestamp Event: [Mon Nov 19 21:01:52 2007]].
ERROR : TM_6292 : (5080|4064) Session task instance [SDE_ORA_Product_Category_Derive_Full]: TM_6226 [ERROR: Failed to initialize session [SDE_ORA_Product_Category_Derive_Full]].
ERROR : LM_36320 [Mon Nov 19 21:02:08 2007] : (2108|2632) Session task instance [SDE_ORA_Product_Category_Derive_Full]: Execution failed.
When i checked the parameter file i can see the value assigned to the $DBConnection_OLAP. The same tasks ran successfully when i ran the ETL process for Complete 11.5.10 for the first time. I did not change anything after that and also all these are came built-in with the installation of Oracle BI Applications.
Please anyone give me an idea what is causing the problem.
Thanks,in DAC > Run History > Task Details, query
Name = SDE_ORA_Product_Category_Temporary
Open Status Description, look for string -lpf, the file after it is the actual parameter file DAC send to INFA server. E.g
-lpf D:\DACTOPUS\Informatica\parameters\SDE_ORAR12_Adaptor.SDE_ORA_Product_Category_Temporary.txt
Open the parameter file, most likely the [session_name] does not match with SDE_ORA_Product_Category_Derive_Full or some parameters are missing. -
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 -
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 on Export
Hi,
I am getting "Missing Parameter Values" error if all required parameter values are not passed in the report through application. Same error is not coming when all the parameters are passed.
And parameter window also not displaying if all parameters are not passed to the report for export option. (Parameter window displaying on preview option if all the parameters are not supplied).
I have tried both Report Viewer's ExportReport function & ReportDocument's Export function. But both are results same.
Software details:
Crystal Report created in Version: 10.0.0.533
.Net 2005
10.2 Crystal component. Crystal Runtime Version - v2.0.50727 and DLL Version - 10.2
Please help me to resolve this issue.
Thanks,
Venkateswaran.PGiven example is not working as expected.
1) Calling of ExportReport() function invokes the file Save As window to save the exported file eventhough exported path & file name supplied in the program.
2) After accepting the output file name, "Missing parameter values" error coming instead of displaying Crystal's Parameter window.
Below is the piece of code to export the output. I am calling Export() function if all the parameters are supplied by the application otherwise i am calling Viewer's ExportReport() fuction. Please have a look and let me know if any code change is required.
ReportDocument crRepDocument;
String m_strExportPath;
Boolean bUseRepViewExport = false;
if( crRepDocument.ParameterFields.Count > 0 )
if (m_Parameters.Count < crRepDocument.ParameterFields.Count)
bUseRepViewExport = true ;
ExportOptions crExportOptions;
DiskFileDestinationOptions crDiskFileDestinationOptions;
crDiskFileDestinationOptions = new DiskFileDestinationOptions();
crExportOptions = crRepDocument.ExportOptions;
if (base.m_ExportFormat == eExportFormat.RTF)
crDiskFileDestinationOptions.DiskFileName = base.m_strExportPath + ".rtf";
crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
crExportOptions.ExportFormatType = ExportFormatType.RichText;
crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
else if (base.m_ExportFormat == eExportFormat.PDF)
crDiskFileDestinationOptions.DiskFileName = base.m_strExportPath + ".pdf";
crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
else if (base.m_ExportFormat == eExportFormat.DOC)
if (bUseRepViewExport) //If all the parameter are not supplied. I calling Viewer
FormReportViewer oFormReportViewer = new FormReportViewer();
oFormReportViewer.CrystalReportViewer.ReportSource = crRepDocument;
oFormReportViewer.CrystalReportViewer.ExportReport();
return true;
else
crRepDocument.Export(); //
return true; -
Missing Parameter values - Error
Post Author: Shayari
CA Forum: .NET
Hello,
There is a main report,from which we pass the parameters to the subreport.The subreports parameters are the stored procedure's input parameters which are created when the SP is included as the datasource.When we integrate the master .rpt file with the C# application it throws a error saying "Missing parameter values" at the exporting line in the code. .We also get an error when we try to 'Verify database' for the subreports in the CRXI UI. The errror states "Prompting failed with the following error message Error source: Error code 0*8000FFF". This error occurs when in "Change the Subreport links" we update the "Subreport parameter fields to use" to match with the input parameters of the subreport's SP.
We are using Crystal reports XI with Visual Studio 2005.
Any help is much appreciated.Thank you.
Regards,
Shayari2 Things:
1) CRXI is not compatible with VS2005. You need to upgrade to CRXIR2.
2) You need to pass the parameters to the report before exporting the report, as Crystal need to get the report data and then exports it. It will not prompt for parameters as we are not viewing it.
But before all this you need to make sure that you can view the report in Designer properly. Because once the report works fine in designer we can concentrate on the sdks and its working.
Hope it helps ! -
"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. -
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.)
Maybe you are looking for
-
When I launch Photoshop CC 2014 and then open a .nef raw file it launches Adobe Camera Raw and I click Open Image, then I "Convert to Smart Object" then launch Filter > Camera Raw Filter. Is there a preference somewhere for raw files that just bring
-
Most of the publications I create in InDesign are 4-8 pages and it's easiest for me to just use a template that contains a cover page, inner pages, and a back cover all in one ID file. Occasionally, I need to make larger books (rarely more than a com
-
How can I compile and run other java classes from within an application?
Hello there everyone! I really hope that someone can help me. I am writing a program that must be able to compile and run other java classes that are in different files, much like development environments like Kawa or Forte allow you to do. There has
-
Monitoring manually using scripts/sql cmds to find the recent changes on Oracle Database
Hello All, I have an Oracle database running on HP Open VMS Alpha server, need to monitor the actvities and changes made to the database. I am not sure of any tools which supports HP Open VMS alpha server, Can you help with the scripts or commands to
-
I now get the blue screen after apple update
Hi, After spending the last 2 hours searching im still no better off! OK so today my system update thing pops up and says i should download and install itunes 7.1.1 and and apple update which i belive was 10.4.9 but i could be mistaken on that. Anywa