Wednesday, January 16, 2013

Intermittent SSRS report error: System.Security.Permissions.EnvironmentPermission when running reports for the first time

Just today I had an issue with Dynamics AX 2012 SSRS report when running reports for the first time. It sometimes came up with this error:
"The DefaultValue expression for the report parameter ‘AX_CompanyName’ contains an error: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. (rsRuntimeErrorInExpression)"

Then I've found a helpful blog that seems to explain the same issue in http://blogs.msdn.com/b/axsupport/archive/2012/02/02/microsoft-dynamics-ax-2012-reporting-extensions-error-system-security-permissions-environmentpermission-while-running-report.aspx

So basically I need to make some changes in the rssrvpolicy.config to change the permission set name from Execution to FullTrust and then restart the SSRS service.

You can find the rssrvpolicy.config file in:


  • If you are using SQL Server 2008, the default location of this file is: \Program Files\Microsoft SQL Server\MSRS10.[SSRSInstanceName]\Reporting Services\ReportServer
  • If you are using SQL Server 2008 R2, the default location of this file is: \Program Files\Microsoft SQL Server\MSRS10_50.[SSRSInstanceName]\Reporting Services\ReportServer
  • If you are using SQL Server 2012, the default location of this file is: \Program Files\Microsoft SQL Server\MSRS11.[SSRSInstanceName]\Reporting Services\ReportServer



<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="Report_Expressions_Default_Permissions"
Description="This code group grants default permissions for code in report expressions and Code element. ">

Sunday, December 23, 2012

AX 2012 - Changing ledger/default dimensions lookup

If you ever want to change the lookup on AX 2012 ledger/default dimensions, these are 2 places that you will need to change:

  • Form DimensionDefaultingLookup for default dimension lookup
  • Class LedgerDimensionController.restrictQueryDimensionAttributeValues for ledger dimension lookup

Management Reporter 2012 RU3 with Dynamics AX 2012 - failed integration due to dimension totalling function

I've just recently done an installation of recently released Management Reporter 2012 RU3 with Dynamics AX 2012 CU3 using DataMart and has bumped into a known Management Reporter issue.

The issue will prevent Management Reporter to actually complete the initial integration with Dynamics AX 2012. If I take a look at the DataMart integration log, there is an error entry that says:
[AX 2012 Dimension Values to Dimension Value] has encountered an error. Processing will be aborted. Error text: Exception of type 'Microsoft.Dynamics.Integration.Service.Tasks.IncompleteResultException' was thrown.

Basically this version of Management Reporter cannot work together with a feature in Dynamics AX 2012 to "calculate total from multiple dimension values". You can check this from GL > Setup > Financial Dimensions  > Financial dimension values [button]. Please note that all the dimension values must not have the "calculate total from multiple dimension values" checkbox ticked and also there should not be any totals set up for any of the dimension values.

You can run this SQL script to check if you might have the issue:
select DIMENSIONATTRIBUTEVALUE, COUNT(DIMENSIONATTRIBUTEVALUE) as DimCount 
from DIMENSIONATTRIBUTEVALUETOTALLINGCRITERIA 
group by DIMENSIONATTRIBUTEVALUE 
order by DimCount desc 

If you have any entry with DimCount greater than 1, then you'll have the integration issue with this Management Reporter.

To solve the issue, you need to make sure that all of the dimension values have the "calculate total from multiple dimension values" checkbox un-ticked and you have no entry in DimensionAttributeValueTotallingCriteria table.
I have been told that the issue only affects the initial integration between Management Reporter and Dynamics AX 2012, meaning you should be able to use the dimension value totalling function from AX once you've done the initial integration.