Thursday, 19 December 2013

SSRS "Parameter is missing a value" error running a customized report in Microsoft Dynamics AX 2012

A Microsoft Dynamics AX 2012 report with a new parameter added to the contract may fail with the following error:
The 'ParameterName' parameter is missing a value
For example:
The 'SalesPackingSlipHeaderDS_FromDate' parameter is missing a value

This error is thrown because no value is provided for the parameter in the contract while it is required. To make the parameter optional the following properties of the parameter need to be set to True:
Allow Blank       True
Nullable            True
These properties are set to False by default when they are first created in Visual Studio. New parameters may be also created when a dataset of a standard report is refreshed. We have seen this with reports modified in Cumulative Update 3 where new parameters were added to some contracts. Since they are also created with the default settings they need to be modified manually to be treated as optional parameters.

In a few cases, however, we observed that modifications to these properties are not populated to the report server as expected. It may be related to some caching issue. One of the following methods may help to resolve it:

Method I.
Force the update of the properties by renaming the parameter
1. Open the report for editing in Visual Studio.
2. Expand the Parameters node and rename the affected parameter to ParameterName1.
3. Set Allow Blank and Nullable to True if not already set.
4. Deploy the report.
5. Rename the parameter back to ParameterName.
6. Deploy the report.

Method II.
Recreate the parameter in Visual Studio and set the properties as required before deploying the report
1. In AOT, expand the SSRS Reports node, expand the Reports node and locate the report.
2. Right click on the report and select Delete. This will remove all customizations to the report from the current model/layer so make sure you create a backup if you think you might want to return to them.
3. Right click on the report and select Deploy element. You should now be at the point where you did not receive this error.
4. Open the report for editing in Visual Studio and refresh the dataset. The parameter will be created under theParameters node. Do not deploy the report at this point.
5. Set Allow Blank and Nullable to True.
6. Deploy the report.

Method III.
Modify the properties of the parameter editing the report in the Reporting Services Report Manager

1. Open the report for editing in Visual Studio.
2. Expand the Parameters node and locate the affected parameter.
3. Set Allow Blank and Null able to True if not already set.
4. Deploy the report.
5. Open Reporting Services Report Manager, in the Parameters properties page of the report, verify that has default and Null check boxes is selected for the affected parameter.
6. Press Apply to save any changes.


No comments:

Post a Comment